基于Arduino + ESP8266控制LED灯并返回控制结果
2016.4.11
一、目标
Arduino通过ESP8266连接贝壳物联服务,实现远程控制LED灯亮灭,并将结果反馈至控制界面。
二、硬件
- Arduino uno R3 (其他Arduino板也可以) ×1
- ESP8266-01 ×1
- 面包板 ×1
- 杜邦线(公对母) ×5
- 电阻10K ×2
- LED灯 ×1
- 面包板跳线 ×4
注:ESP8266-01需进行透传设置,详见:ESP8266-01透传设置
三、接线 1、总览
2、ESP8266-01
接线对照表: ESP8266-01 | 电阻 | Arduino uno R3 | VCC | 无 | 3.3V | GND | 无 | GND | RXD | 无 | TX | TXD | 无 | RX | CH_PD | 10K | 3.3V |
3、LED灯 接线对照表: LED灯 | 电阻 | Arduino uno R3 | 正极 | 10K | pin4 | 负极 | 无 | GND |
四、代码下载
本站所有公开代码托管于GitHub,方便大家使用和共同参与完善,地址:https://github.com/bigiot
点击上方链接,进入如下界面:
点击bigiotArduino进入:
点击Download ZIP下载。
五、代码使用
下载代码后解压得到如下文件:
/ examples/ libraries/ README.md ...
1、将libraries/aJson文件夹全部复制到Arduino IDE的库文件夹内。
Windows系统通常位于: C:\Program Files (x86)\Arduino\libraries
Linux通常位于:/usr/share/arduino/libraries
2、用Arduino IDE打开
examples/ESP8266/kaiguan/kaiguan.ino修改其中的DEVICEID、APIKEY两个参数,将代码上传至Arduino开发板。
注意:
- 上传代码时应断开Arduino板TX、RX连接线,否则代码无法上传成功;
- 代码上传完成,断电连接上TX、RX连接线,再通电启动。
如果觉得如此操作麻烦,可使用Arduino IDE自带SoftwareSerial库模拟出串口与ESP8266通讯,但经试验此法数据传送不太稳定(可能跟我的电路有关系,还望诸君测试告知-_-!)。
设备ID(DEVICEID)、设备密码(APIKEY)在会员中心查看得到,如果你尚未注册添加设备,请参考:
快速注册并添加设备及接口
六、操作验证
完成以上操作,即可是设备与贝壳物联平台连接,并进行控制。
登录 -> 会员中心 -> 设备对话
即可看到在线设备。
发送命令:
在命令发送目标栏选择设备名,在命令输入框输入
play点击发送,即可看到LED灯亮。
此时,命令回记录栏会出现以下代码:
看到以上命令显示和LED灯亮说明你已大功告成。
尝试输入
stop命令,查看命令记录内容变化。
七、自我发现
1、试试设备遥控功能,在会员中心->设备遥控;
2、在公开设备中找到自己的设备进命令控制,和遥控;
3、完善你的设备信息和设备说明,让更多人了解你的创意。
|