近幾年來在世界各地吹起了一股智慧物聯網(AIoT)旋風,智慧物聯網技術不僅跨足了各大領域,並且以顛覆市場的浪潮,持續更新產業界領導技術,繼而開始了農業4.0、工業4.0、智慧商店、智慧防災等名詞及產業,到底智慧物聯網是何方神聖,有何獨特的魅力,讓我們來一探究竟。
文/圖 湯秉宏
智慧物聯網(AIoT),其實並不是個單一的技術名詞,而是人工智慧(AI) 及物聯網(IoT) 的組合即AI+IoT。個人認為人工智慧是建立在物聯網完善架構下所累積的產物。物聯網的架構由下而上,又分為感知層、網路層、應用層;由感知層裝置長年累月的收集準確資料,透過網路層傳送到雲端儲存設備,並經過排序、篩選、萃取後,而產生重要資料集合,再經過不斷的驗證與調校,並由領域專家認可後所產生的經驗規則,這一連串的過程涵蓋了大數據分析及機器學習的領域。而這些經驗規則在應用層系統透過電腦設備或各式機器人,代替人類自動執行或進行自動辨識的智能化系統,才是所謂的人工智慧(AI)。
所以學習人工智慧先從物聯網學起應該是最扎實的做法,由物聯網入手學習才能經歷資料萃取為規則,再轉化為人工智慧的過程,而這也是一般初學者最難體驗到的經驗。多虧科技進步,現今即使是小學生也可透過教具學習當紅的物聯網技術。為了避免讓初學者有接錯線的壓力,以下我們就使用具有防呆機制的mBot 感知套件來引領大家進入物聯網的世界。
在實作物聯網系統的過程中,需整合多個核心區塊,其中包含感測傳輸裝置( 含環境訊號採集裝置與訊號轉換傳輸閘道器
功能)、雲端應用API 服務、視覺化監控系統。
首先第一個任務在感測傳輸裝置區塊,以mBot 及相關套件來設計製作,硬體部分mBot 原廠模組提供了超音波、光、聲音、火焰、煙霧、溫濕度、PM2.5…等感測器,另外搭配RJ25 配接器還可結合Arduino 現有的土壤濕度、雨量、水位、水溫、PH 值、電導率…等感測器,可輕易實現智慧種植、智慧家居、智慧防災、空汙偵測等物聯網相關應用。
mBot 本身雖然只有4 個RJ25 介面,每個介面中的6 支腳位包含了VCC 和GND外,還有一組I2C 及2 個輸出入端。在市面上相容於Arduino 的數位訊號感測器皆可於RJ25 介面的1~4 號孔使用( 藍色標籤),而類比訊號感測器則僅能於RJ25 介面的3~4 號孔使用( 黑色標籤),若使用非原廠感測器時需留意數位與類比訊號應對應支援孔位。
在物聯網的應用案列中,當然少不了網路模組,mBot 使用的是無線網路模組(MeWiFi)。當我們以主控版為核心,透過各種感測器接收環境訊號後,經由無線網路模組將資料發送或接收至雲端數據中心,即完成硬體部分的準備。
軟體部分, 我們以圖形化界面的mBlock 為主;如果使用官方的感測器模組,可在mBlock 預設的機器人模組中,或是使用擴充管理器安裝相對應的軟體積木程式,以拼圖的方式即可控制感測器的動作。若是使用非官方的感測器,針對感測器的通訊協定,依據官方的擴展積木說明(http://www.mblock.cc/zh-home/docs/mblock-extension-center-cn/),編寫相對應的擴展積木,也可以輕鬆的以拖曳方式編寫控制程式。
特別要說明的是無線網路模組(MeWiFi) 的控制方式,要依據資料存放的物聯網平台而選擇不同的控制積木。大家常使用的免費物聯網平台有IFTTT、ThingSpeak 等平台,在使用之前需先至該網站申請帳號,申請成功後可得到一組授權碼,就能使用mBlock 中相對應的擴展積木將你的資料傳到該平台,而且平台中還可以將歷史數據以圖表顯示,是初踏入物聯網平台不錯的選擇。但這些平台大都只提供資料存取功能,如果需要支援遠端控制功能的話,就要自己開發物聯網平台API。
而我在教學時因為需要由雲端伺服器發送APP 推送訊息、遠端控制裝置啟動及支援地理資訊系統顯示,所以也著手寫了專屬的IoT 擴展積木,簡化資料上傳至物聯網平台的繁瑣步驟,讓孩子們更容易上手學習。
第二部分雲端應用API 服務區塊,這個區塊的主要功能為提供資料上傳與資料查詢功能的網路API 服務,另外如果希望由mBot 驅動APP 推送警報訊息、遠端控制mBot 動作、產生歷史紀錄資訊…等等跨平台的雲端服務,由API 產生跨平台的XML/JSON 資料,提供給網頁端或APP端顯示及查詢使用,都需要在這一區塊處理。建議使用可於Linux 系統上執行的伺服器端程式(PHP/Java/Python) 來撰寫,因為可以直接安裝於NAS 或Raspberry Pi 上執行,可以大幅的降低雲端伺服器系統的建置成本。特別需注意的是雲端應用API 服務,需要與MeWiFi 的擴充積木搭配使用,它們多是配套組合,換句話說,無法以A 公司的擴充積木,連線至B 家的雲端應用API 服務。
最後一個部分視覺化監控系統,也是物聯網架構中最精華的部分,但這部分需要自己動手實作,因為每個人監測的項目、關心的重點、需要顯示的資訊都不同,所以沒辦法拿別人的功能來套用,這部分可以開發網頁或APP 來完成個別需求。
視覺化監控系統的主要功能是由感知層收集了大量資料,經過排序、篩選、分類後再給使用者閱讀,甚至需繪製成圖表及標註其地理位置等資訊,在緊急狀況發生時主動發送訊息給使用者,或提供遠端控制的功能,讓使用者啟動遠端設備,來避免或減少損失。而大量收集資料、萃取後所產生的經驗規則,配合專家學者的演算法,更可做為重要的輔助決策資訊,提供重要的參考依據,也才是人工智慧(AI) 真正能發揮作用的時候。
每一個智慧物聯網系統都是獨一無二的,我們都可以打造自己專屬的智慧物聯網系統,所以別讓你手邊的科技教育睡著了,運用得當,兒童教具也可以躍身成為物聯網神器。
台灣STEAM 教育機器人發展協會聯合發起人
FB 粉絲專頁 @ TaiwanSteam
Email:max@xoo.tw
Copyright © 2018 勁園科教集團 All Rights Reserved