文档中心
机智云 文档中心
English
热搜词
APP
SDK
Android
ios
WIFI
GAgent详解
文档编辑

GAgent功能概述

GAgent主要的作用是数据转发,是设备数据、机智云、应用端(APP)的数据交互桥梁。可将GAgent移植到WiFi模组、GPRS模组、PC端等。目前机智云提供由机智云移植的WiFi模组对应固件有:汉枫 LPB100/ LPB120/ LPT120/ LPT220、乐鑫8266、高通4004 、RealTek 8711AM 、联盛德 TLN13SP01、锐凌微 TinyCon3350-M26、庆科3162等;GPRS模组对应固件有:广和通G510等。

GAgent功能概述

GAgent接入机智云流程

1.设备上电

A、GAgent请求设备信息
B、回复GAgent设备信息
C、设备正常工作,需回复GAgent发出的心跳包
D、GAgent网络状态发生变化通知mcu。

设备上电

2.配置入网

配置入网:使设备连接路由器,目前主要有3种配网方式airkiss(微信)、airlink、softap。

配置入网airkiss(微信)

配置入网airlink

配置入网softap

3.搜索绑定设备控制设备前必须绑定设备,WIFI普遍采用局域网发现绑定设备方式,而gprs模组由于没有局域网,只能采用扫码绑定。

搜索绑定设备-WiFi设备

搜索绑定设备-GPRS设备

4.下发、上报设备数据

下发设备数据:一般指的是APP、云端控制设备。局域网内APP可以选择是否经过云端再下发给GAgent或者不经过云端直接下发给GAgent。
上报设备数据:一般指的是设备主动上报当前状态,当设备MCU收到WiFi模组控制产生的状态变化,设备MCU应立刻主动上报当前状态,发送频率不受限制。但如设备的状态的变化是由于用户触发或环境变化所产生的,其发送的频率不能快于6秒每次。建议按需上报,有特殊上报需求请联系机智云。

下发、上报设备数据-局域网

下发、上报设备数据-广域网

5.GAgent OTA流程

GAgent OTA是指通过机智云官网创建远程推送GAgent固件规则后,通知当前模组更新到对应新固件。GAgent OTA有两种触发动作:云端主动通知OTA动作;GAgent连接云端检查是否需要OTA。

GAgent OTA流程-云端通知

GAgent OTA流程-GAgent自检

6.MCU OTA流程

MCU OTA是指通过机智云官网创建远程推送MCU固件规则后,通知当前MCU更新到对应新固件。MCU OTA过程,即GAgen向MCU进行大文件传输。

MCU OTA流程

7.MCU上传大文件至机智云

设备采集的数据过大时,MCU可以通过GAgent向机智云传输大文件。上传到机智云后,可通过相应接口接收。目前APP暂不支持获取MCU上传的大文件。

MCU上传大文件至机智云

8.产测流程

产测主要应用在设备生产检测过程中,对设备检测的一种方法。目前产测适用于WiFi模组,不适用GPRS模组。

产测流程

GAgent关键策略

1.重启与重置命令什么时候用?

当GAgent在正常工作中因为某些因素而长时间无法连接云端,需要重启模组,可以由设备使用者手动重启设备,也可以由MCU主动发送命令重启Wifi模组。此外,GAgent有异常处理策略,当出现异常时,会自动重启。

重置指擦除GAgent保存的DID、SSID、密码等信息。发送置命命令后,Wifi模组会自行重启。主要应用场景:当设备从A用户转移到B用户,B用户不希望A用户控制设备。

2.可绑定时间怎么用?

机智云设备绑定机制:APP与设备在同一局域网,如果GAgent没有设定绑定时间,则任意装有相关APP用户随时都能绑定设备,存在一定安全隐患。设备绑定时间,用户在可绑定时间内可以绑定设备,提高了安全性。

3.局域网、广域网心跳及离线判断条件。

局域网
APP与GAgent心跳:4s一次,三次超时离线。

广域网
APP与云端心跳:55s一次,三次超时离线。
GAgent与云端心跳:55s一次,三次超时离线。

4.WiFi模组配网网络环境要求

  • .部分WiFi模组无法识别路由器ssid为中文,建议将路由器ssid设置为英文。
  • .路由器加密方式建议采用AES加密
  • .关闭AP隔离

