|

Amazon推廣AWS IoT的最後一塊拼圖:a: FreeRTOS

   

作者:陸向陽

Amazon針對Sensor Node推出a: FreeRTOS方案,補齊AWS IoT最後一塊拼圖

對自造者、創客(Maker)而言,應該對FreeRTOS不陌生,因為紅極一時的ESP8266用的正是FreeRTOS,聯發科的LinkIt MT7697也同樣是用FreeRTOS。

FreeRTOS對Maker而言,大概是介於「毫無作業系統」與「輕量性嵌入式作業系統」間。筆者所指的輕量性嵌入式作業系統,其RAM記憶體需求大體在32MB~128MB間,如Arduino Yun(雲)有64MB RAM,聯發科的LinkIt Smart 7688有128MB RAM等,這個層級的代表性嵌入式作業系統為OpenWRT。

事實上,Google提出的Android Things(原代號Brillo)也是鎖定這個範疇,宣稱32MB、64MB RAM即可執行,但筆者看了一下現行支援Android Things的4片官方開發板,均有512MB、1GB RAM,與宣稱的有些差異。相對於此,FreeRTOS若根據其官網宣稱,其核心程式碼只佔用6KB~12KB ROM空間而已,RAM方面的需求也必然不大。

FreeRTOS在近期產生一些變化,首先是FreeRTOS的發起人被Amazon所雇用,而後FreeRTOS的授權方式從GPLv2改成MIT,更之後Amazon宣布以FreeRTOS v10版為基礎推出自有版本的FreeRTOS,稱為Amazon FreeRTOS,簡稱a: FreeRTOS。

為何Amazon要支持與推展FreeRTOS?

關於此可自2014年說起,Amazon的雲端事業單位AWS在該年推出Lambda,Lambda是一種供他方呼叫(call)運用的雲端函式(或稱函數),透過此函式可自動增減執行雲端程式所需的資源,包含運算力、儲存空間等。

在最理想狀態下,撰寫程式的人可以完全不考慮、不理會程式所需要耗用的實體資訊資源,盡情專注於程式邏輯、業務需求的撰寫上,此理念即是今日常言的Serverless,Serverless不表示伺服器(Server)不存在,只是更運作於無形,而感受不到。

接著2015年10月AWS推出AWS IoT Core,這是一套在Amazon機房建立的物聯網雲端平台,可上傳、分析前端感測資訊,支援前端物聯網運作。2016年11月AWS的年度技術盛會re: Invent上,AWS宣示不單發展雲端(Cloud)技術,也將重視與發展端緣(Edge)技術,因而推出Greengrass Core,是在前端的端緣機器內執行的軟體。

Amazon推AWS IoT Core(Source

Greengrass Core支援前述的Lambda,可以跟雲端上的Lambda連結呼應運作。因此,Greengrass Core等於是把雲端上的Lambda技術帶到前端,進行更大範疇的擴展。而要執行Greengrass Core,至少要128MB RAM才行,AWS官方也言明可用RPi 3(第三代樹莓派)。有趣的是,Android Things官方支援的4片開發板中,RPi 3也在其中。

若說AWS IoT Core是AWS的IoT Cloud技術代表,那Greengrass Core即是AWS的IoT Edge技術代表,但至此還缺乏一樣東西,那就是最前端的IoT Sensor Node(感測器節點)。

AWS推Greengrass Core(Source

有關更前端的技術佈局,其實AWS也早有初步嘗試,即2014年4月推出的Amazon Dash,這是一個裝置在家庭各處的無線按鈕,安置在洗衣粉、衛生紙附近,一旦洗衣粉快用盡、衛生紙快用盡,按下按鈕便可完成網路叫貨而後到貨,此有助加速Amazon的電子商務業務。

Amazon把Amazon Dash開放成AWS IoT Button,可讓其他人發揮運用。但AWS IoT Button畢竟只是個按鈕,尚缺乏一個完整的感測軟體平台,因而Amazon才推出Amazon FreeRTOS,補足最前端的一塊技術,至此的AWS IoT技術算已近乎完整佈局。

AWS IoT Button技術架構(Source

a: FreeRTOS技術特色

雖言完整佈局,但Amazon的前端技術,在端緣處要配置至少128MB RAM的系統,而各感測器節點的Amazon FreeRTOS需64KB RAM,若把通訊協定卸除轉移,可進一步降低至16KB,如此也表示現階段的Amazon無意佈局64KB與128MB間的系統,此領域即前述的輕量性嵌入式作業系統。

Amazon為了推行FreeRTOS,除了雇用FreeRTOS創辦人,將FreeRTOS授權變更成MIT(新授權方式更利於FreeRTOS軟體技術的商業化運用)外,還推出兩個配套,一是Amazon FreeRTOS Qualification Program,簡稱Amazon QFP,即大眾以Amazon FreeRTOS開發出應用系統時,可交由Amazon測試驗證。

另一是AWS推出AWS IoT Device Management,可以透過雲端上單一主控台,以無線通訊方式更新每個前端裝置內的Amazon FreeRTOS作業系統韌體,以無線方式更新韌體也稱為OTA(Over-The-Air)。如此,Amazon強化推展前期的驗證工作,也強化IoT實際營運佈建後的維護管理。由此可知,Amazon加持後的FreeRTOS,似也對Maker圈有利,以FreeRTOS為基礎進行各種開發,將可更快商業化發展程序。

最後,雖然Amazon宣稱a: FreeRTOS只要16KB~64KB RAM就可運作,而現行官網指定的4片開發板,RAM確實略高於64KB,如512KB、360KB、128KB、256KB等,比Android Things盛會期的宣稱與實際開發板間的差距,少一些。

(責任編輯:葉于甄)

陸向陽
陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

1 Comment

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *