用亚博智能物联网模块实现远程控制LED
三、需要注意的问题: 1.在WIFI模块配置阶段:手机扫描下图2二维码,配置WIFI设备上网。必须注意:手机必须连接到当前环境的Wifi网络并能正常访问互联网。(注意网络为常规的2.4G-Wifi信号,而无法识别5G-Wifi。)具体步骤可参看https://www.yahboom.com/study/uno-iot。 2.读懂通讯协议(这里是HTTP协议):HTTP定义的事务处理由以下四步组成:①客户端与服务器端建立连接②客户端向服务器端发送请求③服务器端向客户端回复响应④断开连接。 图4 远程led微信控制界面 远程控制LED的协议如下:包头$ 命令字LED,灯1开关状态S1(1/0),灯2开关状态S2(1/0),灯3开关状态S3(1/0),灯1亮度L1(000-100),灯2亮度L2(000-100),灯3亮度L3(000-100)结束符#。例如在微信界面(如图4)按下三个对应灯的按钮时,发送字符 “$LED,S11,S21,S30,L1100,L2050,L3000#”至下位机,下位机根据程序判断打开L1、L2和L3灯,并且灯1亮度100,灯2亮度50,灯3亮度0。然后下位机给微信界面返回数据包$LED,(0-2),# 。如果是$LED,0,#,则表示成功;如果是$LED,1,#,则表示失败;如果是$LED,2,#,则表示不匹配当前。 3.在接好线后用软件烧录程序,注意:烧录时需拔掉arduino控制器上接至WIFI模块端的0和1引脚的接线,否则会上传失败!在上传成功后将0和1引脚的线接上。 4.WIFI的GND接Arduino的GND,WIFI的VCC接Arduino的5V。注意将WIFI模块和Arduino的RX和TX端的连线。配网时WIFI与Arduino正接(WIFI的RX接Arduino的RX,WIFI的TX接Arduino的TX);控制时需要RX与TX反接。这点很重要,也就是在用手机微信端控制时候,RX和TX需要反接。 图5 远程控制led程序流程图 5.读懂“远程控制3个led的程序”,笔者绘制了控制的流程图(见图5),以便于读者理解程序的控制过程,注意这里远程控制LED的协议是$LED,S11,S21,S30,L1100,L2050,L3000,# 即红灯亮,亮度为100;绿灯亮,亮度为50;黄灯灭,亮度为0。 图6 串口接收中断流程图 6.读懂“串口接收中断程序”,流程图(见图6)。当串口有数据时就被调用。 |