導(dǎo)讀使用過STM32開發(fā)版、或是使用過機(jī)智云自助開發(fā)平臺的MCU代碼自動生成工具(STM32)的電子愛好者對STM32Cube或多或少都有些了解,其中最耳熟能詳?shù)墓ぞ呤蔷哂信渲肕CU管腳、外設(shè),產(chǎn)生初始化代碼等功能的STM32CubeMX,那機(jī)智云和ST合作芯片開發(fā)工具 I-CUBE-GizWits又有哪些作用呢?
顧名思義,I-cube-gizwits軟件包是STM32 Cube的擴(kuò)展軟件包,基于STM32 Cube HAL庫,可運(yùn)行在基于ARM Cortex-M處理器的STM32微控制器上。具有以下特點(diǎn)優(yōu)勢:
-
基于STM32 Cube,圖形化操作,能夠快速配置MCU外設(shè),以及工程配置,提高開發(fā)效率。
-
支持導(dǎo)出多個格式的工程:
-
IAR Embedded Workbench for ARM ;
-
KEIL uVision;
-
System Workbench for STM32;
-
采用平臺無關(guān)API,MCU/WIFI芯片平臺切換成本低;
-
嵌入式機(jī)智云GAgent聯(lián)網(wǎng)服務(wù),自動完成了聯(lián)網(wǎng)功能,能夠快速玩轉(zhuǎn)機(jī)智云物聯(lián)網(wǎng)云平臺;
I-cube-gizwits軟件包嵌入了機(jī)智云的GAgent,設(shè)備可以通過GAgent訪問機(jī)智云云平臺。GAgent主要的作用是數(shù)據(jù)轉(zhuǎn)發(fā),是設(shè)備數(shù)據(jù)、機(jī)智云、應(yīng)用端(APP)的數(shù)據(jù)交互橋梁。GAgent提供了機(jī)智云云平臺與單片機(jī)之間的通信協(xié)議,開發(fā)者可以根據(jù)該協(xié)議實(shí)現(xiàn)MCU與GAgent之間的通信。
[ 準(zhǔn)備工作 ]
言歸正傳,在了解I-cube-gizwits后,接下來開始進(jìn)入實(shí)踐開發(fā)。
在開發(fā)前,需要準(zhǔn)備和了解以下內(nèi)容
1).硬件
1)B-L475E-IOT01A2開發(fā)板
2)Micro USB線
2). 軟件:
下面三種開發(fā)工具任選其一:
1) IAR Embedded Workbench for ARM
2) KEIL uVision5
3) System Workbench for STM32
3). 其他:
1)機(jī)智云開發(fā)者賬號:用于產(chǎn)品接入、設(shè)備管理、OTA服務(wù)、MCU開發(fā)等的功能使用。
2)I-cube-gizwits固件包
4). 了解:
I-cube-gizwits固件包文件夾結(jié)構(gòu)簡介:
[ 開始開發(fā) ]
現(xiàn)在進(jìn)入開發(fā)階段,由于篇幅過長,將分成以下幾部分講解:
-
在機(jī)智云自助開發(fā)平臺創(chuàng)建產(chǎn)品
-
Gagent API詳解
-
項(xiàng)目源碼修改
-
OTA升級實(shí)現(xiàn)
-
FAQ
1、在機(jī)智云自助開發(fā)平臺創(chuàng)建產(chǎn)品
登錄機(jī)智云自助開發(fā)平臺 dev.gizwits.com,新建一個“產(chǎn)品”(假設(shè)本次項(xiàng)目為GizTest),并創(chuàng)建云端“數(shù)據(jù)點(diǎn)”(即設(shè)備產(chǎn)品的功能的抽象,用于描述產(chǎn)品功能及其參數(shù)。創(chuàng)建數(shù)據(jù)點(diǎn)后,設(shè)備與云端通訊的數(shù)據(jù)格式即可確定,設(shè)備、機(jī)智云可以相互識別設(shè)備與機(jī)智云互聯(lián)互通的數(shù)據(jù))。
以本次的項(xiàng)目“GizTest”為例,簡單描述一下云端數(shù)據(jù)點(diǎn)和產(chǎn)品的功能點(diǎn)的關(guān)系,本次的項(xiàng)目“GizTest”,它需要實(shí)現(xiàn)的功能是:
(1) 獲取開發(fā)板陀螺儀X、Y、Z軸數(shù)值;
(2) 獲取開發(fā)板相對濕度和溫度傳感器數(shù)值;
(3) 獲取開發(fā)板LED的狀態(tài)以及控制LED開關(guān);
那我們需要在云端建立對應(yīng)的數(shù)據(jù)點(diǎn),如下圖。
下表是所有數(shù)據(jù)點(diǎn)的具體設(shè)置:
添加數(shù)據(jù)點(diǎn)完成之后點(diǎn)擊“應(yīng)用”,完成整個產(chǎn)品的數(shù)據(jù)點(diǎn)的新建工作。
2、 GAgent API的幾個重要參數(shù)
gagent_soc.h文件中API
(1)gagent_soc.h文件內(nèi)容預(yù)覽
(2)API功能簡介
1)gagentInit
-
功能:gagent相關(guān)參數(shù)初始化
-
函數(shù)定義:void gagentInit(struct devAttrs attrs)
-
參數(shù):struct devAttrs attrs :對應(yīng)初始化參數(shù)的結(jié)構(gòu)體
-
返回:無
2)gagentUploadData
-
功能:上傳數(shù)據(jù)到客戶端
-
函數(shù)定義:
int32 gagentUploadData(uint8 szDID, uint8 src, uint32 len,uint8 flag, void *arg,gagentUploadDataCb fun )
-
參數(shù):
-
返回:
GAT_OK 0 成功
GAT_ERR_FAIL -1 失敗
3)gagentGetNTP
-
返回:無
4)gagentReset