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