查看: 1181|回复: 7

[分享] 通过blinker获取BMP180气压传感器数据

[复制链接]
  • TA的每日心情
    奋斗
    2019-7-12 18:42
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-22 08:43 | 显示全部楼层 |阅读模式

    BMP180

    BMP180是当前最常用的气压传感器传感器之一,可以检测温度和气压,通过这两个数据还可以计算出当前海拔高度。

    之前的示例中展示了blinker获取DHT温湿度传感器的数据
    使用blinker结合DHT22
    这里再提供一个获取BMP180气压传感器数据的示例,方便大家更好的理解blinker设备端开发方法  

    硬件&接入方式

    开发板使用esp8266开发板,接入方式为WiFi接入
    BMP180为IIC传感器,连接到开发板IIC接口即可  

    驱动库

    本示例中使用的驱动库为Adafruit-BMP085-Library
    点击下载
    Github

    示例程序

    #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();
    }


  • TA的每日心情
    奋斗
    2019-12-11 03:29
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 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),  详情 回复 发表于 2019-11-29 20:17
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-11-29 20:17 | 显示全部楼层
    凝固勒水 发表于 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.readthed ... ml#i2c-wire-library
  • TA的每日心情
    奋斗
    2019-12-11 03:29
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2019-12-5 13:25 | 显示全部楼层
    奈何col 发表于 2019-11-29 20:17
    对于8266开发板
    I2C (Wire library)
    Wire library currently supports master mode up to approximately  ...

    谢谢回复,学习了~~

    该用户从未签到

    发表于 2020-3-5 08:26 来自手机 | 显示全部楼层
    你好!我按这程序、blinker APP上只显示温度、压力和高度都没有显示。数据健名设置都对的、请问是什么问题?谢谢

    该用户从未签到

    发表于 2020-3-5 09:59 来自手机 | 显示全部楼层
    气压要设置标准大气压,高度要设置成珠穆朗玛峰的高度,不知我的建议是否正确。

    该用户从未签到

    发表于 2020-3-5 10:00 来自手机 | 显示全部楼层
    wthjq 发表于 2020-3-5 08:26
    你好!我按这程序、blinker APP上只显示温度、压力和高度都没有显示。数据健名设置都对的、请问是什么问题 ...

    气压要设置标准大气压,高度要设置成珠穆朗玛峰的高度,不知我的建议是否正确。
  • TA的每日心情
    奋斗
    2019-7-12 18:42
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2020-3-5 18:47 | 显示全部楼层
    wthjq 发表于 2020-3-5 08:26
    你好!我按这程序、blinker APP上只显示温度、压力和高度都没有显示。数据健名设置都对的、请问是什么问题 ...

    添加调试组件,看看app是否收到数据,如果收到没显示,那就是你设置问题
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    用 PyQt GUI 界面下的旋钮控制舵机角度
    用 PyQt GUI 界面下的旋钮
    新人报道, 我想用 PyQt 下的 Dial 旋钮模块来控制舵机的角度。如果一切正常,这个 G
    blinker连接树莓派失败
    blinker连接树莓派失败
    错误原因如下图,想问一下大家这个该怎么解决?
    Python3接入Blinker失败
    Python3接入Blinker失败
    运行示例程序,只把auth换成真实的auth,就出现报错。 大佬们看一下这个是啥情况
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表