前言

物联那点事儿专栏也要着手写啦。。
这次跟大家分享一下自制网络温湿度计的过程,当然这个作品也不是自己原创的,而且代码也是可以在点灯科技的官方文档里面找到的,当然我在模仿的过程中也认真地研究了一下工作原理。这里呢,跟大家分享一下我的过程以及我遇到的问题和解决的办法。
首先要说明一点,设备和手机使用不同的wifi也可使用其功能,也就意味着,不在家也可查看家里的温湿度。

  • 后来录制的关于arduino和esp8266的使用的视频,和这个帖子的内容密切相关,视频中有多处读错单词还请谅解,不喜勿喷!视频地址->点击跳转观看视频。
    物联那点事儿专栏目录
  • arduino+点灯科技+云存储=温湿度曲线
  • arduino+点灯科技+wifi继电器+esp01=网络控制开关电脑
  • arduino+点灯科技+DHT11+smartConfig=一键配网
  • arduino+点灯科技+人体感应模块+nodemcu
  • Blinker app控制继电器番外篇(esp8266+arduino)

有问题欢迎联系交流

一、 作品展示


                                           图1-1 手机端app展示                                                                     图1-2实物展示


视频展示语音效果:点击观看


二、前期准备

1.采购配件

(1)esp8266烧录器一个。
注:一定要买8引脚的烧录器,我一开始就是用的6引脚的发现用不了。
(2)esp8266烧录器配套的wifi模块一个(esp01或者esp01s都可)。
注:esp01是两个led灯,esp01s是一个信号灯,都是wifi模块,但是一定要和烧录器配套。建议两个各买一个,备用和实验。
(3)温湿度传感器DHT11一个。
注:买DHT11的时候,会送三根杜邦线,连接问题就解决了。


配件图片:


            图2-1esp8266烧录器                            图2-2wifi模块esp01s                                图2-3温湿度传感器DHT11


下面是我用的电子零件淘宝链接,个人觉得这家店铺的性价比超级高!推荐一下,复制淘口令打开手机淘宝即可下单,如有过期请在评论区留言! esp8266烧录器:(¥D1XY1EC9mdh¥-GOOD-)
wifi模块esp01s(推荐买安信可品牌,通信比较好):(¥LB7C1ECRamN¥-GOOD-)
温湿度传感器DHT11:(¥8UXf1EC94zt¥-GOOD-)


2.安装软件

(1)电脑安装arduino IDE和esp8266扩展。
注:arduino IDE是为了上传程序用的。端口驱动win10系统会自动安装好的。


ardunio iD下载见下面链接。
直接打开下载的exe文件就可安装。
esp8266扩展下载见下面链接。
直接点击第三个运行即可,进度条到达100%窗口会自动消失。


(2)下载blinker库和DHT库,并放到指定位置。下载见下面链接
Windows:将下载好的blinker库解压到 我的电脑>文档>Arduino>libraries 文件夹中。
Mac OS:将下载好的blinker库解压到 文稿>Arduino>libraries 文件夹中。
无论arduino安装到哪里,这里的库文件一定要放到指定位置。


(3)手机安装第三方平台点灯科技app->blinker,米家app、小爱同学。
点灯科技app是为了看到温湿度的数据,后两个是为了可以实现语音查询播报功能。


(1)(2)中的arduino安装包、esp8266扩展、blinker和DHT库下载链接如下:

感谢支持!https://download.csdn.net/download/JIANGYINGH/85452448

三、具体过程

首先先了解一下esp8266烧录器。

转接板作用:可以将wifi模块连接到烧录器上,也可以将外部传感器和wifi模块连接。

具体流程

(1)将wifi模块esp01s接到和它配套的esp8266烧录器转接板上。目的:给wifi模块esp01s烧录程序。
连接方法:

转接板 wifi模块esp01s 转接板 wifi模块esp01s
3v3 3v3 RXD RX
RST RST IOO IOO
EN EN IO2 IO2
TXD TXD GND GND
(2)用杜邦线将DHT11连接到转接板引脚上。
作用:将传感器获得的数据传输给wifi模块。
DHT11 转接板 DHT11 转接板
-
+ 3v3 - GND
注:传感器的s输出口接转接板我这以IO2为例。

2.上传程序

可参考点灯科技官网: 点灯科技官网


将烧录器插到电脑USB接口处。
具体过程:
(1)查看端口 电脑属性->设备管理器->端口
作用:上传时要选中对应的端口才可。


(2)安装esp8266扩展(如有安装可忽略)
(3)打开ardunio IDE,开发板选择esp8266Module,端口选择对应端口。
         工具->开发板->esp8266Module
         工具->端口->对应自己的端口(我这对应是COM5)


(4)获得手机点灯科技app的设备的key,写到代码中。
添加设备->arduino->wifi接入->复制key


(5)代码部分。代码详解写到注释里面了。
注:一定要添加blinker库和DHT库!!!没有添加库文件的话查看二、前期准备。

#define BLINKER_WIFI //定义wifi模块
#define BLINKER_MIOT_SENSOR//小爱同学定义为传感器设备
#include <Blinker.h>//包含Blinker头文件
#include <DHT.h>//包含DHT头文件#define DHTPIN 2      //定义DHT11模块连接管脚io2#define DHTTYPE DHT11   // 使用温度湿度模块的类型为DHT11char auth[] = "**********";  //你的设备key
char ssid[] = "**********";  //你的wifi 名称
char pswd[] = "**********";  //你的wifi 密码//新建数据类型组件对象,作用:将数据传输到手机blinker app
BlinkerNumber HUMI("humi");    //定义湿度数据键名
BlinkerNumber TEMP("temp");    //定义温度数据键名DHT dht(DHTPIN, DHTTYPE);    //生成DHT对象,参数是引脚和DHT的类型float 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;     //去掉湿度浮点数BlinkerMIOT.humi(humi_read_int); //小爱反馈湿度属性BlinkerMIOT.temp(temp_read);     //小爱反馈温度属性BlinkerMIOT.print();//将以上属性发送给小爱,使得小爱可以接收到温湿度的数据}void setup()//将设置代码放在此处,运行一次;
{//初始化端口Serial.begin(115200);BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();Blinker.begin(auth, ssid, pswd); // // 初始化blinker Blinker.attachHeartbeat(heartbeat);//将传感器获取的数据传给blinker app上dht.begin();//初始化DHT传感器//在回调函数中反馈该控制状态BlinkerMIOT.attachQuery(miotQuery);//每次呼出小爱同学,就会调用miotQuery()函数
}
//通过循环不断读取温湿度传感器获取的数据
void loop() //把主代码放在这里,重复运行:
{Blinker.run();//运行Blinkerfloat h = dht.readHumidity();//读取DHT11传感器的湿度 并赋值给hfloat t = dht.readTemperature();//读取传感器的温度   并赋值给tif (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;//将读取到的湿度赋值给全局变量humi_readtemp_read = t;//将读取到的温度赋值给全局变量temp_read}Blinker.delay(2000);//延时函数
}

(6)编译。
点击左上角对号即可编译,点击编辑,下拉菜单也有。


(7)上传程序。
有人会问到给esp8266烧固件的问题,这里呢通过arduino IDE 点击上传的时候直接就给esp8266烧固件了。

注:一定要检查开发板选项和端口,不用烧录程序,上传即可。


(8)刷新手机点灯科技app,设备会由离线状态变成在线状态。
添加两个数据组件和一个调试组件。 数据组件用来查看获得的数据,调试组件用来刷新和调试。
进入设备,右上角编辑->数据->修改键名和基本设置->保存。


(9)米家绑定,小爱同学添加训练。
在米家”我的“->其他平台设备->点灯科技->同步设备 即可。
在小爱同学 训练计划->我的训练->添加训练 即可。


四、补充说明

1.供电问题

用到的烧录器正好是USB接口,可以直接用5v的充电器大头给其供电。

