查看: 1075|回复: 9

[使用文档] [Arduino物联网开发实战5]云端历史数据存储与查看

[复制链接]
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-4-12 11:23 | 显示全部楼层 |阅读模式
    blinker提供了历史数据存储与图表查看数据的功能。
    设备端开发
    在blinker的设计下,设备端数据存储极其简单易用的,只需两步,即可开启历史数据存储功能。
    1.关联回调函数,开启历史数据存储功能


    2.在回调函数中,设定要存储的键名和值

    kittenblock中小学创客名师推荐的图形化编程软件

    
    void dataStorage() {
        Blinker.dataStorage(key, value);
    }

    完成以上设定后,设备将每分钟存储一次数据。

    你可以通过Arduino IDE>示例>blinker>CLOUDDATA_WiFi查看上传随机数的示例。

    这里提供一个集成了天猫精灵的温湿度传感器示例:

    kittenblock中小学创客名师推荐的图形化编程软件

    
    #define BLINKER_WIFI
    #define BLINKER_ALIGENIE_SENSOR
     
    #include <Blinker.h>
    #include <DHT.h>
     
    char auth[] = "xxxxxxxxxxxx";
    char ssid[] = "xxxxxx";
    char pswd[] = "xxxxxx";
     
    BlinkerNumber HUMI("humi");
    BlinkerNumber TEMP("temp");
     
    #define DHTPIN D7
    //#define DHTTYPE DHT11   // DHT 11
    #define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)
     
    DHT dht(DHTPIN, DHTTYPE);
     
    float humi_read = 0, temp_read = 0;
     
    void heartbeat()
    {
        HUMI.print(humi_read);
        TEMP.print(temp_read);
    }
    
    void dataStorage()
    {
        Blinker.dataStorage("temp", temp_read);
        Blinker.dataStorage("humi", humi_read);
    }
    
    void aligenieQuery(int32_t queryCode)
    {
        switch (queryCode)
        {
            case BLINKER_CMD_QUERY_ALL_NUMBER :
                BLINKER_LOG("AliGenie Query All");
                BlinkerAliGenie.temp(temp_read);
                BlinkerAliGenie.humi(humi_read);
                BlinkerAliGenie.print();
                break;
            case BLINKER_CMD_QUERY_TEMP_NUMBER :
                BlinkerAliGenie.temp(temp_read);
                BlinkerAliGenie.print();
                break;
            case BLINKER_CMD_QUERY_HUMI_NUMBER :
                BlinkerAliGenie.humi(humi_read);
                BlinkerAliGenie.print();
                break;
            default :
                BlinkerAliGenie.temp(20);
                BlinkerAliGenie.humi(20);
                BlinkerAliGenie.print();
                break;
        }
    }
     
    void setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);
        BLINKER_DEBUG.debugAll();
        pinMode(LED_BUILTIN, OUTPUT);
        digitalWrite(LED_BUILTIN, LOW);
     
        Blinker.begin(auth, ssid, pswd);
        Blinker.attachHeartbeat(heartbeat);
        BlinkerAliGenie.attachQuery(aligenieQuery);
        Blinker.attachDataStorage(dataStorage);
        dht.begin();
    }
     
    void loop()
    {
        Blinker.run();
     
        float h = dht.readHumidity();
        float t = dht.readTemperature();
     
        if (isnan(h) || isnan(t))
        {
            BLINKER_LOG("Failed to read from DHT sensor!");
        }
        else
        {
            BLINKER_LOG("Humidity: ", h, " %");
            BLINKER_LOG("Temperature: ", t, " *C");
            humi_read = h;
            temp_read = t;
        }
     
        Blinker.delay(2000);
    }
    


    App端查看
    在blinker App 2.2.0版本起,增加了历史数据图表组件。
    QQ截图20190414122725.jpg

    添加组件后,将键名设置为程序中设定的键名,即可显示该键名对应的历史数据。
    效果如下:
    QQ截图20190414121239.jpg






    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    开心
    2019-4-14 10:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-4-14 10:57 | 显示全部楼层
    好像很厉害的样子

    该用户从未签到

    发表于 2019-4-17 10:10 | 显示全部楼层
    blinker App 2.2.0在哪下载呀

    点评

    https://www.arduino.cn/thread-85656-1-1.html  详情 回复 发表于 2019-4-17 11:43
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2019-4-17 11:43 | 显示全部楼层
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    擦汗
    2019-4-11 23:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-4-26 11:25 | 显示全部楼层
    能在线升级吗,我的是2.1.5

    点评

    https://www.arduino.cn/thread-85656-1-1.html  详情 回复 发表于 2019-4-26 11:55
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2019-4-26 11:55 | 显示全部楼层
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    开心
    2018-11-3 16:10
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-5-5 20:00 | 显示全部楼层
    请问下 程序里面dht.h库您这里有吗

    点评

    https://www.arduino.cn/thread-83176-1-1.html  详情 回复 发表于 2019-5-5 20:09
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2019-5-5 20:09 | 显示全部楼层
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    开心
    2018-11-3 16:10
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-5-6 19:32 | 显示全部楼层
    奈何col 发表于 2019-5-5 20:09
    https://www.arduino.cn/thread-83176-1-1.html

    非常感谢
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    开贴讲讲NRF24L01P,让你彻底搞懂它的工作原理,持续更...
    开贴讲讲NRF24L01P,让你
    *****************************************
    小白求助arduino源码如何使用
    小白求助arduino源码如何
    淘宝买了个六足机器人的源码 但是一打开就蒙了 完全看不懂啊,以前没接触过过arduino
    设计了一款智能加湿器,出现了一些控制上的问题
    设计了一款智能加湿器,出
    最近在学习blinker,就想着把手头的加湿器改装成智能加湿器,用了一块WiFiduino、一个
    有偿解答!!求大神带《指纹解锁杯》项目
    有偿解答!!求大神带《指
    想做一个职位解锁的杯子,通过指纹模块控制继电器锁头,从而控制杯子的锁死和开放的装
    【Arduino】37种传感器模块系列实验(29)---实时时钟模块
    【Arduino】37种传感器模
    37款传感器模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表