Arduino是许多智能硬件爱好者的首选,使用简单快捷,而ESP8266模块也是当前最为热门的WIFI模块。本项目完成了Arduino使用EDP协议通过ESP8266 WIFI模块接入OneNET服务器,并通过在接入设备中创建的应用来实现远程控制LED灯。
【1】硬件连接:
准备元件:
- Arduino UNO
- ESP8266 WIFI模块
- USB转TTL连接线
硬件连线:
Arduino UNO USB转TTL
D2-----------------RX
D3-----------------TX
GND---------------GND
Arduino UNO ESP8266
RX-----------------TX
TX-----------------RX
GND---------------GND
其中USB转TTL连接电脑用于调试打印输出,然后Arduino的串口连接ESP8266的串口。
实物连接如下如图所示:

【2】ESP8266配置和EDP上传数据介绍:
选用ESP8266串口WIFI模块,通过AT指令控制WIFI模块接入互联网,依次完成与接入互联网、与OneNet服务器建立TCP连接、传输数据等操作。
AT+RST
AT+CIFSR
AT+CWJAP="your ssid","password"
AT+CIPMODE=1 //进入透明传输模式
AT+CIPSEND //开始传输
关于如何使用WIFI方式接入可以详细查看:『OneNET设备云平台』云平台对接服务_智能设备
【3】创建设备和应用:
添加产品并创建接入设备,详细创建步骤请查看:『OneNET设备云平台』云平台对接服务_智能设备。其中数据传输协议选择EDP。
在设备中添加应用,创建一个开关控件,在右侧的属性中选择对应设备的switch0数据流 ·注意到属性中有开关开值和开关关值两个属性,分别默认为1,0,这里不做修改(因为代码中1为开,非1则为关) ·修改EDP命令内容为switch0:{v}(与代码对应,代码中会将冒号前的部分作为上传的数据流ID,而将冒号之后的部分作为上传是数据值) 这里的{v}是通配符当下发命令的时候,他将会被开关的开/关值取代,稍后我们将看到命令的内容。
编辑完成后点击保存应用。

本项目利用Arduino UNO、ESP8266 WIFI模块和USB转TTL连接线,通过EDP协议连接OneNET服务器,实现远程控制LED灯。硬件连接中,Arduino的D2与ESP8266的RX相连,D3与ESP8266的TX相连,两者GND接地。通过AT指令配置ESP8266接入互联网,并创建设备及应用,设置开关控件与EDP命令内容。软件代码中,D13引脚控制LED灯,根据接收到的switch0数据流值控制灯的状态。功能测试显示,设备能正确响应来自OneNET应用的开关命令,实现远程控制。
最低0.47元/天 解锁文章

4968

被折叠的 条评论
为什么被折叠?



