发新帖本帖赏金 5.00元(功能说明)我要提问
返回列表
打印

【分享】OneNET+arduino控制发光二极管灯亮

[复制链接]
3788|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kideny520|  楼主 | 2016-2-18 16:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用arduino的人越来越多了,最近我做了一个使用arduino+esp8266(WIFI模块)+gy-30+EDP连接ONENET的例子,希望能对这方面的开发者有些帮助,同时也希望通过这个例子让大家了解中国移动OneNET平台通过EDP协议的命令下发功能以及注意事项。
写在前面的话
在此例中,我们将要使用平台应用编辑器中的开关控件:
应用编辑器中的开关和旋钮控件有着两种身份,它们既是下发命令的控件,同时又显示数据流的当前状态,如下图所示:
1、应用会周期性的从设备运的对应数据流读取数据用于更新当前展示;
2、对于EDP设备,当用户操作开关和旋钮之后,应用会告知设备云发送EDP命令到设备端,但是并不会去改变数据流的值,需要设备将新的状态通过数据上传到数据流中,这样才能使应用中显示同步。
----------------------------进入正题--------------------------------
用到的物品以及连接框图如下所示:
实物连接图如下所示:
其中USB转TTL用于连接电脑,作为调试打印输出口,ESP8266连接arduino的串口

编辑应用
1、为开关添加一条数据流switch0;
2、新建应用
·创建一个开关控件,在右侧的属性中选择对应设备的switch0数据流 ·注意到属性中有开关开值和开关关值两个属性,分别默认为1,0,这里不做修改(因为代码中1为开,非1则为关) ·修改EDP命令内容为switch0:{v}(与代码对应,代码中会将冒号前的部分作为上传的数据流ID,而将冒号之后的部分作为上传是数据值) 这里的{v}是通配符当下发命令的时候,他将会被开关的开/关值取代,稍后我们将看到命令的内容。 如下图所示:
·完成编辑之后保存应用
点灯实验 ·点击开关 ·在电脑串口调试助手上可以看到一下信息:
比对EDP协议的命令下发部分,可以看出,最后的“命令内容”字段,内容为“switch0:1” 说明应用编辑器中EDP命令内容中的{v}被替换成了1(即开关开值)
代码中,当收到了该数据之后,会将1作为新的数据上传到switch0数据流中,可以在数据流中看到新上传的数据点:
而开关则一直处于“开”的状态
板子上的发光二极管也被点亮了:


打赏榜单

21ic小喇叭 打赏了 5.00 元 2016-02-24

相关帖子

沙发
dirtwillfly| | 2016-2-23 18:24 | 只看该作者
中国移动的云也支持arduino了,原来只支持gps类应用

使用特权

评论回复
板凳
mega1702| | 2016-3-28 14:10 | 只看该作者
感谢楼主分享!!!

使用特权

评论回复
发新帖 本帖赏金 5.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