收藏官网首页
查看: 254|回复: 0

[经验分享] 水墨画定时控制系统:gokit时间获取及其分析1

发表于 2017-11-28 16:09:45 | 显示全部楼层 |阅读模式
汉枫LPB120模块
gokit时间获取及其分析3:http://club.gizwits.com/thread-8038-1-1.html

(一)机智云代码结构
查看源码详解手册:


代码结构:



关键文件:


(二)关键api函数:
  1. void gizwitsInit(void)
复制代码

gizwits 协议初始化接口。用户调用该接口可以完成Gizwits 协议相关初始化(包括协议相关定时器、串口的初始化)。
  1. void gizwitsSetMode(uint8_t mode)
复制代码

参数mode[in]:仅支持0,1 和2,其他数据无效。参数为0,恢复模组出厂配置接口,调用会清空所有配置参数,恢复到出厂默认配置。参数为1 时配置模组进入SoftAp 模式;参数为2 配置模组进入AirLink 模式。
  1. void gizwitsHandle(dataPoint_t *dataPoint)
复制代码

参数dataPoint[in]:用户设备数据点。该函数中完成了数据上报等相关操作。
  1. int8_t gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)
复制代码
参数info[in]:事件队列
参数data[in]:数据
参数len [in]:数据长度 用户数据处理函数,包括wifi 状态更新事 件和控制事件。


a) Wifi 状态更新事件:
WIFI_开头的事件为wifi 状态更新 事件,data 参数仅在WIFI_RSSI 有效, data 值为RSSI 值,数据类型为uint8_t, 取值范围0~7。
b) 控制事件:
与数据点相关,本版本代码会打印相 关事件信息,相关数值也一并打印输出, 用户只需要做命令的具体执行即可。


(三)重点变量
个人认为有几个变量需要重点留意学习:

1、currentDataPoint
保存设备目前的状态:
定义:dataPoint_t currentDataPoint;
位置:gizwits_product.c


可以看到,这是保存我在云端定义的数据。因为此时我在云端只有一个数据节点,所以里面只有一个量。


2、gizwitsProtocol:
Protocol main and very important struct,即描述一些“重要的结构体”。
定义:gizwitsProtocol_t gizwitsProtocol;
位置:gizwits_protocol.c

大概就是用于保存当前获取的这个网络数据包的各方面内容。


3、timerMsCount
timerMsCount就是一个计算从开机到目前的毫秒数
定义: static uint32_t timerMsCount;


(四)重点函数
  • 1、userHandle() 用户区上报数据
  • 2、userInit() 初始化函数
  • 3、userHandle() 只读型传感器数据点处理,位置main.c
  • 4、gizwitsEventProcess() 可写型传感器数据点处理,位置gizwits_product.c
  • 5、gizProtocolGetOnePacket()接收一个网络数据包的函数
  • 6、gizGetTimerCount()获得从开机到当前的毫秒数。
  • 7、TIMER_IRQ_FUN()定时器3中断服务程序,整个系统的时基生成器。


(五)protocol结构体:


protocolHead_t是标准的机智云数据包前半部分的格式:


protocol其他的结构体是以protocolHead_t为基础的完整、各类数据包:


IoT软件平台

1、机智云QQ群: 287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits /   机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表