TA的每日心情 | 郁闷 2016-8-18 12:54 |
---|
签到天数: 4 天 连续签到: 1 天 [LV.2]偶尔看看I
|
1、云平台介绍
目前国内的物联网云平台已经是爆发状态了,所以找个合适的玩玩早已不是啥难事,本文用到的是乐为物连,它的优势是支持TCP长连接方式,这样实时性会比yeelink之类的好得多,乐为物联对于免费账号有一些限制,比如传感器最多5个,不过对于自己用来说也够了。
2、云平台的接入
首先通过TCP连接到tcp.lewei50.com,端口9960,并通过每30秒向云平台发送一次心跳包来保持这个链接,需保证在1分钟内有数据发送过去(发送用户网关数据或者上传数据都可以),否则服务器端会主动断开连接。如果只想反向控制,仅需要定时发送网关数据,并及时响应服务器发来的各种请求即可。如果需要上传测量设备数据,需要在首次连接时发送网关数据,然后定时上传测量设备数据。发送和接收都以&^!为结束符来判断是否完整包。所有交互的数据包均为JSON格式,好在Github有开源的json-c库,能省下很多麻烦。
心跳包格式:
{
"method": "update",
"gatewayNo": "你的网关号",
"userkey": "你的userkey"
}&^!
乐联网收到控制命令后会像控制端推送数据:
{
"f": "getAllSensors"
}&^!
需要您处理完之后按如下格式返回:
{
"method": "response",
"result": {
"successful": true,
"message": "xxxx",
"data":[
{
"id":"C1",
"value":"1"
},
{
"id":"C2",
"value":"2"
}]
}
}&^!
乐联网收到控制命令后会像控制端推送数据:
{
"f": "updateSensor",
"p1": "C1",
"p2": "2"
}&^! p1为要控制的设备id,p2为要设置的值
需要您处理完之后按如下格式返回:
{
"method": "response",
"result": {
"successful": true,
"message": "xxxx"
}
}&^!
大概过程就是这样,如果有疑问可以访问(乐联网TCP长连接反向控制被控端开发指南)。
3、效果
自己焊了个非常简陋的扩展板,引出了几个GPIO、IIC、SPI这几个常用的接口方便扩展后面的应用。
这样就实现了微信远程控制,跟智能插座原理是一样的,源代码在这里:https://github.com/xydang/Beaglebone
用法:先安装git ,然后执行git clone git@github.com:xydang/Beaglebone.git
最后进入主程序目录直接make就好了。
程序还在不断完善,下一步会加入一些传感器。。。 |
|