赞
踩
导读 使用过STM32开发版、或是使用过机智云自助开发平台的MCU代码自动生成工具(STM32)的电子爱好者对STM32Cube或多或少都有些了解,其中最耳熟能详的工具是具有配置MCU管脚、外设,产生初始化代码等功能的STM32CubeMX,那机智云和ST合作芯片开发工具 I-CUBE-GizWits又有作用呢?
顾名思义,I-cube-gizwits软件包是STM32 Cube的扩展软件包,基于STM32 Cube HAL库,可运行在基于ARM Cortex-M处理器的STM32微控制器上。具有以下特点优势:
基于STM32 Cube,图形化操作,能够快速配置MCU外设,以及工程配置,提高开发效率。
支持导出多个格式的工程:
IAR Embedded Workbench for ARM ;
KEIL uVision;
System Workbench for STM32;
采用平台无关API,MCU/WIFI芯片平台切换成本低;
嵌入式机智云GAgent联网服务,自动完成了联网功能,能够快速玩转机智云物联网云平台;
I-cube-gizwits软件包嵌入了机智云的GAgent,设备可以通过GAgent访问机智云云平台。GAgent主要的作用是数据转发,是设备数据、机智云、应用端(APP)的数据交互桥梁。GAgent提供了机智云云平台与单片机之间的通信协议,开发者可以根据该协议实现MCU与GAgent之间的通信。
[ 准备工作 ]
言归正传,在了解I-cube-gizwits后,接下来开始进入实践开发。
在开发前,需要准备和了解以下内容
1).硬件
1)B-L475E-IOT01A2开发板
2)Micro USB线
下面三种开发工具任选其一:1) IAR Embedded Workbench for ARM2) KEIL uVision53) System Workbench for STM32
1)机智云开发者账号:用于产品接入、设备管理、OTA服务、MCU开发等的功能使用。2)I-cube-gizwits固件包
4). 了解:
I-cube-gizwits固件包文件夹结构简介:
[ 开始开发 ]
现在进入开发阶段,由于篇幅过长,将分成以下几部分讲解:
在机智云自助开发平台创建产品
Gagent API详解
项目源码修改
OTA升级实现
FAQ
1、在机智云自助开发平台创建产品
登录机智云自助开发平台 dev.gizwits.com,新建一个“产品”(假设本次项目为GizTest),并创建云端“数据点”(即设备产品的功能的抽象,用于描述产品功能及其参数。创建数据点后,设备与云端通讯的数据格式即可确定,设备、机智云可以相互识别设备与机智云互联互通的数据)。
以本次的项目“GizTest”为例,简单描述一下云端数据点和产品的功能点的关系,本次的项目“GizTest”,它需要实现的功能是:
(1) 获取开发板陀螺仪X、Y、Z轴数值;(2) 获取开发板相对湿度和温度传感器数值;(3) 获取开发板LED的状态以及控制LED开关;
那我们需要在云端建立对应的数据点,如下图。
下表是所有数据点的具体设置:
添加数据点完成之后点击“应用”,完成整个产品的数据点的新建工作。
(1)gagent_soc.h文件内容预览
(2)API功能简介1)gagentInit
功能:gagent相关参数初始化
函数定义:void gagentInit(struct devAttrs attrs)
参数:struct devAttrs attrs :对应初始化参数的结构体
|
返回:无
2)gagentUploadData
功能:上传数据到客户端
函数定义:int32 gagentUploadData(uint8 szDID, uint8 src, uint32 len,uint8 flag, void *arg,gagentUploadDataCb fun )
参数:
|
返回:GAT_OK 0 成功GAT_ERR_FAIL -1 失败
3)gagentGetNTP
功能:获取NTP时间
函数定义:void gagentGetNTP(_tm *time)
参数:
|
返回:无
4)gagentReset
功能:重置模组,会清除配置信息和解除用户与之间的关系,该函数会导致模组重启
函数定义:void gagentReset(void)
参数:无
返回:无
相关推荐:
智能直饮水控制中心
远程控制车库电动卷帘门
不写代码能实现APP消息推送吗
APP第三方登录实现
快速开发一个简单好看的APP控制页
扫一扫,开启您的IoT开发之旅
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。