浦靈敏,施紀(jì)紅
(蘇州健雄職業(yè)技術(shù)學(xué)院 人工智能學(xué)院,江蘇 蘇州 215411)
智慧物聯(lián)網(wǎng)(Artificial Intelligence of Things, AIoT)是人工智能(AI)和物聯(lián)網(wǎng)(IoT)技術(shù)相融合的產(chǎn)物。近年來,隨著AIoT技術(shù)的迅速發(fā)展,勢必要求高職院校物聯(lián)網(wǎng)專業(yè)對現(xiàn)有的課程體系做出及時調(diào)整。而物聯(lián)網(wǎng)應(yīng)用技術(shù)是一個多學(xué)科交叉融合的專業(yè),涉及電子技術(shù)、計算機網(wǎng)絡(luò)、軟件技術(shù)、自動控制等眾多專業(yè)知識和技能。其中,嵌入式技術(shù)應(yīng)用與開發(fā)是物聯(lián)網(wǎng)專業(yè)人才培養(yǎng)的重要核心技能,同時,嵌入式也是人工智能發(fā)展的基礎(chǔ),開啟了人工智能的進程。高職物聯(lián)網(wǎng)專業(yè)必須緊隨目前最新的人工智能發(fā)展方向,調(diào)整和優(yōu)化現(xiàn)有物聯(lián)網(wǎng)嵌入式課程體系和內(nèi)容。因此,在AIoT背景下,開展嵌入式人工智能相關(guān)課程體系的建設(shè)研究具有十分重要的意義[1-2]。
嵌入式系統(tǒng)分為硬件系統(tǒng)和軟件系統(tǒng)兩大部分,對應(yīng)課程的知識綜合性強,高職院校的人才培養(yǎng)目標(biāo)定位于培養(yǎng)高素質(zhì)技術(shù)技能型人才,既需要掌握理論又要與實際應(yīng)用緊密聯(lián)系,對實踐要求高。目前,高職院校物聯(lián)網(wǎng)專業(yè)普遍開設(shè)了嵌入式微控制器和嵌入式操作系統(tǒng)等相關(guān)課程,采用意法半導(dǎo)體STM32F103系列控制器進行物聯(lián)網(wǎng)感知層產(chǎn)品的開發(fā),使用嵌入式Linux和Android系統(tǒng)進行網(wǎng)絡(luò)層和應(yīng)用層智能設(shè)備、云平臺服務(wù)器、移動終端應(yīng)用程序的設(shè)計,課程覆蓋了物聯(lián)網(wǎng)的感知層、網(wǎng)絡(luò)層和應(yīng)用層三層架構(gòu),教學(xué)難度大,教學(xué)效果不明顯,學(xué)生學(xué)完該系列課程仍無法開展實際項目的軟件編程、硬件設(shè)計和調(diào)試,更無法體現(xiàn)嵌入式技術(shù)在人工智能領(lǐng)域的應(yīng)用[3]。
目前,嵌入式課程教學(xué)內(nèi)容仍以知識點的驗證性技能實訓(xùn)為主,偏重微控制器外設(shè)資源的應(yīng)用、系統(tǒng)應(yīng)用程序編程語法的講解和練習(xí),課程知識點和技能點之間相對獨立,前后關(guān)系不明顯,且嵌入式軟硬件系統(tǒng)種類繁多,開發(fā)環(huán)境、編程、下載和驗證方法各異,任何環(huán)節(jié)出現(xiàn)問題都將影響整體實現(xiàn)效果,并需要重新按照流程進行調(diào)試[4]。
此外,在傳統(tǒng)的嵌入式物聯(lián)網(wǎng)硬件驅(qū)動開發(fā)領(lǐng)域,涉及眾多的通信協(xié)議和數(shù)據(jù)交換,并且由于芯片和硬件結(jié)構(gòu)的限制,不同的硬件平臺所具備的資源各不相同,給高職物聯(lián)網(wǎng)專業(yè)的AIoT項目教學(xué)和應(yīng)用開發(fā)帶來了較大困難[5]。
對于物聯(lián)網(wǎng)專業(yè)的學(xué)生而言,嵌入式課程的教學(xué)側(cè)重點應(yīng)是如何快速實現(xiàn)人工智能+專業(yè)應(yīng)用,即將人工智能和物聯(lián)網(wǎng)技術(shù)結(jié)合起來。目前大部分高職院校嵌入式基礎(chǔ)課程教學(xué)仍以C語言為主,而主流的人工智能軟件框架大多是基于Python語言開發(fā),在AIoT背景下,嵌入式課程體系必須學(xué)習(xí)Python語言的基礎(chǔ)編程方法,并在后續(xù)嵌入式硬件課程中使用MicroPython進行基于微控制器的應(yīng)用開發(fā)[6]。
MicroPython是基于Python3語法實現(xiàn)的一種可以在微控制器上運行的Python語言分支,擁有自家的解析器、編譯器、虛擬機和類庫等,可以實現(xiàn)底層硬件模塊的訪問和操作,如對LED、按鍵、SD卡等的控制。同時,MicroPython固件封裝了大量庫和函數(shù),包括常用的通信協(xié)議和硬件驅(qū)動,在項目開發(fā)時只要調(diào)用這些庫和函數(shù)就可以快速控制LED、液晶、舵機、多種傳感器、SD卡、串口、I2C總線等實現(xiàn)相關(guān)功能,極大地降低了開發(fā)難度,減少了重復(fù)開發(fā)工作,提高了運行效率。MicroPython可以在多種嵌入式硬件平臺上運行,如STM32、ESP8266、ESP32、CC3200等。
在經(jīng)過前續(xù)Python基礎(chǔ)語法和常用算法的學(xué)習(xí)后,利用MicroPython聚焦解決專業(yè)應(yīng)用性問題,可以快速開發(fā)通用硬件平臺下的物聯(lián)網(wǎng)系統(tǒng)驅(qū)動[7]。
目前,STM32和ESP8266這兩大硬件平臺是MicroPython運行中最為完善和成熟的應(yīng)用平臺。嵌入式人工智能課程需要搭建較快的硬件運行環(huán)境,并非所有的STM32都能使用 Python編程,能夠運行MicroPython系統(tǒng)的微控制器需具備以下性能:
(1)具備USB通信功能(用于模擬串口通信、U盤讀寫操作);
(2)FLASH閃存:256 KB及以上;
(3)主頻:90 MHz及以上(主頻越高系統(tǒng)運行越流暢)。
可見,最高主頻為72 MHz的STM32F103系列微控制器已無法流暢執(zhí)行Python程序,高職院??梢允褂没贛icroPython開發(fā)語言的官方Pyboard開發(fā)板,如圖1所示。將Python編程語言直接運行在STM32F405嵌入式開發(fā)板上,STM32F405微控制器采用高性能ARM Cortex-M4 內(nèi)核,工作頻率高達168 MHz,芯片具有1 MB容量的閃存和196 KB隨機存取存儲器,且性價比較高,非常適合作為嵌入式硬件開發(fā)環(huán)境[8]。
圖1 MicroPython官方開發(fā)板
通過在嵌入式硬件課程上搭建MicroPython固件加Python代碼的嵌入式微控制器實訓(xùn)教學(xué)環(huán)境,可以快速進行AIoT智能終端項目開發(fā),在前期教學(xué)實踐中,筆者已在該實訓(xùn)環(huán)境下開發(fā)了基于智能家居系統(tǒng)的相關(guān)項目用于教學(xué),如圖2所示,取得了不錯的教學(xué)效果。
圖2 課程教學(xué)內(nèi)容開發(fā)
目前,高職物聯(lián)網(wǎng)專業(yè)普遍開設(shè)了基于嵌入式Linux操作系統(tǒng)應(yīng)用開發(fā)的相關(guān)課程,由于Linux開發(fā)涉及大量命令和參數(shù),且需要一定的計算機基礎(chǔ)和軟件開發(fā)門檻,高職物聯(lián)網(wǎng)專業(yè)學(xué)生在沒有大量前續(xù)課程學(xué)習(xí)基礎(chǔ)的情況下,無法真正掌握功能強大的Linux系統(tǒng)用于物聯(lián)網(wǎng)系統(tǒng)的搭建。在AIoT背景下,必須選擇物聯(lián)網(wǎng)專用操作系統(tǒng)進行學(xué)習(xí),根據(jù)高職物聯(lián)網(wǎng)專業(yè)嵌入式課程教育教學(xué)的特點,選取RT-Thread嵌入式操作系統(tǒng)開展教學(xué),將RTThread操作系統(tǒng)的運行、RT-Thread項目框架的搭建、物聯(lián)控制的實現(xiàn)、Modbus2MQTT網(wǎng)關(guān)設(shè)計等物聯(lián)網(wǎng)應(yīng)用開發(fā)任務(wù)作為教學(xué)載體,同時推廣國產(chǎn)實時操作系統(tǒng)(RTOS)的應(yīng)用[9]。
RT-Thread嵌入式操作系統(tǒng)是一款由我國開源社區(qū)主導(dǎo)開發(fā)的開源操作系統(tǒng),同時也是一個組件完整豐富、高度可伸縮、簡易開發(fā)、超低功耗、高安全性的物聯(lián)網(wǎng)操作系統(tǒng),具備通信協(xié)議支持和云端連接能力,是AIoT 領(lǐng)域最為主流的操作系統(tǒng)平臺之一。與 Linux 操作系統(tǒng)相比,RT-Thread體積小、成本低、功耗低、啟動快速,除此以外,RT-Thread還具有實時性高、占用資源小等特點,非常適合于資源受限(如成本、功耗限制等)的場合。
RT-Thread操作系統(tǒng)支持所有主流微控制器,可以解決設(shè)備碎片化問題,與AIoT的實訓(xùn)軟硬件環(huán)境無縫銜接,非常適合加入高職物聯(lián)網(wǎng)專業(yè)的嵌入式課程體系中。
此外,對于移動端操作系統(tǒng)應(yīng)用程序開發(fā)課程,在AIoT核心技術(shù)獨立自主需求的背景下,華為鴻蒙操作系統(tǒng)將成為高職物聯(lián)網(wǎng)專業(yè)嵌入式課程體系中的重要課程之一,鴻蒙是為物聯(lián)網(wǎng)和人工智能服務(wù)的操作系統(tǒng),目標(biāo)是實現(xiàn)萬物互聯(lián)和萬物智能,這與AIoT產(chǎn)業(yè)所需要的技能高度吻合,作為培養(yǎng)技能型人才的高職院校應(yīng)積極響應(yīng),校企共同將自主核心技術(shù)的應(yīng)用發(fā)揚光大[10]。
作為萬物互聯(lián)的物聯(lián)網(wǎng)專業(yè),結(jié)合人工智能方向的嵌入式課程體系建設(shè)是專業(yè)教學(xué)改革的重要方向,也是專業(yè)發(fā)展的必由之路。在AIoT背景下,通過引入和優(yōu)化Python程序設(shè)計、微控制器應(yīng)用開發(fā)(基于MicroPython)、嵌入式系統(tǒng)應(yīng)用與調(diào)試(基于RT-Thread)、鴻蒙移動應(yīng)用程序設(shè)計等最新前沿嵌入式課程,使專業(yè)課程體系更加合理,專業(yè)人才培養(yǎng)質(zhì)量進一步提高。總之,為了迎接AIoT產(chǎn)業(yè)發(fā)展帶來的機遇與挑戰(zhàn),高職物聯(lián)網(wǎng)專業(yè)應(yīng)積極投入到嵌入式人工智能課程體系的建設(shè)和改革工作中,不斷提升專業(yè)學(xué)生職業(yè)發(fā)展的能力。