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

继续阅读
LED发展迅猛,未来还是智能照明的天下

近年来,我国LED产业高速发展,渗率不断提升。据前瞻产业研究院发布的《LED照明产业市场前瞻与投资战略规划分析报告》数据显示,中国LED照明行业规模从78亿元扩张超过2550亿元,09-17年CAGR高达54.62%,LED通用照明市场的快速扩张,主因是通用照明行业的扩张与LED照明渗透率的提升,LED照明渗透率由2010年的0.6%升至2016年的42%。

Arduino驱动安装教程

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括MassimoBanzi、DavidCuarTIelles、TomIgoe、GianlucaMarTIno、DavidMellis和NicholasZambetTI等。

Microchip专家技术文章 LED调光引擎:基于8位MCU的开关模式可调光LED驱动器解决方案

开关模式可调光LED驱动器凭借其高效性以及对LED电流的精确控制而闻名。这类LED驱动器还可以提供调光功能,使得最终用户在营造奇幻灯光效果的同时有效降低自身功耗。

超详细图文教程:如何制作一辆Arduino小车(含源码)

你想要学习如何制作你自己的机器人吗?制作机器人是自学电子学和计算机编程的一种非常好的方式。wikihow这个教程详细介绍了制作一个机器人的步骤:组装机器人;给机器人接线;连接电源 ;安装Arduino软件;给机器人编程。

Arduino厨房定时器教程,原理图+源码

一个基于Arduino UNO的经典厨房定时器,带LCD显示屏和蜂鸣器

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