ESP8266与Arduino Pro Mini基于贝壳物联的远程红外遥控、温湿度监测、LED控制

作者:DDDear | 更新时间:2017-07-20 | 浏览量:2660

一、硬件

  1. esp8266模块 ×1
  2. Arduino Pro Mini模块 ×1
  3. DHT22(DHT11也可以)模块 ×1
  4. 5V继电器 ×1
  5. usb转ttl模块 ×1
  6. 杜邦线若干
  7. 5V与3.3V直流电源 ×1

二、软件

  1. 含(DHT,CJSON)的NodeMCU固件 下载
  2. NodeMCU Studio 2015工具 下载
  3. Arduino IDE,以及IRremote库 下载
  4. HBuilder
  5. lua及arduino源码 下载

三、实现步骤

1、esp8266模块刷nodemcu固件,我一开始用的float,有些不稳定,不知为什么,现在用的int的好了。

参见:http://www.bigiot.net/help/20.html

2、接线

ESP8266要用3.3V供电,Arduino和继电器要用5V供电。

DHT22模块 DATA针脚接esp8266 的GPIO2

5V继电器 接 ESP8266的GPIO14 ,继电器控制什么就你说了算了。

红外发射模块 接 Arduino 的 3脚(注意:IRremote库定义只能接3脚,PWM输出)

红外模块我是自己用9013焊的,某宝也有卖的。

Esp8266的txd接arduino的rxd,另外rxd到txd就不要接了,只让8266给arduino发数据就好,之前测试了好长时间都失败到最后才发现是arduino 给8266传数据导致 8266 串口异常。。。

3、教程

首先要获取空调遥控器的红外编码,Arduino示例教程模块版——7、红外遥控实验-Arduino中文社区 - Powered by Discuz!,品牌空调,根据这个教程帖子就可以获取到编码。

然鹅我的是杂牌机,根本没有短编码,如果你的也是杂牌机子的话,也要用到这个教程--使用IRremote库红外遥控家里的电器-Arduino中文社区 - Powered by Discuz!,获取RAW编码,记得修改库文件里的 #define RAWBUF 255

这里选择Raw挺麻烦的,因为每次采集到的编码几乎都不一样,可以多试几次,把每次测出来的编码存到文本文档里,然后待会挨个试。。。

然后修改arduino代码中的irSignal[]={替换这里},换成你的Raw编码,测试出来成功的那一组,红外发射就ok了。

剩下的还需要修改的就是ESP8266,代码基本是贝壳物联网站上搜集的,代码中首先需要修改你的ID和Key,然后还要修改几处命令,开灯,关灯,开空调,关空调,四个命令,自己定义。

4、手机客户端(H5)

为了方便,直接模拟访客登录,远程遥控修改成复杂一点的命令就好,不要和官方的遥控器命令重复。

本人也是个小白,所以手机APP是copy的模板,乱七八糟的。而且因为访客登录命令是贝壳物联没公开的(一位叫小芳的朋友用审查元素帮我弄出来的,还帮我弄了js登录,感谢她),所以APP代码就先不公开了。反正也还拿不出手。。。

我在办公室加班、远程开空调后效果,怎么说。。。只能说33度总比37度好。

            

 

在线106天,印象中掉线登不上去需要重新上电才好的次数不超过5次吧。时间有些长,文中可能有些细节未提及,我也怎是记不起来了,,,见谅

 

 


评论:共4条

贝壳物联 评论于:2017-07-21 11:53:28
很详细的教程,多谢分享。
DDDear 回复于:2017-07-26 11:18:28
回复 @贝壳物联:还得感谢平台给的机会。
峥小辰 评论于:2017-07-22 09:31:11
教程很好,楼主的温度传感器是直接通过8266传给服务器的吗
DDDear 回复于:2017-07-26 11:19:30
回复 @峥小辰:嗯,就用的贝壳物联平台的update命令,API里有
返回顶部