作者:陸向陽
近年來的創客(Maker)應用創作,有愈來愈多機會使用到無線通訊,且多數時候為Wi-Fi。過去以Arduino為基礎,以加搭Shield的方式擁有Wi-Fi功能,只有少許時候用及Wi-Fi,若經常運用到,加搭方式反而不便,而必須改考慮一起頭即具備Wi-Fi功能的開發板。
而近期高度受矚目的ESP8266,某種條件下合乎這樣的要求,ESP8266本身即是Wi-Fi收發器晶片,但附帶提供簡略的控制接腳,價格低廉,加上網路上有程式師為它撰寫相容Arduino語法、整合開發環境的方案,因而快速成長。
事實上不僅ESP8266,愈來愈多創客開發板擁抱Wi-Fi,例如Arduino的衍生款Arduino Yun,聯發科提出的LinkIt ONE、LinkIt Connect、LinkIt Smart等,而瑞昱在年初也推出Ameba加入響應。
Wi-Fi開發板分三量級
雖然很多開發板都具備Wi-Fi,但筆者認為,仍需要以硬體資源及作業系統為區別,以程式記憶體容量而言,低於16MB以下,甚至僅在512KB、1MB容量的,大體僅能使用特有的輕小型作業系統,如FreeRTOS,屬於輕量級。
而在16MB以上,512MB以下,則適合中量級的嵌入式Linux作業系統,最典型即是OpenWRT,而超過512MB以上,幾乎可用與PC同等級的作業系統(約10年前的PC水準),可使用一般PC作業系統,如樹莓派的Raspbian,即是以Debian Linux修改而來。
目前中量級以OpenWRT為主的創客開發板有Arduino Yun,也包含新推出的Arduino Tian,或聯發科的LinkIt Smart(7688),而輕量級以ESP8266較常見,但瑞昱推出Ameba後,在輕量級領域有了新選擇,後起的Ameba是否有能力挑戰ESP8266,筆者嘗試以壹週刊式的齊頭比較,提供一個角度的評估參考資訊。
硬體功能比較
核心方面,Ameba使用Cortex-M3核心,時脈166MHz,ESP8266使用Xtensa LX核心,時脈80MHz~160MHz,此方面即便時脈接近而平手,也以Ameba為佳,理由是Cortex-M系列是相當廣泛、普遍使用的核心,可取用的驅動程式、範例程式也較多,省去轉寫(Porting)的麻煩。
系統主記憶體方面,ESP8266的Datasheet未言明具體SRAM容量,有部分資料顯示為160KB+16KB,但Datasheet內有說明另一點,即ESP8266以Station模式運作下,能有36KB SRAM空間可供創客運用。相對於此,Ameba為512KB SRAM,並保留約120KB空間供創客運用。
在程式記憶體方面(兩者均透過外接),ESP8266因不同板卡業者,有些提供512KB,有的為1MB,Ameba因只有官方板,容量為2MB。程式記憶體一樣要考慮作業系統與相關參數等耗佔後,仍有多少空間供創客運用發揮。但這可能要另闢一文說明,特別是ESP8266有不同的軟體運行方案,採行原廠FreeRTOS,或採行NodeMCU、Smart.js等均不同。
在接腳方面,Ameba提供30個GPIO腳位,ESP8266僅有12個,不過在接腳多工設計下,可用接腳數必然較少,如此Ameba仍有14個,ESP8266則只有8個,部分板卡業者只留2個接腳供創客使用,有的甚至為0,完全不給用。GPIO接腳數目過少一直是ESP8266的一大弱項,幾乎多數晶片的GPIO數都能超越ESP8266。
另外,Ameba的I/O介面也較多,ESP8266僅1組UART,Ameba則有3組,I2C有4組,SPI有2組,但此方面ESP8266均僅有1組。
最後要比較最關鍵、重要的Wi-Fi功能,Ameba與ESP8266均為11n、單一天線收發的設計,但規格與功能仍有高下之別。
例如Ameba支援HT40(High Throughput 40MHz),能以40MHz通道頻寬加速傳輸,但ESP8266則缺乏此支援,因此,一般情境下ESP8266約8Mbps傳輸率,Ameba則為10Mbps~20Mbps。
以上為未加密下的傳輸率,若開啟加密功能,傳輸率必然有所折耗。關於此,Ameba因為主控晶片RTL8195AM本身即有加密運算的硬體加速電路,因此加密傳輸的折耗少,能以較快方式實現SSL傳輸,相較之下ESP8266僅以軟體方式實現SSL加密,傳輸率明顯拖累降低。
其他方面,Ameba允許使用3種Wi-Fi天線,包含PCB印刷電路板式天線、I-PEX/U.FL連接器的外接天線,以及一般典型外接天線,ESP8266因不同板卡業者,多只能選擇PCB天線或I-PEX天線,且多半一片板子只提供一種天線,無法切換選擇。
更值得注意的是,創客圈也愈來愈多機會使用2種以上的無線通訊技術,如聯發科LinkIt ONE(GSM/GPRS+GPS+Wi-Fi+BT)、Arduino Tian(Wi-Fi+BT)、ESP32(Wi-Fi+BT)等均具備2種以上無線通訊能力,Ameba除了Wi-Fi外也具備NFC功能,能做許多辨識相關應用,此方面ESP8266也同樣缺乏。
小結
綜合上述,若同樣以FreeRTOS運作(以及相容Arduino開發)為基準,Ameba在多數硬體表現上均較ESP8266理想,若無體積、成本等限制,Ameba或許是更理想的選擇。
不過,今日ESP8266能紅透半邊天,顯然有硬體規格以外的其他優勢,例如超低售價、多樣的選擇、使用性(包括穩定性、功耗表現等)不差、成功的開源策略,以及彈性的服務模式等,這些綜合因素造就了它的崛起,也讓它成為既有開發板大廠不容忽視的對手。
- 創客積木M5Stack加入LLM戰局 - 2024/11/29
- MLPerf大語言模型、生成式AI測項觀察 - 2024/11/27
- Sony強力加持!樹莓派發表專屬AI攝影機 - 2024/10/28
2015/12/23
Ameba 上支援 Arduino 的完整官方 SDK最近已 release,可以讓玩家輕鬆上手
請參考 http://www.amebaiot.com 內的詳細說明