5.WiFi模组连接路由器策略

  • .缓存最近一次连接成功的路由热点(不关心是否连接外网成功)
  • .使用当前的ssid和pwd连接路由器,失败后立即重试,如果重试超过30S都连接不成功,则尝试连接最近一次连接成功的路由热点(当前热点与最近一次连接成功热点不同)。如果仍然失败,则交替尝试连接当前热点和最近一次成功连接的热点。
  • .连接路由超过2分钟,仍然失败时,以STA模式重启模组,重新开始上一步动作。
  • .连接成功,当前ssid/pwd和连接成功ssid/pwd更新。

    备注:当前ssid和最近连接成功的ssid可能是同一个

6.配网策略说明

  • .收到配置入网命令后,进入配置(softAP/AirLink)模式,等待接收ssid和pwd;
  • .成功获取到ssid和pwd,则自动连接路由器,连接路由策略见上;
  • .如果使用获取到的ssid和pwd成功连上路由,则发送配置成功包(可能会重启);
  • .airlink超时自动进入softAP配置模式,softAP也超时,才认为是配置超时退出;
  • .获取ssid/pwd超时退出,则连接最近一次连接成功的路由热点,连接路由策略见上;
  • .若没有缓存热点,则进入无网模式(STA & disconnect)。无网模式不保存,下次启动后不进入无网模式。

7.上电入网策略

  • .上电后,若没有指定工作模式,则以STA模式启动,自动连接路由器,连接路由器策略见上;
  • .如果没有ssid信息,则进入softAP配置模式,配置策略见上;

8.掉线重连策略

  • .在连接路由正常情况下,掉线后立即重连。
  • .若连接失败,第一次立即重连,之后每次重连间隔每次累加10秒,即10秒,20秒,30秒……。
  • .连接10次仍然失败时,重新通过机智云获取设备连接域名。获取域名成功后,进行DNS解析
  • .解析成功后,若ip地址相较之前ip有变化,立即重连云端,重连时间从0开始重新累加。
  • .解析成功后,若ip地址相较之前ip无变化,继续按照之前的重连间隔进行累加重连;
  • .当重连间隔增加到10分钟时,不再累加,以后每次重连间隔保持在10分钟;
  • .累积1个小时没连上云端,则重启(无小循环连接情况下,2分钟后重启)
  • .如果连接路由器不成功,不尝试重连云端。
  • .恢复连接路由器后,立即重连云端,重连时间从0开始。
  • .若连接失败,遵循上面连接路由正常的重连策略。

备注:云端掉线的重启策略可定制,需要考虑小循环的优先级。若小循环优先级高,云端掉线重启理解重启;若小循环优先级中,云端掉线重启仅在无小循环客户端连接持续10分钟的情况下重连;若小循环优先级低,云端掉线重启可以立即重启。

9.路由断连恢复策略

  • .路由断连后,模组进入本地模式(小循环、大循环不可用);
  • .重连路由成功后进入正常工作模式(小循环、大循环可用),重启小循环服务,重启大循环服务;
  • .断开路由连接超过2分钟仍然没有恢复路由器连接,模组重启自身。

10.OTA策略

GAgent OTA:包括下载、存储、校验、更新4个过程。

  • .下载:获取下载链接并判断是否需要下载(硬件版本号一致,软件版本号大于当前软件版本号),进行下载,目前不支持断点续传。下载失败后不再下载。
  • .存储:下载过程中进行分片存储到flash中缓存区域
  • .校验:进行md5值校验,确认文件传输正确
  • .更新:有主、备两个区域。替换进行更新,确认如果更新失败,程序仍然可以从另一区域正常启动。

MCU OTA:包括下载、存储、校验、传输4个过程。

  • .下载、存储、校验同GAgent OTA一样;
  • .传输:通知MCU有固件传输,并分片传输给MCU,每片需要进行sum校验,传输完成后mcu需要进行md5校验。MCU成功后重启GAgent,以让GAgent重新握手获取更新后的MCU信息。

11.云端OTA通知推送

云端只会给当时在线设备推送;对于当时不在线,或者没升级成功的设备,云端会每天推送一次

12.GPRS模组流量的基本要求

设备与机智云数据交互主要采用MQTT协议。设备与机智云数据交互的最小数据量是设备与机智云通讯的心跳。mqtt心跳是2个字节,tcp协议头是40字节,50秒一次,需要包括心跳和心跳回复。所以每50秒流量是:(40+2)*2=84 Bytes。一个月按30天算流量大概是:4252K。所以GPRS模组至少需要每个月有4252K流量,以保证GPRS可以正常上网。