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