2.精度问题

DHT11传感器感知温湿度肯定会有一定的误差的,具体误差可看购买的DHT11规格。

3.设备稳定问题

有多种情况,有可能是因为供电问题导致电压不稳定,也有可能是wifi模块有问题,或者受干扰。

4.信号灯问题

esp01供电红灯一直会亮,蓝灯在通信的时候闪烁,esp01s没有红灯,只有在通信的时候蓝灯闪烁。


五、过程遇到的问题

1.一开始我以为需要烧录程序,发现出错,一直解决不了,最后发现只上传程序即可,不必烧录。

2.编译中遇到的问题基本同c语言相似,这里强调一点,添加Blinkder库和DHT库!!!
3…编译没错,上传的时候出现espcomm_upload_men failed问题或者是数字签名出错,可以按一下esp8266烧录器的白色复位键,再烧录,多试几次,如果还是出现这个问题,那可能就是wifi模块的问题了。

六、改进之处

(1)可以通过代码实现记录最近几天的温湿度,并传给点灯科技app,做出曲线图。
可点击查看改进方法:温湿度曲线
(2)点灯科技不光支持小爱语音输入,同时还支持天猫精灵和百度小度,修改添加语音输入可添加代码即可。

七、总结

第一次接触ardunio和硬件编程,使用的配件也是刚刚接触的,在使用期间也遇到了不少问题,遇到问题去解决的过程也很艰难,有的问题百度上也找不到答案,就比如我一开是遇到的那个不用烧录直接上传的问题,我一直没找到解决方法,一根筋走到天黑,后来才知道答案。中途换了好几次零件,买回来发现并不能用,关于稳定问题最让我头疼,一样的代码,重新上传可能也会造成不稳定传输。即使设备在线,小爱同学有可能和设备连接不上,时断时连,我怀疑是我手机不是小米的过,或者是wifi模块的过,过程基本没问题,还是得去进行大量的实验去发现问题。
你的打赏是我创作的动力!感谢支持!

逆水行舟不进则退,有问题在下方评论或者私聊我一直在,一起进步!

