查看: 1155|回复: 7

[求助] esp8266温湿度

[复制链接]

该用户从未签到

发表于 2020-2-26 20:35 | 显示全部楼层 |阅读模式
我做了一个简单的温湿度计,就是用esp8266+DHT11+Blinker接入小爱同学,目前实现了。技穷的我还不满足于此,我想还是利用这写器材,当温度或者湿度达到某个阈值之后给我的微信发送消息。我在查看了微信官方文档之后发现可以接入微信,实现微信推送,示例是Blinker.wechat("HELLO BLINKER"),可是我代码不知道怎么写,求助各位developer!谢谢!我的代码是这样的:
[mw_shl_code=arduino,true]#define BLINKER_WIFI
#define BLINKER_MIOT_SENSOR   //小爱同学定义为传感器设备

#include <Blinker.h>
#include <DHT.h>

char auth[] = "478ff5e77704";    //设备key
char ssid[] = "CMCC-WnWH";         //wifi ssid
char pswd[] = "7awwwhza";     //wifi 密码
                                                                                                                                            
BlinkerNumber HUMI("humi");    //定义湿度数据键名
BlinkerNumber TEMP("temp");    //定义温度数据键名
  
#define DHTPIN 2      //定义DHT11模块连接管脚io2

#define DHTTYPE DHT11   // 使用DHT 11温度湿度模块
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);    //定义dht

float humi_read = 0, temp_read = 0;

void heartbeat()
{
    HUMI.print(humi_read);        //给blinkerapp回传湿度数据
    TEMP.print(temp_read);        //给blinkerapp回传温度数据
}

void dataStorage()
{    Blinker.dataStorage("temp",temp_read);
     Blinker.dataStorage("humi",humi_read);
}

void miotQuery(int32_t queryCode)      //小爱同学语音命令反馈
{
    BLINKER_LOG("MIOT Query codes: ", queryCode);

            int humi_read_int=humi_read;     //去掉湿度浮点
            BlinkerMIOT.humi(humi_read_int);     //小爱接收湿度
            BlinkerMIOT.temp(temp_read);      //小爱接收温度
            BlinkerMIOT.print();

}



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);
    //BlinkerMIOT.attachQuery(miotQuery);
    Blinker.attachDataStorage(dataStorage);
    dht.begin();
    BlinkerMIOT.attachQuery(miotQuery);
}

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);
}[/mw_shl_code]
  • TA的每日心情
    郁闷
    2020-5-9 23:03
  • 签到天数: 201 天

    [LV.7]常住居民III

    发表于 2020-2-27 00:08 | 显示全部楼层
    [mw_shl_code=arduino,true]定义一个常量:温度阀值
    #define wd 25
    在loop中加入以下代码
    if(h >= wd) Blinker.wechat("温度过高!当前温度为:",h);[/mw_shl_code]

    该用户从未签到

     楼主| 发表于 2020-2-27 10:59 | 显示全部楼层
    Creeper666 发表于 2020-2-27 00:08
    [mw_shl_code=arduino,true]定义一个常量:温度阀值
    #define wd 25
    在loop中加入以下代码

    ,谢谢指点。试过了,还是不行
  • TA的每日心情
    郁闷
    2020-5-9 23:03
  • 签到天数: 201 天

    [LV.7]常住居民III

    发表于 2020-2-27 12:00 来自手机 | 显示全部楼层
    roohom 发表于 2020-2-27 10:59
    ,谢谢指点。试过了,还是不行

    你的微信绑定了吗?

    该用户从未签到

     楼主| 发表于 2020-2-27 16:05 | 显示全部楼层
    Creeper666 发表于 2020-2-27 12:00
    你的微信绑定了吗?

    绑定了的,而且Binlker.wechat()示例里只允许字符串或者数字,不能带参,修改后还是不行。

    该用户从未签到

    发表于 2020-5-7 18:26 | 显示全部楼层
    请问楼主解决了吗,我目前也是跟楼主类似的情况

    该用户从未签到

    发表于 2020-5-14 21:04 | 显示全部楼层
    测试一下,看能不能实现
  • TA的每日心情
    奋斗
    2020-5-22 12:09
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2020-5-21 18:39 | 显示全部楼层
    老哥,能把你之前实现了的程序发一下吗,这里还是个新手。。。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    求助,用l298n模块控制电机转速,老是无缘无故的转动怎么...
    求助,用l298n模块控制电
    代码如下:int state1=0; int state2=0; void setup() { pinMode(9,OUTPUT); pinMode(
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    绑定github账号,免费增加设备额度
    绑定github账号,免费增加
    免费增加blinker设备额度的方法: 1.登录点灯管理台( https://admin.diandeng.tech/
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表