通过blinker获取BMP180气压传感器数据
# BMP180
BMP180是当前最常用的气压传感器传感器之一,可以检测温度和气压,通过这两个数据还可以计算出当前海拔高度。
之前的示例中展示了blinker获取DHT温湿度传感器的数据
[使用blinker结合DHT22](https://www.arduino.cn/thread-83176-1-1.html)
这里再提供一个获取BMP180气压传感器数据的示例,方便大家更好的理解blinker设备端开发方法
# 硬件&接入方式
开发板使用esp8266开发板,接入方式为WiFi接入
BMP180为IIC传感器,连接到开发板IIC接口即可
# 驱动库
本示例中使用的驱动库为Adafruit-BMP085-Library
[点击下载](https://github.com/adafruit/Adafruit-BMP085-Library/archive/master.zip)
(https://github.com/adafruit/Adafruit-BMP085-Library)
# 示例程序
```
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";
BlinkerNumber TEMP("temp"); // 温度
BlinkerNumber PRES("pres"); // 气压
BlinkerNumber ALTI("alti"); // 海拔
// Download Adafruit-BMP085-Library library here:
//https://github.com/adafruit/Adafruit-BMP085-Library
#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.print("millis", BlinkerTime);
}
void heartbeat()
{
TEMP.print(bmp.readTemperature());
PRES.print(bmp.readPressure());
ALTI.print(bmp.readAltitude());
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
Blinker.attachHeartbeat(heartbeat);
if (!bmp.begin()) {
BLINKER_LOG("Could not find a valid BMP085 sensor, check wiring!");
while (1) {delay(100);}
}
}
void loop()
{
Blinker.run();
}
```
这对应的SCL\SDA脚是什么呢? 凝固勒水 发表于 2019-11-29 18:51
这对应的SCL\SDA脚是什么呢?
对于8266开发板
I2C (Wire library)
Wire library currently supports master mode up to approximately 450KHz. Before using I2C, pins for SDA and SCL need to be set by calling Wire.begin(int sda, int scl), i.e. Wire.begin(0, 2) on ESP-01, else they default to pins 4(SDA) and 5(SCL).
https://arduino-esp8266.readthedocs.io/en/latest/libraries.html#i2c-wire-library 奈何col 发表于 2019-11-29 20:17
对于8266开发板
I2C (Wire library)
Wire library currently supports master mode up to approximately...
谢谢回复,学习了~~ 你好!我按这程序、blinker APP上只显示温度、压力和高度都没有显示。数据健名设置都对的、请问是什么问题?谢谢 气压要设置标准大气压,高度要设置成珠穆朗玛峰的高度,不知我的建议是否正确。 wthjq 发表于 2020-3-5 08:26
你好!我按这程序、blinker APP上只显示温度、压力和高度都没有显示。数据健名设置都对的、请问是什么问题 ...
气压要设置标准大气压,高度要设置成珠穆朗玛峰的高度,不知我的建议是否正确。 wthjq 发表于 2020-3-5 08:26
你好!我按这程序、blinker APP上只显示温度、压力和高度都没有显示。数据健名设置都对的、请问是什么问题 ...
添加调试组件,看看app是否收到数据,如果收到没显示,那就是你设置问题
页:
[1]