900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > ESP8266-NodeMCU项目(二):ESP8266-NodeMCU+Blinker+DHT11+小爱同学

ESP8266-NodeMCU项目(二):ESP8266-NodeMCU+Blinker+DHT11+小爱同学

时间:2018-12-10 15:52:17

相关推荐

ESP8266-NodeMCU项目(二):ESP8266-NodeMCU+Blinker+DHT11+小爱同学

错开の折腾经历:ESP8266 NodeMCU

文章目录

前言一、Blinker1、Blinker——点灯科技特性:blinker应用场景:二、任务开始1.实验材料2.安装库文件3.安装Blinker_APP并配置设备4.代码环节5.接入米家、小爱同学三、测试效果总结

前言

经过上一项目,以及后来的学习,俺感觉可以入手新的项目辽。

So,就突然有了个 idea:身边不但有个ESP8266-NodeMCU(可以上网的板),还有个DHT11传感器,就想看看能不能数据上云,这个也是前期学习的一个重要方向,然后就开始网上冲浪找资料,不经意间触发了我的小爱同学(emmm,可能是误触,自己跑出来,吓一跳),突然就有个想法,温湿度传感器接入米家、小爱同学。折腾嘛,就是怕你没idea,有的话就可以尽情折腾了。说干就干。。。。。。


滴滴:以下是本篇文章正文内容

一、Blinker

1、Blinker——点灯科技

官网:点我传送

Blinker是一套专业且易用物联网解决方案,提供了服务器、应用、设备端sdk支持。 基于高性能异步框架开发的服务器端可以承载大量设备连接,让设备所有者方便的进行设备管理;简单便捷的应用配合多设备支持的sdk,可以让开发者在3分钟内实现设备的接入。 点灯服务有三个版本,社区版开源且免费,让大家可以体验到点灯方案的特点和优势;云服务版提供更多增值服务与功能,且有效降低客户的项目实施成本,让客户更快的进行物联网升级;商业版可进行独立部署,可以满足客户更多样的需求;

blinker支持多种主流通信方式,如:蓝牙 、 WiFi ,理论上只要是支持蓝牙或者WiFi的设备,都可以使用blinker连接。(✪ω✪) (小白大爱)

特性:

其由服务器端、app端、设备端组成,可以部署到几乎所有物联网平台

app端支持ios、android

设备端可以使用蓝牙、WiFi、MQTT等方式接入,支持Arduino、freeRTOS、mbed OS、Linux等开发平台

服务器端可以部署到阿里云、腾讯云、OneNET、百度云、AWS、google cloud等平台

通过界面布局器,免费版用户可自己拖拽布局设备控制界面,自由打造您的物联网设备

通过专属SDK,专业版用户可以使用Blinker开发自己的产品,并用于商业用途

blinker应用场景:

快速开发物联网 / 智能家居 / 无线遥控项目;手机 / 语音助手 控制设备;蓝牙ble / 局域网WiFi / 远程MQTT 接入设备;设备联动交互;数据采集分析 / 数据可视化;

二、任务开始

1.实验材料

老朋友:ESP8266-NodeMCU板子

温湿度传感器:DHT11

杜邦线、usb线

pc(Arduino IDE)、手机(安装blinker_APP、米家、小爱同学)

特写:

2.安装库文件

安装blinker库文件:

安装DHT11库文件:

并安装所需依赖:

3.安装Blinker_APP并配置设备

下载:Blinker官网下载

PS:按照自己所需进行下载

进行账号注册,登录后进入界面,创建设备,获取key

如图操作:

获取你的key,记得保存好哈,后面要凭此接入Blinker的

然后,别走开,点进设备里面,创建组件:

选数据组件

组件键名比较重要,建议设为自己好记的,代码方面要对接键名的

其他样式、颜色、文本都可以自己按情况设置