物联那点事儿之自制网络温湿度计(arduino+点灯科技篇)相关推荐

  1. 物联那点事儿之DS18B20自制网络温度计(arduino+点灯科技篇)

    前言 很久没有更新了,该好好反思了,废话不多说,fighting! 代码开源,喜欢的给个star吧! git链接!!! 物联那点事儿专栏往期回顾: arduino+点灯科技+温湿度DHT11+esp0 ...

  2. 物联计算机大赛,【实践科】关于举办2020“天翼物联杯”中国高校计算机大赛-网络技术挑战赛校内选拔赛的通知...

    一.竞赛基本信息 中文名称:中国高校计算机大赛-网络技术挑战赛 英文名称:C4-Network Technology Challenge 面向对象:高等学校计算机类.电气信息类和其他相关专业本科学生与 ...

  3. 联通物联卡为什么没有网络_联通物联卡突然没有信号,试着用这几方法!

    原标题:联通物联卡突然没有信号,试着用这几方法! 如果一个企业正处于项目的紧要关头,设备的核心物联卡突然没有信号,对于公司来说是难以接受的.按理来说物联卡采用专属网络信道,没信号的情况很少出现,尤其是 ...

  4. 联通物联卡为什么没有网络_联通物联网卡怎么样?联通物联卡的查询官网是什么?...

    原标题:联通物联网卡怎么样?联通物联卡的查询官网是什么? 物联网时代的来临为我们生活中带来了许许多多的智能应用,移动物联网卡.电信物联网卡.联通物联网卡作为物联网最基础的通讯产品,在物联网应用中发挥着 ...

  5. 为啥联通卡显示无服务器,天津联通物联卡显示无服务器

    .补建一批车辆检测点及其他物联网感知,全面提升路网管理的精细化水平.[天津联通物联卡显示无服务器]. 3.崇遵公路隧道安装新型监控系统保障安全 天津联通物联卡显示无服务器目前,投资上千万的隧道监视控制 ...

  6. 物联卡中心:新人必看,关于物联网卡常见的三大问题!

    如今物联卡市场如火如荼,有许多人在拿到物联卡后在使用过程中往往都会出现一些问题,近日,小编也收到了很多朋友的咨询,这些问题也都是比较常见的,比如,物联网卡链接不上网络了?物联卡没有信息号了?今天小编总 ...

  7. 天翼物联获中国信通院2022 AIoT先锋企业

    近日,由中国信息通信研究院组织开展的2022 AIoT先锋企业评选活动成果发布,中国电信天翼物联凭借为AIoT发展作出的积极贡献获"2022 AIoT先锋企业",是唯一获得该奖项的 ...

  8. 中国电信天翼物联加入开源鸿蒙社区

    全面贡献蜂窝终端代码资源 加快电信生态与鸿蒙生态融通互促 近日,中国电信天翼物联正式加入OpenHarmony("开源鸿蒙")社区,并主导成立智慧城市蜂窝终端管理SIG  (Spe ...

  9. ZETA SDR网关推动LPWAN2.0泛在物联,覆盖距离可达30km

    ZETA SDR网关推动LPWAN2.0泛在物联,覆盖距离可达30km 据悉,纵行科技已推出ZETA SDR网关,为现有LPWAN市场带来了重大革新.该网关采用内置Advanced M-FSK调制方法 ...

  10. 5G边缘计算驱动智能物联新时代

    当前全球正处在5G网络建设的起点上,这也是人联和物联时代分界线的历史起点.理解5G边缘计算从技术到产业的影响,将有助于人们把握未来的产业投资机会. 5G已经成为全球领先国家和地区的战略竞争目标,是决定 ...

最新文章

  1. 【小白的CFD之旅】16 流程
  2. python3 语言翻译相关库
  3. 普通人学python有用吗 知乎-哪些人更有必要学习python?老男孩教育python
  4. 占空比50%的奇数分频
  5. 存量客户管理之提额降息
  6. POJ 2117 Electricity 割点 Tarjan算法
  7. maven项目转换成dynamic项目
  8. 张樟兴策略分析:数据库营销顾客
  9. in作为介词的用法_思维导图:为孩子收藏——常出错的英语用法集锦
  10. 方差分析 Analysis of Variance ANOVA 变异数分析 F检验
  11. JAVA获取硬盘序列号
  12. 华为PUSH 日常问题解决方案
  13. 台架控制器-AVL_ISAC学习
  14. 编程术语晦涩_晦涩的今日非主流提示-如何将Windows资源管理器文件复制/移动到“全部同意”或“全部否”...
  15. np.randon模块,numpy.random模块各函数功能详解,分类描述各个函数功能,生成随机数
  16. Caffe新手教程傻瓜系列(9):训练和测试自己的图片
  17. Blender基础:从程序员的角度理解顶点组(Vertex Group)和权重(Weight)
  18. 网站推荐用的软文说明
  19. 第一章:随机事件和概率(一)
  20. 以色列MIMIC(Medical Information Mart for Intensive Care)数据库简介

热门文章

  1. Linux下编写udp群聊室
  2. window下ruby的下载与gem安装
  3. 在计算机系统中对文件执行彻底删除,Windows系统中,教你彻底删除C盘的顽固文件,瞬间多出10个G!...
  4. jpg格式电脑怎么弄_jpg格式图片电脑怎么弄
  5. Eric6与pyqt5学习笔记14 【实战5 百度贴吧离线签到工具】
  6. 淘宝人群标签时效时间 精准淘宝人群标签方法
  7. bootstrop table api
  8. 源码搜索引擎,让你找到更适合你的源码
  9. linux检测不到声卡设备,解决 Deepin V20、Ubuntu 20.04、Linux Mint 20 声卡无法识别导致的没有声音...
  10. 【速达软件】【速达3000】新账套导入旧账套资料SQL