庭院监控
来自Jack's Lab
(版本间的差异)
(→FW 逻辑) |
|||
第22行: | 第22行: | ||
判断 activeflag,出厂状态(未激活,即用户没有给其设置家里路由的 ssid & password),则设置为 SOFTAP / STATIONAP,方便用户直连以配置 ssid&password | 判断 activeflag,出厂状态(未激活,即用户没有给其设置家里路由的 ssid & password),则设置为 SOFTAP / STATIONAP,方便用户直连以配置 ssid&password | ||
− | 如果 wifi opmode 不为 SOFTAP,定时循环检查 cos_check_ip(),如能获得 IP,且 connect 云 OK,则执行 connected 回调函数 | + | 如果 wifi opmode 不为 SOFTAP,定时循环检查 cos_check_ip(),如能获得 IP,且 connect (TCP / UDP) 云 OK,则执行 connected 回调函数 |
第28行: | 第28行: | ||
<br><br> | <br><br> | ||
+ | |||
== 模块与云通信 == | == 模块与云通信 == | ||
2015年7月30日 (四) 19:54的版本
目录 |
1 概述
SN: 字符串,19个字符,唯一编号,对应一个庭院监控设备
KEY: 字符串,8个字符,注意保护,用于生成每次通信的 Token
MAC: 6字节,12个字符,MAC地址
云端入口:
http://cos.icamgo.com:998
2 FW 逻辑
user_init() ---> cos_init()
判断 activeflag,出厂状态(未激活,即用户没有给其设置家里路由的 ssid & password),则设置为 SOFTAP / STATIONAP,方便用户直连以配置 ssid&password
如果 wifi opmode 不为 SOFTAP,定时循环检查 cos_check_ip(),如能获得 IP,且 connect (TCP / UDP) 云 OK,则执行 connected 回调函数
connected 的回调,逻辑上讲,应该是上线通知。。。
3 模块与云通信
3.1 概述
模块固件从 flash 中读出 SN 和 KEY,SN + 当前时间戳用 KEY 加密(AES) 运算后生成的串作为 Token
云端验证 SN 和 Token
3.2 Beacon
/v2/node/beacon
3.3 状态检查
- 1. Polling 方案
/v2/node/state
模块 1s GET 一次,取回的数据为一个 JSON 结构,解析得到 value (on/off, 55/99),与本地状态不一致,就改变自己的状态、
APP 通过写 (POST) 这个值,来完成远程控制
APP 也需要定时 (2s ?) GET 一下,以防其他用户改变该值导致插座状态改变而与另一个用户APP状态不一致
- 2. TCP 长链接方案