1、注册开发者涂鸦账号(与应用账号不同)。 涂鸦官网:https://www.tuya.com/cn/
2、登陆账号、查看帮助文档。 ? 1.?? ?细看以下红框内文档。根据五分钟快速入门 创建test产品。详细了解MCU利用WiFi模块接入IOT平台。协议传输相关命令字和传输格式为重点(涂鸦平台数据流)
?
1.?? ?进入创建的产品 ? 选择小家电->宠物喂食器 ? ->添加一些功能 ? 选择?? ?APP 面板模板 ?选自己喜欢的就行 ? 选择WIFI 模组 ?
->添加固件
?
->下载资料 ?主要关注MCU SDK(数据点文档)。对协议和数据流进一步了解 ? ->云端配置(主要了解固件升级)
?
问题1:什么是产品PID。 ?? ?答:PID:产品ID
问题2:什么是UUID。 ?? ?答:UUID:设备的唯一识别ID标识
问题3:什么是DP点。 ?? ?答: 解释 DP 全称为 Data Point,同时被称为 DP 点。DP点:“一个功能点”或者?? ? ? ? ? ? “一条/对指令码;作用:DP点利用视觉表现手法,运用多种道具和设计手?? ? ? ? ? ? ?段,结合商品所处于的位置环境,是商品特征的展示区域。总结:更好的显 ? ? ? ? ? ? ?? ? ? ? ? ? ?示产品的功能顺序和功能点的名称,更好的区分功能作用;实现APP和MCU?? ? ? ? ? ? ?数据同步。
问题4:通讯协议命令字 0X00->0X0E各自代表什么。 ?? ?0x00?? ?检测心跳 0x01?? ?查询产品信息 0x02?? ?查询模组工作模式 0x03?? ?报告设备联网状态 0x04?? ?重置 Wi-Fi 0x05?? ?重置 Wi-Fi 并切换配网模式 0x06?? ?下发 DP 命令 0x07?? ?上报 DP 状态 0x08?? ?查询状态 0x0a?? ?启动 OTA 升级(可选) 0x0b?? ?传输 OTA 升级包(可选) 0x1c?? ?获取本地时间(可选) 0x0e?? ?测试 Wi-Fi 功能
基础协议 基础协议是模组工作所必须的协议。
模组基本功能:命令字 0x00~0x08,包括检测心跳、查询产品信息和查询模组工作模式等。 模组拓展功能:命令字 0x0a~0x0e,包括 MCU OTA、获取本地时间和测试 Wi-Fi 功能等。 模组初始化
问题5:通信协议传输格式为 ? ? ?? ?__帧头__文件+版本(传输方向)关键_命令字__+_数据__长度+_数据__+校验位
问题6:什么是OTA升级? ?? ? 答:OTA升级:固件升级固件升级分为 设备升级 和 MCU 升级 两种,固件升级主?? ? ? ? ? ?要用于迭代设备功能以及修复功能缺陷。OAT:即空中下载技术,通过网络?? ? ? ? ? ?远程为设备更新和升级软件程序。固件 OTA 升级流程:可以通过涂鸦 ? ? ? ? ? ? ? ? ?? ? ? ? ? ?IoT 平台,先将需要更新的固件文件上传至涂鸦服务器,然后 Wi-Fi 模组通过?? ? ? ? ? ?涂鸦协议对文件进行分包传输,最后 MCU 接收升级包并写入本地闪存,最终?? ? ? ? ? ?实现固件的升级。(获取设备升级信息 -> 下发联网模块升级指令 -> 联网模?? ? ? ? ? ?块升级成功 -> 下发设备控制模块升级指令 -> 设备控制模块升级成功)
问题7:什么是ToKen? ?? ? 答:ToKen:授权码;是服务端生成的一串加密字符串,以作客户端进行请求的一个?? ? ? ? ? ?令牌;当第一次登录后,服务器生成一个Token便将此Token返回给客户端,?? ? ? ? ? ?以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密?? ? ? ? ? ?码。? ? ? ? ? 使用Token的目的:Token的目的是为了减轻服务器的压力,减少频?? ? ? ? ? ? ? ? ? ??? ? ?繁的查询数据库,使服务器更加健壮。 ?? ? ? ? ? ?ToKen的作用: Token具有随机性、不可预测性、时效性、无状态、跨域等特点。 Token完全由应用管理,所以它可以避开同源策略 Token可以避免CSRF攻击 Token可以是无状态的,可以在多个服务间共享 Token是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回Token给前端。前端可以在每次请求的时候带上Token证明自己的合法地位。如果这个Token在服务端持久化(比如存入数据库),那它就是一个永久的身份令牌。
问题8:热点模式配网流程? ?? ? 答:APP-->获取 token -->SDK-->获取 token -->Service -->返回 token -->?? ? ?? ? ? ? ? ?SDK-->返回 token -->APP;APP-->Note over APP: 连上设备的热点 -->?? ? ? ? ? ?SDK: 开始配网 ssid/pwd/token -->Device: 发送配置信息 ssid/pwd/token -->?? ? ? ? ? ?Note over Device: 自动关闭热点 -->Note over Device: 连上路由器 WiFi -->?? ? ? ? ? 去激活设备 -->Service;Service-->激活成功 -->Device->激活成功-->?? ? ??? ? ? ? ? ?SDK:-->激活成功-->APP。?? ?
问题9:快连模式配网流程? ?? ?答: APP-->连上路由器--获取 token -->SDK-->获取 token -->Service -->返回 ?? ? ? ? ? ? token -->?? ? SDK-->返回 token-->APP;APP-->开始配网 ssid/pwd/token -- ?? ? ? ? ? SDK-->Note over SDK: 通过广播、组播循环发送 ssid/pwd/token ; Device->捕捉到ssid/password/token-->Device-->去激活设备-->Service-->激活成功-->Device:-->激活成功 -->SDK-->激活成功 -->APP;--> 在iOS 14.5及以上版本中 问题10:什么是key值(AccessKey)??? ? ?? ?答:key值:云应用密钥对中的具体密钥的 Access Key,在涂鸦 IoT 平台云开发版块中创建云应用后,由后台默认生成,用于授权认证、接口认证。 使用场景: AccessKey和一个SecretKey 放在服务端,由服务端生成令牌后颁发给客户端使用。
附:传输方向:MCU->IPC(单片机向WIFI模块) ??? ??? ??? ? ?IPC->MCU(WIFI模块向单片机)
V1.2.0版本 ?
|