保存好后退出,准备进入紧张刺激的代码环节─=≡Σ(((つ•̀ω•́)つ

4.代码环节

首先当然是要看资料啦:

Blinker官网:esp8266 & WiFi帮助文档

Blinker官网:对接小爱同学帮助文档

Blinker官网:Arduino支持库帮助文档

Blinker官网:Arduino入门库帮助文档

基本找以上帮助文档都可以解决大部分问题

我这边直接贴代码了

#define BLINKER_WIFI//协议所需宏定义#define BLINKER_MIOT_SENSOR //小爱同学定义为传感器设备#include <Blinker.h>//点灯科技的头文件#include <DHT.h> //DHT11传感器的头文件#define DHTPIN 4//定义DHT11模块连接管脚io4(D2脚)#define DHTTYPE DHT11 // 使用DHT11温度湿度模块,当然也可以换其他DHT#define BLINKER_PRINT Serial //启用串口调试输出功能 char auth[] = "自己的key"; //点灯app的密钥keychar ssid[] = "WiFi名"; //所需连接的WiFi名char pswd[] = "WiFi密码"; //WiFi的密码BlinkerNumber HUMI("humi"); //定义湿度数据键名BlinkerNumber TEMP("temp"); //定义温度数据键名DHT dht(DHTPIN, DHTTYPE); //定义dhtfloat humi_read = 0, temp_read = 0; //初始化读取的数据void heartbeat(){HUMI.print(humi_read); //给blinkerapp回传湿度数据TEMP.print(temp_read); //给blinkerapp回传温度数据}void miotQuery(int32_t queryCode)//小爱同学语音命令反馈{BLINKER_LOG("MIOT Query codes: ", queryCode);int humi_read_int=humi_read;//将float转成int类型,整数BlinkerMIOT.humi(humi_read_int);//小爱接收湿度BlinkerMIOT.temp(temp_read);//小爱接收温度BlinkerMIOT.print(); //将以上属性发送出去, 务必最后调用该函数}void setup(){//初始化串口Serial,开启调试输出 Serial.begin(115200);//波特率BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();Blinker.begin(auth, ssid, pswd);//WIFI初始化设置 Blinker.attachHeartbeat(heartbeat);//注册回调函数dht.begin();BlinkerMIOT.attachQuery(miotQuery);//注册回调函数}void loop(){Blinker.run();//负责处理blinker收到的数据,每次运行都会将设备收到的数据进行一次解析。(这个很重要)float h = dht.readHumidity();//读取DHT11采集的湿度数据float t = dht.readTemperature();//读取DHT11采集的温度数据if (isnan(h) || isnan(t))//判断温湿度值是否为空{BLINKER_LOG("读取传感器数据失败");}else{BLINKER_LOG("Humidity: ", h, " %");//打印输出调试信息BLINKER_LOG("Temperature: ", t, " *C");humi_read = h;temp_read = t;}Blinker.delay(2000);//延时函数, 在延时过程中仍保持设备间连接及数据接收处理}

接线:

烧录进板子:

烧录后,连网没问题的话,app就可以看见设备上线啦(~ ̄▽ ̄)~

5.接入米家、小爱同学

输入Blinker的账号密码,进行绑定

可以看见设备啦

然后小爱同学可以进行训练

三、测试效果

点它传送:小爱同学交互读取宿舍温湿度的录屏

PS:Blinker_APP的数据刷新有点问题,得每次重新点进设备才能刷新数据,你要是一直在那个页面,数据是不会动态刷新的,emmm

所以,可以在里面加个调试组件,进行刷新数据:

手动刷新,emmm

问题不大,小爱同学数据有更新,目的达到√

总结

又到了总结的时候了:

不得不说ESP8266-NodeMCU板子实在的太方便了,10多块钱,支持WIFI,啧啧啧,老香了。

Blinker的应用也很棒,小白感觉很友好,还有更多功能等待探索呢。

DHT11的话,感觉数据还是不太精准,有空换个贵的(啧,有钱也可以!)

OK,下一个项目就是ESP8266-NodeMCU+红外+美的空调之间的故事了,害,等我红外发射模块到货再说了。

拜了个拜,共勉!!!

项目目录:

错开のESP8266-NodeMCU项目一

错开のESP8266-NodeMCU项目二

错开のESP8266-NodeMCU项目三

错开のESP8266-NodeMCU项目四

错开のESP8266-NodeMCU项目五

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。