浦靈敏,施紀紅
(蘇州健雄職業技術學院 人工智能學院,江蘇 蘇州 215411)
智慧物聯網(Artificial Intelligence of Things, AIoT)是人工智能(AI)和物聯網(IoT)技術相融合的產物。近年來,隨著AIoT技術的迅速發展,勢必要求高職院校物聯網專業對現有的課程體系做出及時調整。而物聯網應用技術是一個多學科交叉融合的專業,涉及電子技術、計算機網絡、軟件技術、自動控制等眾多專業知識和技能。其中,嵌入式技術應用與開發是物聯網專業人才培養的重要核心技能,同時,嵌入式也是人工智能發展的基礎,開啟了人工智能的進程。高職物聯網專業必須緊隨目前最新的人工智能發展方向,調整和優化現有物聯網嵌入式課程體系和內容。因此,在AIoT背景下,開展嵌入式人工智能相關課程體系的建設研究具有十分重要的意義[1-2]。
嵌入式系統分為硬件系統和軟件系統兩大部分,對應課程的知識綜合性強,高職院校的人才培養目標定位于培養高素質技術技能型人才,既需要掌握理論又要與實際應用緊密聯系,對實踐要求高。目前,高職院校物聯網專業普遍開設了嵌入式微控制器和嵌入式操作系統等相關課程,采用意法半導體STM32F103系列控制器進行物聯網感知層產品的開發,使用嵌入式Linux和Android系統進行網絡層和應用層智能設備、云平臺服務器、移動終端應用程序的設計,課程覆蓋了物聯網的感知層、網絡層和應用層三層架構,教學難度大,教學效果不明顯,學生學完該系列課程仍無法開展實際項目的軟件編程、硬件設計和調試,更無法體現嵌入式技術在人工智能領域的應用[3]。
目前,嵌入式課程教學內容仍以知識點的驗證性技能實訓為主,偏重微控制器外設資源的應用、系統應用程序編程語法的講解和練習,課程知識點和技能點之間相對獨立,前后關系不明顯,且嵌入式軟硬件系統種類繁多,開發環境、編程、下載和驗證方法各異,任何環節出現問題都將影響整體實現效果,并需要重新按照流程進行調試[4]。
此外,在傳統的嵌入式物聯網硬件驅動開發領域,涉及眾多的通信協議和數據交換,并且由于芯片和硬件結構的限制,不同的硬件平臺所具備的資源各不相同,給高職物聯網專業的AIoT項目教學和應用開發帶來了較大困難[5]。
對于物聯網專業的學生而言,嵌入式課程的教學側重點應是如何快速實現人工智能+專業應用,即將人工智能和物聯網技術結合起來。目前大部分高職院校嵌入式基礎課程教學仍以C語言為主,而主流的人工智能軟件框架大多是基于Python語言開發,在AIoT背景下,嵌入式課程體系必須學習Python語言的基礎編程方法,并在后續嵌入式硬件課程中使用MicroPython進行基于微控制器的應用開發[6]。
MicroPython是基于Python3語法實現的一種可以在微控制器上運行的Python語言分支,擁有自家的解析器、編譯器、虛擬機和類庫等,可以實現底層硬件模塊的訪問和操作,如對LED、按鍵、SD卡等的控制。同時,MicroPython固件封裝了大量庫和函數,包括常用的通信協議和硬件驅動,在項目開發時只要調用這些庫和函數就可以快速控制LED、液晶、舵機、多種傳感器、SD卡、串口、I2C總線等實現相關功能,極大地降低了開發難度,減少了重復開發工作,提高了運行效率。MicroPython可以在多種嵌入式硬件平臺上運行,如STM32、ESP8266、ESP32、CC3200等。
在經過前續Python基礎語法和常用算法的學習后,利用MicroPython聚焦解決專業應用性問題,可以快速開發通用硬件平臺下的物聯網系統驅動[7]。
目前,STM32和ESP8266這兩大硬件平臺是MicroPython運行中最為完善和成熟的應用平臺。嵌入式人工智能課程需要搭建較快的硬件運行環境,并非所有的STM32都能使用 Python編程,能夠運行MicroPython系統的微控制器需具備以下性能:
(1)具備USB通信功能(用于模擬串口通信、U盤讀寫操作);
(2)FLASH閃存:256 KB及以上;
(3)主頻:90 MHz及以上(主頻越高系統運行越流暢)。
可見,最高主頻為72 MHz的STM32F103系列微控制器已無法流暢執行Python程序,高職院校可以使用基于MicroPython開發語言的官方Pyboard開發板,如圖1所示。將Python編程語言直接運行在STM32F405嵌入式開發板上,STM32F405微控制器采用高性能ARM Cortex-M4 內核,工作頻率高達168 MHz,芯片具有1 MB容量的閃存和196 KB隨機存取存儲器,且性價比較高,非常適合作為嵌入式硬件開發環境[8]。

