智能插座
来自Jack's Lab
目录 |
1 概述
SN: 字符串,19个字符,唯一编号,对应一个插座
KEY: 字符串,8个字符,注意保护,用于生成每次通信的 Token
MAC: 6字节,12个字符,MAC地址
2 制造
工具脚本批量生成 SN, MAC, KEY
通过专用接口批量导入云端
同时写入插座 WiFi 模块的 Flash 中
$ ./nodid -k -m -n 3 3BA34414EBECFAB9WPB 7R8NTLI9 0008DCE10834 17B5D3C1F97D2E1BNHZ AJQ24DMT 0008DC2D65E1 B5231897E5CDE19C4U8 2G4R0KQX 0008DCE064B9
3 模块与云通信
模块固件从 flash 中读出 SN 和 KEY,SN + 当前时间戳用 KEY 加密(AES) 运算后生成的串作为 Token
云端验证 SN 和 Token
/v2/node/state
4 APP 与云通信
4.1 注册验证
APP 第一次运行提示用户注册,输入 email 和 password,调用:
/v2/node
{"nid": "EMAIL", "key": "PASSWORD"}
注册成功后,APP 加密 email 和 password 并存入本地,下次启动APP,首先检查本地,如有缓存,直接进入 APP,无需再输入 email 和 password
4.2 控制
/v2/node/state
4.3 计划任务
/v2/node/state
5 微信公众号
5.1 扫描配置WiFi
用户手机和插座在同一无线路由下,直接使用微信 airkiss 为插座配置上无线路由的SSID和密码
5.2 注册验证
用户扫一扫带参二维码即完成注册且关联插座的过程
5.3 控制
微信菜单“控制”,系统自动呈现出当前用户关联的控制端设备(一个动态HTML页面),插座自动呈现为带当前状态的切换按钮
5.4 计划任务
微信菜单“控制”,系统自动呈现出当前用户关联的控制端设备(一个动态HTML页面),点插座,进入设置计划任务界面(定时设置)
5.5 用户管理
第一个扫二维码的是主帐号(管理员),后面扫的是普通用户