【资料分享】MicoKit网络配置协议 - MICO - 电子技术论坛 - 最好最受欢迎电子论坛!

【资料分享】MicoKit网络配置协议

一、概述
本文主要介绍用户APP 给MicoKit 设备配置Wi-Fi 网络连接、设置设备参数,以及配置设备接入FogCloud 云的方法。

设备工作模式:
1. 配置模式:
       该模式主要用户设备Wi-Fi 网络配置和设备参数的设置。
       设备收到APP 发送的SSID/key 并成功连接路由器后,就会自动连接用户APP 的FTCServer,并发送设备的当前配置信息给APP, 此时用户APP 可以修改配置参数,并发送给设备,完成配置。具体通信方式参照Easylink APP 的实现(IOS/Android)。

2. 正常工作模式:
        设备Wi-Fi 网络和设备参数配置完成后,重启设备,进入正常工作模式。
        此时设备默认开启CongifgServer(TCP Server), 用户APP 作为TCP client 与之连接。APP 使用mDNS 协议发现设备,并与之建立TCP 连接,之后通过HTTP 协议与设备进行数据交互, 数据包采用JSON 格式。

二、设备Wi-Fi 配置
MicoKit 设备支持Easylink 配网模式,用户APP 使用Easylink 协议给设备配置Wi-Fi网络。
配置方法:
1. 短按设备上的Easylink 按键,使设备进入Easylink 配网模式(绿灯快闪);
2. 打开APP 上的Easylink 配网功能,输入要连接的Wi-Fi 密码,开始配置;
3. 设备收到Wi-Fi 的SSID 和密码后(绿灯慢闪)自动连接AP, 连接成功后(绿灯常亮)自动重启,进入正常工作模式,Wi-Fi 配置完成(绿灯常亮)。

三、设备参数设置
       在使用Easylink 协议配置设备Wi-Fi 的过程中,还可以设置设备的参数。
       设备收到APP 发送的SSID 和密码并成功连接AP 后,会将设备的当前配置参数发送给APP,用户在APP 上可修改这些参数并写入设备。
       以上二、三步骤设备均工作在配置模式,详细实现参考Easylink 协议以及Easylink demoAPP 的实现。

四、设备云连接配置
设备配置完成后, 重启进入正常工作模式; 设备Wi-Fi 连接成功后, 开启FogCloudCongifgServer(TCP Server), 用户APP 作为TCP client 可与之建立连接。APP 使用mDNS 协议发现设备,并与之建立TCP 连接,之后通过HTTP 协议与设备进行数据交互,完成设备的激活、授权、重置等请求,使得设备接入FogCloud 云端并和用户APP 绑定。通信数据包采用JSON 格式,具体通信方式如下:
1. 设备接入FogCloud 云流程:

图1 FogCloud 接入流程
(1) 设备首次接入FogCloud 云之前,需要先激活设备;APP 向设备发送激活请求,使得设备向FogCloud 云端激活,成功后返回设备ID 给APP,完成设备激活和绑定;如上图1 中的1.1,1.2,1.3,1.4,1.5。
(2) 设备激活成功后,重启后自动连接FogCloud 云消息服务器(上图1 中2.0);
(3) 之后其他APP 要绑定设备,只需要向设备发送授权请求(如果发送激活请求,则设备实际执行授权),设备向云端请求APP 授权,返回设备ID 给APP(过程同步骤(1));
(4) 激活(或授权)完成后,APP 通过设备ID 向FogCloud 云端查询设备连接状态,并可与设备间进行云端消息收发(上图1 中的2.1)。

2. APP 请求接口:
(a)查询设备状态请求:
App 向设备发送:


设备响应:


实例:
App 发送:
              POST /dev-state HTTP/1.1
              Host: 192.168.31.180:8001
              Content-Length: 74
              Cache-Control: no-cache
              {"login_id":"admin","dev_passwd":"12345678","user_token":"11111111"}
设备返回:
              { "isActivated": true, "isConnected": true, "version": "v0.2.3" }

(b)激活请求:
APP 向设备发送:


设备响应:


实例:
APP 发送:
               POST /dev-activate HTTP/1.1
               Host: 192.168.31.180:8001
               Content-Length: 74
               Cache-Control: no-cache
               {"login_id":"admin","dev_passwd":"12345678","user_token":"11111111"}
设备返回:
               { "device_id": "af2b33be/c8934645dd0a" }
注意:激活成功后,设备将会保存用户设置的用户名和密码,后续请求会验证该用户名和密码。

(c)用户授权请求:
APP 向设备发送:

设备响应:


实例:
APP 发送:
              POST /dev-authorize HTTP/1.1
              Host: 192.168.31.180:8001
              Content-Length: 74
              Cache-Control: no-cache
              {"login_id":"admin","dev_passwd":"12345678","user_token":"22222222"}
设备返回:
              { "device_id": "af2b33be/c8934645dd0a" }

(d)设备注销请求:
该方法使得设备从云端注销,下次再使用需要重新激活。
APP 向设备发送:

设备返回:

实例:
APP 发送:
               POST /dev-cloud_reset HTTP/1.1
               Host: 192.168.31.180:8001
               Content-Length: 74
               Cache-Control: no-cache
               {"login_id":"admin","dev_passwd":"12345678","user_token":"11111111"}
设备返回:
        成功,无数据实体;
以上操作失败时,返回状态码500,消息实体返回详细错误码:
{“error”: }

(3) 状态码
200: 执行成功
500: 执行失败
详细错误码参考MICO 错误码。

五、云端消息通信
设备连接上云端后,APP 即可向设备发送消息,详细方法请参考:《MicoKit 云数据通信协议》
MicoKit网络配置协议v1.0.0.pdf (174.47 KB, 下载次数: 161)

11个回复

张馨 发表于 2015-6-2 11:23:51
谢谢。。。。。。。。。。。。。。
回复

举报 使用道具

829785 发表于 2015-6-3 08:49:05
好资料,学习一下,感谢!
回复

举报 使用道具

flyangus 发表于 2015-7-29 22:10:55
下载下载下载下载
回复

举报 使用道具

yangzhi150706 发表于 2015-8-6 16:32:13
好资料!学习学习!
回复

举报 使用道具

王飞强 发表于 2015-8-30 20:03:31
好资料,学习学习!
回复

举报 使用道具

weslydreamer 发表于 2015-9-2 16:38:50
学习一下 尽快上手
回复

举报 使用道具

chengjia213 发表于 2015-9-16 22:01:03
藏了```````````````
回复

举报 使用道具

yy 发表于 2015-10-26 10:53:17

13# 瓦滴网滴 发表于 2015-9-15 14:11:32
必须看一看啊。
196157 发表于 2015-11-3 13:46:00
下载不了~ 没有积分
回复

举报 使用道具

kob24bry81 发表于 2016-5-2 16:40:11
值得学习,详细看看先
回复

举报 使用道具

马松 发表于 2017-6-20 20:44:11
谢谢
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /6 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-4-19 19:33 , Processed in 1.003449 second(s), Total 45, Slave 32 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表