一、设备快速接入机智云:(设备接入并非必须使用Gokit套件)
1、MCU方案快速接入教程
MCU快速开发LED灯参考代码
【1】设备与机智云数据交互流程
机智云服务器 —》wifi/GPRS模块 —》MCU(设备电控板) —》设备
【2】在机智云官网创建设备产品
《1》注册机智云开发者账号
《2》登录账号,选择对应项创建产品
《3》填写设备信息
《4》项目基本信息
【3】创建数据点
《1》数据点详解
《2》根据产品需求,分析硬件开发需求(比如:“智能灯”的产品需求是:将RGB_LED灯的开关状态和调色功能同步到手机APP,可以使用APP远程控制灯)
《3》结合设备功能需求,分析设备数据点需求
《4》创建4个对应数据点
《5》修改数据点
智能灯MCU开发
【1】自动生成MCU SDK(机智云通信协议的解析与封包、传感器数据与通信数据的转换逻辑)
【2】MCU SDK文件内容目录结构(黑色标注部分为STM32f103cx8硬件平台开发基本文件。绿色标注部分为机智云逻辑部分,硬件的串口驱动、定时器驱动、按键驱动等)
《1》Gizwits_product.c和Gizwits_product.h
《2》Gizwits_protocol.c和Gizwits_protocol.h
【3】开发步骤如下:
《1》程序主函数(SystemInit(), userInit(), gizwitsInit(), userHandle(),gizwitsHandle())
《2》移植RGB_LED驱动程序
《3》用户程序初始化
《4》WIFi模块reset/入网方式
《5》处理云端/App发送过来的控制事件
protocolIssuedProcess —》ACTION_CONTROL_DEVICE —》gizDataPoint2Event —》gizwitsEventProcess
《6》上报设备状态
userHandle —》gizCheckReport —》gizDataPoints2ReportData —》gizReportData
《7》编译并将固件烧写到GoKit3代MCU主控板
调试
【1】手机安装机智云App
【2】打开机智云App,注册登录App账号
【3】配置WIFi模块入网
【4】配置成功后,选择相应设备
【5】App收发设备数据
【6】机智云后台查看设备交互数据
发布产品
【1】进入产品详细信息页面,在产品名称旁边显示“申请发布”按钮
【2】点击“马上申请”按钮,如实填写申请信息审核
【3】点击“提交申请”按钮,跳转提交成功页面,机制也能将免费提供人工审核以及严谨的测试,审核通过后,会根据你提交的量产计划提交后台服务器支持。
产测简介
详细链接地址如下:
http://docs.gizwits.com/zh-cn/deviceDev/%E4%BA%A7%E6%B5%8B%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.html
2、SOC方案快速接入教程
SOC快速开发LED灯参考代码
【1】准备工作
《1》硬件(GoKit3(S)开发板, 杜邦线若干, Usb转串口模块,如:ft232、cp2102、ch340均可, Micro USB线)
《2》软件(Oracle VM VirtualBox,乐鑫官方的esp8266开发环境)
《3》其它(机智云开发者账号,微信宠物屋 for GoKit3(S) ESP8266 V03000003源码(机智云下载中心可获得),智能灯项目自动生成SoC源码(请继续查看下述操作,即可生成获得))
《4》补充说明
GoKit3的原理图链接:http://club.gizwits.com/thread-2889-1-1.html
GoKit3的模块购买链接:https://shop159680395.taobao.com/
【2】开始开发
《1》注册开发者账号:http://dev.gizwits.com/zh-cn/developer/
《2》新建产品
《3》云端数据点(产品功能点)
《4》云端自动生成源码
【3】调试发布
【4】项目完成
【5】附加内容(UART0教程):http://docs.gizwits.com/zh-cn/deviceDev/ESP8266-SOC_UART0.html
二、GAgent通讯模组使用教程:
GAgent详细介绍
1、GAgent主要的作用是数据转发,是设备数据、机智云、应用端(APP)的数据交互桥梁。可将GAgent移植到WiFi模组、GPRS模组、PC端等。目前机智云提供由机智云移植的WiFi模组对应固件有:汉枫 LPB100/LPB120/LPT120/ LPT220、乐鑫8266、高通4004 、RealTek 8711AM 、联盛德 TLN13SP01、锐凌微 TinyCon3350-M26、庆科3162等;GPRS模组对应固件有:广和通G510等。
App —》机智云 —》GAgent —》设备数据
2、GAgent接入机智云流程
【1】设备上电
《1》GAgent请求设备信息
《2》回复GAgent设备信息
《3》设备正常工作,需回复GAgent发出的心跳包
《3》GAgent网络状态发生变化通知MCU
【2】配置入网((设备连接路由器,有三种配网方式:airkiss(微信)、airlink、softap)
《1》Airkiss(微信):公众号 —》路由器 —》GAgent —》MCU
《2》Airlink:App —》路由器 —》GAgent —》MCU
《3》Softap:MCU —》GAgent —》App —》路由器
【3】搜索绑定设备控制设备前必须绑定设备,WIFI普遍采用局域网发现绑定设备方式,而GPRS模组由于没有局域网,只能采用扫码绑定。
《1》搜索、绑定设备(wifi):App —》云端 —》GAgent —》MCU
《2》搜索、绑定设备(GPRS):App —》云端
【4】下发、上报设备数据
《1》下发设备数据:一般指的是APP、云端控制设备。局域网内APP可以选择是否经过云端再下发给GAgent或者不经过云端直接下发给GAgent。
《2》上报设备数据:一般指的是设备主动上报当前状态,当设备MCU收到WiFi模组控制产生的状态变化,设备MCU应立刻主动上报当前状态,发送频率不受限制。但如设备的状态的变化是由于用户触发或环境变化所产生的,其发送的频率不能快于6秒每次。
【5】GAgent OTA流程
《1》GAgent OTA是指通过机智云官网创建远程推送GAgent固件规则后,通知当前模组更新到对应新固件。
《2》GAgent OTA有两种触发动作:
#A 云端主动通知OTA动作;机智云 —》GAgent
#B GAgent连接云端检查是否需要OTA。GAgent —》机智云
【6】MCU OTA流程
MCU OTA是指通过机智云官网创建远程推送MCU固件规则后,通知当前MCU更新到对应新固件。MCU OTA过程,即GAgen向MCU进行大文件传输。MCU —》GAgent —》机智云
【7】MCU上传大文件至机智云
设备采集的数据过大时,MCU可以通过GAgent向机智云传输大文件。上传到机智云后,可通过相应接口接收。目前APP暂不支持获取MCU上传的大文件。MCU —》GAgent —》机智云
【8】产测流程
产测主要应用在设备生产检测过程中,对设备检测的一种方法。目前产测适用于WiFi模组,不适用GPRS模组。
3、GAgent关键策略
【1】重启与重置命令什么时候用?
当GAgent在正常工作中因为某些因素而长时间无法连接云端,需要重启模组,可以由设备使用者手动重启设备,也可以由MCU主动发送命令重启Wifi模组。此外,GAgent有异常处理策略,当出现异常时,会自动重启。
【2】可绑定时间怎么用?
机智云设备绑定机制:APP与设备在同一局域网,如果GAgent没有设定绑定时间,则任意装有相关APP用户随时都能绑定设备,存在一定安全隐患。设备绑定时间,用户在可绑定时间内可以绑定设备,提高了安全性。
【3】局域网、广域网心跳及离线判断条件
《1》局域网:APP与GAgent心跳:4s一次,三次超时离线。
《2》广域网:APP与云端心跳:55s一次,三次超时离线。GAgent与云端心跳:55s一次,三次超时离线。
【4】WiFi模组配网网络环境要求
部分WiFi模组无法识别路由器ssid为中文,建议将路由器ssid设置为英文。
【5】WiFi模组连接路由器策略
缓存最近一次连接成功的路由热点(不关心是否连接外网成功),使用当前的ssid和pwd连接路由器,失败后立即重试,如果重试超过30S都连接不成功,则尝试连接最近一次连接成功的路由热点(当前热点与最近一次连接成功热点不同)。如果仍然失败,则交替尝试连接当前热点和最近一次成功连接的热点。
【6】配网策略说明
收到配置入网命令后,进入配置(softAP/AirLink)模式,等待接收ssid和pwd,成功获取到ssid和pwd,则自动连接路由器,如果使用获取到的ssid和pwd成功连上路由,则发送配置成功包,airlink超时自动进入softAP配置模式,softAP也超时,才认为是配置超时退出。
【7】上电入网策略
上电后,若没有指定工作模式,则以STA模式启动,自动连接路由器。
【8】掉线重连策略
在连接路由正常情况下,掉线后立即重连,若连接失败,第一次立即重连,之后每次重连间隔每次累加10秒,连接10次仍然失败时,重新通过机智云获取设备连接域名。获取域名成功后,进行DNS解析。
【9】路由断连恢复策略
路由断连后,模组进入本地模式(小循环、大循环不可用),重连路由成功后进入正常工作模式(小循环、大循环可用),重启小循环服务,重启大循环服务。
【10】OTA策略
GAgent OTA:包括下载、存储、校验、更新4个过程。
MCU OTA:包括下载、存储、校验、传输4个过程。
【11】云端OTA通知推送
云端只会给当时在线设备推送;对于当时不在线,或者没升级成功的设备,云端会每天推送一次。
【12】GPRS模组流量的基本要求
设备与机智云数据交互主要采用MQTT协议。设备与机智云数据交互的最小数据量是设备与机智云通讯的心跳。mqtt心跳是2个字节,tcp协议头是40字节,50秒一次,需要包括心跳和心跳回复。所以每50秒流量是:(40+2)*2=84 Bytes。一个月按30天算流量大概是:4252K。所以GPRS模组至少需要每个月有4252K流量,以保证GPRS可以正常上网。
三、多种模组烧写介绍说明:
1、机智云 GAgent For HF-LPB100串口烧写说明
2、机智云 GAgent For HF-LPT120/LPB120/LPT220串口烧写说明
3、机智云 GAgent For MXCHIP串口烧写说明
4、机智云 GAgent For ESP8266串口烧写说明
5、机智云 GAgent For 广和通G510串口烧写说明
6、机智云通讯模组调试日志获取教程
四、MCU代码自动生成服务介绍:
1、前文需知
2、代码自动生成工具的使用
3、自动生成代码说明
4、代码二次开发需知
5、更多信息
五、开源套件Gokit资料:
1、Gokit2说明
2、Gokit3开发套件介绍
3、Gokit3硬件手册
4、Gokit3使用说明书
5、Gokit3s开发套件介绍
6、Gokit3s环境搭建
7、Gokit-MCU程序详解
8、Gokit-SOC程序详解
六、ArduinoUnoWIFI接入教程:
1、ArduinoUnoWIFI之接入机智云介绍
2、ArduinoUnoWIFI之ESP8266固件烧写教程
3、ArduinoUnoWIFI之SDK API介绍
4、ArduinoUnoWIFI之WIFI智能小夜灯使用
七、更多设备接入指南:
1、ECE Demo开发教程
2、机智云串口工具使用文档