Arduino UNO+WiFi扩展板 上传数据到Doit云平台并反向控制
本帖最后由 Makelin 于 2017-12-13 15:46 编辑本贴将介绍利用WebSever串口WiFi Siheld扩展板上传温湿度数据到iot.doit.am,并且能通过云平台控制继电器
物料准备:
arduino uno *1
arduino UNO R3 Web Sever串口WiFi Siheld扩展板 *1
DHT11温湿度传感器模块*1
继电器模块 *1
杜邦线若干
http://bbs.doit.am/data/attachment/forum/201704/22/154037aqimer0sov9im7gm.jpg
云平台通讯协议:
订阅用户:
用户发送:cmd=subscribe&topic=用户UID\r\n
服务器应答:cmd=subscribe&res=1
上传数据:
用户发送:cmd=upload&device_name=传感器名称&data=数据&uid=用户UID&key=用户KEY\r\n
服务器应答:cmd=upload&res=1
反向控制:
服务器发送:cmd=publish&device_name=传感器名称&device_cmd=发送的数据\r\n
详参http://bbs.doit.am/forum.php?mod=viewthread&tid=30
实验步骤:
1.在http://iot.doit.am 注册uid并登陆平台,uid和密码自定义
2.添加三个device,名称可自定义,代码中的device name和定义的名称相同即可
3.获取KEY
http://bbs.doit.am/data/attachment/forum/201704/22/154036s8mz2rm8acb29vg8.pnghttp://bbs.doit.am/data/attachment/forum/201704/22/154036atsaq1jsdses1ejx.png
4.打开源码,修改源码中的uid、key、device_name与前面获得的相同。
//用户信息,用户信息,需要填改写成自己的
#define UID "test001" //用户uid
#define KEY "a53b177974c6705d5235e755fe8bb397" //用户KEY
//device_name 即平台上的device name 自定义,但需要一一对应
#define DHT11_T "dht11_t"
#define DHT11_H "dht11_h"
#define RELAYS"relays"
5.编译下载程序到uno中。
6.连接WIFI拓展板的热点Doit_Config 访问192.168.4.1在web配置页面中,填写你的wifi名称和密码,选择为tcp client
详参:http://bbs.doit.am/forum.php?mod ... =176&extra=page%3D17.把dht11和继电器接在拓展板的
上电即可上传数据到云平台
在云平台选中relays 点击 send 发送指令控制继电器,指令可自定义,源码里的指令也要改成一样的
http://bbs.doit.am/data/attachment/forum/201704/22/154916yuqqbtapyauyasxb.pnghttp://bbs.doit.am/data/attachment/forum/201704/22/154906g8uz5u8zxxzh8ku5.png
页:
[1]