Arduino+ESP8266使用EDP协议控制LED灯

分享到:

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连接、传输数据等操作。

1)配置WIFI模块;
模块配置接入OneNet,依次发送如下几个命令到WIFI模块:
AT+CWMODE=3
AT+RST
AT+CIFSR
AT+CWJAP="your ssid","password"
 
2)和OneNet服务器建立TCP连接,依次发送命令:
AT+CIPSTART="TCP","183.230.40.39",876  //和服务器建立TCP连接
AT+CIPMODE=1    //进入透明传输模式
AT+CIPSEND  //开始传输
命令执行结果如下图所示:



关于如何使用WIFI方式接入可以详细查看:http://open.iot.10086.cn/doc/art76.html#29

【3】创建设备和应用:
添加产品并创建接入设备,详细创建步骤请查看:http://open.iot.10086.cn/doc/art243.html#66。其中数据传输协议选择EDP。


在设备中添加应用,创建一个开关控件,在右侧的属性中选择对应设备的switch0数据流 ·注意到属性中有开关开值和开关关值两个属性,分别默认为1,0,这里不做修改(因为代码中1为开,非1则为关) ·修改EDP命令内容为switch0:{v}(与代码对应,代码中会将冒号前的部分作为上传的数据流ID,而将冒号之后的部分作为上传是数据值) 这里的{v}是通配符当下发命令的时候,他将会被开关的开/关值取代,稍后我们将看到命令的内容。




编辑完成后点击保存应用。

【4】软件代码:
其中Arduino开发板的D13作为被控制的LED灯,在程序中添加设备ID和APIKey。

点击查看代码:http://atmel.eefocus.com/module/forum/thread-7756-1-1.html

【5】功能测试:
设备上电后,可以看到电脑串口打印输出的内容,首先连接OneNET服务器:


连接成功后,可以看到设备在线状态:


点击设备应用中的开关按钮,发送开关命令给设备:


设备接收命令后进行解析,并在串口打印输出:


当解析到数据流switch0的值为1时设备开灯,Arduino 开发板的D13被点亮,相反为0时灯灭。

【6】效果演示:

演示地址:http://atmel.eefocus.com/module/forum/thread-7756-1-1.html

 

更多Atmel及科技资讯请关注:  
Atmel中文官网:http://www.atmel.com/zh/cn/
Atmel技术论坛:http://atmel.eefocus.com/
Atmel中文博客:http://blog.sina.com.cn/u/2253031744
Atmel新浪微博:http://www.weibo.com/atmelcn

继续阅读
Arduino,你为什么这么红?

如果浏览5—10年前的电子制作资料,你一定可以看到五花八门的单片机选型、各种手工焊制的电路板、纷繁复杂的飞线……而近几年的各种基于单片机的电子制作,则统一了许多,各种不同领域、不同功能的电子DIY作品,大都采用了同一种控制模块为核心——Arduino。

一篇帖子让你学会Arduino!从基础到实战

论坛里有很多不错的Arduino教程,为了能让大家更加方便的找到这些资料,增加一个帖子来存放链接。 大家可以通过这个帖子,从而找到社区内Arduino的分类资源,不必再东翻西找。

图解让Arduino支持DigisparkArduino

以前DigisparkArduino在SourceForge上提供了专用版的Arduino IDE,但是很久没有更新,而且支持的板子较少,不方便。现在在DigisparkArduino的网站上看到了新的方法,可以让最新的Arduino IDE直接支持DigisparkArduino开发板。

盘点工业环境中的树莓派和Arduino开发板最常见问题

树莓派和Arduino板是快速电子成型和家庭DIY应用中非常有名的设备。它们具有编程灵活、可定制信号类型和易于适应现有设备等优点,为工业领域带来许多益处。他们成本低廉且灵活,为小型传统工业系统添加远程控制和监控功能。本文将为大家介绍工业环境中使用这类开发板的几种最常见问题。

细数中国半导体设备产业面临的几大困境

中国国内已经形成完备的半导体设备产业,在封测和LED设备领域,国产替代化比例逐渐升高;但在技术要求苛刻的晶圆制造领域,目前还主要依赖进口设备。然而,要真正振兴起来要克服的困难还不止如此。

©2017 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss