使用STM32快速開發(fā)AliOS Things硬件與軟件環(huán)境
ST與阿里巴巴集團旗下的云計算科技公司——阿里云合作,推出基于STM32L4 IoT探索套件快速開發(fā)AliOS Things的方案。STM32用戶可以在STM32L4 IoT上運行阿里的物聯(lián)網(wǎng)操作系統(tǒng)AliOS,無縫連接阿里云。本文以WiFi連接阿里云收發(fā)消息為例介紹了,如何獲得AliOSThings開源代碼,和如何基于IoT探索套件STM32B-L475E-IOT01A與STM32常用開發(fā)工具IAR來快速編譯、燒寫、調(diào)試MQTT應用。
硬件概述
**這塊開發(fā)板使用的是ST低功耗MCU系列中的STM32L475這款芯片,擁有1M字節(jié)的Flash和128K字節(jié)的SRAM。
**支持WiFi,藍牙,SubG, NFC等多種無線連接方式。因為它還支持Arduino接口,所以使用者也可以很方便的通過Arduino接口來擴展其他的無線連接模塊,比如GSM模塊。
**板上還集成了64Mbits的Quad-SPIFlash。
**板上還搭載了多種傳感器,比如溫濕度傳感器,高性能3軸磁力計,加速度傳感器,陀螺儀,接近傳感器和壓力傳感器等。方便開發(fā)者用來進行多種應用的演示。
**板子上還有兩個數(shù)字全角度麥克風。若需要,還可以實現(xiàn)語音控制的功能。
軟件環(huán)境
**阿里巴巴AliOSThings開發(fā)包
**IAR開發(fā)環(huán)境。然而,AliOSThings開發(fā)包內(nèi)建也支持使用KEIL和GCC開發(fā)STM32應用,不需要用戶額外花時間從零開始對工程文件進行設(shè)置。
**串口工具Tera Term??捎脕盹@示程序運行的信息和配置WiFi用戶名和密碼。
AliOS Things
AliOS Things 是 AliOS 家族旗下的、面向 IoT 領(lǐng)域的、輕量級物聯(lián)網(wǎng)嵌入式操作系統(tǒng)。完整源代碼開發(fā)包可在同頁面通過GIT或者ZIP包下載。以ZIP包下載為例,你可以找到右邊的“Clone or download”按鈕(下圖中的綠色按鈕)
會出現(xiàn)一個選擇界面如下,選擇“Download ZIP”(下圖中的藍色按鈕),然后保存AliOS-Things-master.zip就可以了。
目前下載后的壓縮包大小不到100M。
使用IAR編譯
IAR是STM32開發(fā)人員常用的開發(fā)工具,如何安裝IAR就不在本文贅述。
有了IDE后,接下來就是解壓縮AliOS-Things-master.zip到任意目錄。然后進到AliOS-Things-masterprojectsIARmqttapp目錄,選擇IAR工程文件alios.eww。工程文件打開后應該是這個樣子:
直接按F7或者選擇菜單里“make”就可以開始編譯。
調(diào)試運行
使用micro usb連接到B-L475E-IOT01A開發(fā)板。在板子上,該usb口靠近一個LED燈,而離黑色Reset和藍色用戶按鈕較遠。點擊“Download and Debug”按鈕,中間彈出STLink連接確認窗口,請點擊確認。程序會自動下載到開發(fā)板里,并停在主函數(shù)main那里。你可以隨時在菜單里選擇“Debug->Go”或者直接按F5運行。若需要看到完整AliOS運行日志,可以等到串口連接后再讓程序繼續(xù)運行。
Tera Term串口配置
需要使用串口終端程序Tera Term(其他類似串口軟件亦可)來配置網(wǎng)絡(luò)或者察看程序運行的日志。
第一次使用Tera Term,需要對串口通信進行配置。在菜單里選擇“Setup->SerialPort”。
配置參數(shù)如下圖所示。
配置完成后,在“File”菜單里選擇“NewConnection”。
選擇串口Serial。如果板子連接正常,這里的串口信息會自動顯示出來,點擊OK就可以了。若這里顯示的串口號與先前串口通信配置的不一樣,需要返回去修改?;蛘撸谂渲弥?,先利用這里的信息看下實際的串口端口號是什么。
你可以看到有以下運行日志,表示程序已經(jīng)運行,可以配置WiFi了。
在串口配置WiFi
首次啟動時需要手動配網(wǎng),配網(wǎng)命令:
netmgr connect ssid password open|wep|wpa|wpa2
最后一個是安全接入?yún)?shù),輸入內(nèi)容為open或wep或wpa或wpa2,對于WiFi AP設(shè)定的連接安全協(xié)議。后續(xù)會保持WiFi配置在kv里,如果網(wǎng)絡(luò)環(huán)境不變,按Reset按鈕(板子的黑色按鍵),開機后會自動連接WiFiAP。[!--empirenews.page--]
程序循環(huán)上報Sensor和LED燈的數(shù)據(jù)
程序會循環(huán)上報Sensor和LED燈的數(shù)據(jù)到云端。發(fā)送數(shù)據(jù)結(jié)束或者網(wǎng)絡(luò)連接異常,可以按黑色Reset按鈕重新體驗。
其它
習慣使用KEIL開發(fā)環(huán)境的STM32用戶,可以在解壓縮后的開發(fā)包AliOS-Things-masterprojectsKeilB-L475E-IOT01mqttapp下找到你需要的工程。對于GCC用戶,則可以從https://github.com/alibaba/AliOS-Things/wiki了解如何下載配置相關(guān)的軟件;在環(huán)境配置完成后,直接在VS Code里選擇target目標mqttapp@b_l475e就可以進行GCC環(huán)境下的編譯。
總結(jié)
對于STM32用戶,AliOSThings內(nèi)建對多款STM32 L0/L4 MCU的支持,支持主流的IAR/KEIL/GCC快速開發(fā)環(huán)境。本文基于STM32L4 IoT探索套件,以AliOSThings物聯(lián)網(wǎng)MQTT應用為例,詳細描述了如何獲取AliOSThings資源以及編譯、調(diào)試運行STM32應用。整個過程也顯示了結(jié)合STM32與AliOS Things可迅速建立物聯(lián)網(wǎng)節(jié)點。STM32用戶可在此基礎(chǔ)上來創(chuàng)建更多物聯(lián)網(wǎng)應用。