圖1 MicroPython官方開發板
通過在嵌入式硬件課程上搭建MicroPython固件加Python代碼的嵌入式微控制器實訓教學環境,可以快速進行AIoT智能終端項目開發,在前期教學實踐中,筆者已在該實訓環境下開發了基于智能家居系統的相關項目用于教學,如圖2所示,取得了不錯的教學效果。

圖2 課程教學內容開發
目前,高職物聯網專業普遍開設了基于嵌入式Linux操作系統應用開發的相關課程,由于Linux開發涉及大量命令和參數,且需要一定的計算機基礎和軟件開發門檻,高職物聯網專業學生在沒有大量前續課程學習基礎的情況下,無法真正掌握功能強大的Linux系統用于物聯網系統的搭建。在AIoT背景下,必須選擇物聯網專用操作系統進行學習,根據高職物聯網專業嵌入式課程教育教學的特點,選取RT-Thread嵌入式操作系統開展教學,將RTThread操作系統的運行、RT-Thread項目框架的搭建、物聯控制的實現、Modbus2MQTT網關設計等物聯網應用開發任務作為教學載體,同時推廣國產實時操作系統(RTOS)的應用[9]。
RT-Thread嵌入式操作系統是一款由我國開源社區主導開發的開源操作系統,同時也是一個組件完整豐富、高度可伸縮、簡易開發、超低功耗、高安全性的物聯網操作系統,具備通信協議支持和云端連接能力,是AIoT 領域最為主流的操作系統平臺之一。與 Linux 操作系統相比,RT-Thread體積小、成本低、功耗低、啟動快速,除此以外,RT-Thread還具有實時性高、占用資源小等特點,非常適合于資源受限(如成本、功耗限制等)的場合。
RT-Thread操作系統支持所有主流微控制器,可以解決設備碎片化問題,與AIoT的實訓軟硬件環境無縫銜接,非常適合加入高職物聯網專業的嵌入式課程體系中。
此外,對于移動端操作系統應用程序開發課程,在AIoT核心技術獨立自主需求的背景下,華為鴻蒙操作系統將成為高職物聯網專業嵌入式課程體系中的重要課程之一,鴻蒙是為物聯網和人工智能服務的操作系統,目標是實現萬物互聯和萬物智能,這與AIoT產業所需要的技能高度吻合,作為培養技能型人才的高職院校應積極響應,校企共同將自主核心技術的應用發揚光大[10]。
作為萬物互聯的物聯網專業,結合人工智能方向的嵌入式課程體系建設是專業教學改革的重要方向,也是專業發展的必由之路。在AIoT背景下,通過引入和優化Python程序設計、微控制器應用開發(基于MicroPython)、嵌入式系統應用與調試(基于RT-Thread)、鴻蒙移動應用程序設計等最新前沿嵌入式課程,使專業課程體系更加合理,專業人才培養質量進一步提高。總之,為了迎接AIoT產業發展帶來的機遇與挑戰,高職物聯網專業應積極投入到嵌入式人工智能課程體系的建設和改革工作中,不斷提升專業學生職業發展的能力。