|

LinkIt 7697比拼ESP 32,誰能勝出?

   

作者:陸向陽

2014年6月COMPUTEX展期間,聯發科技(MediaTek, MTK)發表了LinkIt ONELinkIt Connect(或稱LinkIt Connect 7681)平台。LinkIt ONE規格性能較高,不僅整合、搭配通訊功能晶片,更具有相容Arduino的開發環境,推出不久即掀起轟動。

聯發科於2014年6月推出的LinkIt Connect 7681 開發平台

相對的,較LinkIt ONE低規,且由單一Wi-Fi通訊晶片實現的LinkIt Connect,因為開發環境較特別,必須使用類UNIX環境(Linux或在Windows上加裝Cygwin),並搭配特有軟體開發套件(SDK)之後才能使用,因此人氣不若LinkIt ONE。但整體而言,這一代的LinkIt並沒有得到Maker普遍的接受與愛用。

ESP8266異軍突起的關鍵:開發環境

相較之下,同樣在2014年,上海一間新興晶片商樂鑫(Espressif)推出了超平價Wi-Fi通訊晶片ESP8266。由於晶片價格低廉實惠,即便透過板卡業者(深圳的安信可AI Thinker)進一步實現成板卡後,零售價仍然落在5~10美元左右,立刻引發眾人關注。

ESP8266初期也需要專業軟體開發套件進行開發,由於許多人的關注與討論,開始有網友開始為其撰寫Arduino相容的開發環境;相容環境到位後,ESP8266的開發變得大為容易,使ESP8266更加走紅。之後更有愈多網友發起專案,以不同的方式撰寫ESP8266控制程式,如使用Lua語言、Python語言、JavaScript語言等。

但論實際硬體規格,LinkIt Connect實與ESP8266不相伯仲,甚至在某些方面更為勝出,例如GPIO接腳較多;然而,因為軟體支援、奧援的差異,後續的關注度也各不相同。ESP8266走紅後,樂鑫在2016年9月推出其接替晶片ESP32,除了原有Wi-Fi功能之外,也延伸提供BLE功能。

平價物聯網晶片平台推出時程比較(Source:陸向陽)

由上述可明顯體悟:「軟體開發環境支援」是決定晶片在Maker圈發展性的重要因素。

因此聯發科於日前(2017年4月)推出LinkIt 7697。它與LinkIt Connect、ESP8266、ESP32相同,均為單一晶片實現的平台,且與ESP8266、ESP32同樣訴求「平價」與「廣泛軟體開發支援」。

LinkIt 7697 Combo開發板上架了!

LinkIt 7697是否能與ESP8266、ESP32較量?筆者將於下文中,試圖自書面數據比較,使各位能有初步的參考依據。

處理器核心大比拼

首先比較處理器核心。

ESP8266、ESP32用的是Cadence(益華)公司旗下的Tensilica公司(2013年由Cadence購併)的 Xtensa系列核心,屬於少見的核心類型,因為Xtensa的特性是可彈性組態,依據不同客戶需求可修改其核心設計。(註1)

LinkIt Connect使用的晶心科技(Andes)的AndesCore N7,也屬特殊核心。而LinkIt 7697使用安謀(ARM)的Cortex-M4F核心,是目前最廣泛被使用的處理器核心。

廣泛使用的好處多多:現成許多軟體技術生態均有機會成為奧援資源,且能省去改寫轉移心力、再驗證心力,尤有甚者,現有範例程式、函式庫也多可直接引用、呼用(Call,大陸稱為調用)。

若不是已被廣泛授權運用的核心,也最好是較制式固定的核心,LinkIt Connect使用的N7就合乎這個條件。

而可彈性組態的核心,如Tensilica或ARC等,好處是可以搭配晶片製程與設計,達到最佳化(大陸稱「優化」)工程特性,如更高整合度(大陸稱「集成」)、更低功耗、更低成本等;但卻對軟體技術生態經營不利,因為彈性組態的結果,容易帶來軟體不相容、過往軟體開發投資無法延續等隱憂。

或許採行Tensilica或N7核心,是為了追求更平價、高整合、低功耗,而後只能倚賴更廣泛量產銷售晶片,使其成為產業約定成俗(de facto)的標準,鼓勵更多軟體開發者、軟體技術業者轉向,但整體而言,已經很難與Cortex-M系列抗衡。2008年起步的Cortex-M,約有6年的技術領先腳步,雖然同時期Tensilica也開展業務,但一直未成廣泛運用。

四款平價物聯網平台的核心比較(Source:陸向陽)

程式語言支援性比較

ESP8266受眾多程式語言支援,除了官方提供的C語言,網路上發起的還有Lua語言(NodeMCU專案)、Arduino相容的Processing語言(類似C/C++語言)、JavaScript語言、 Python語言,甚至有培基語言(BASIC)。

不過,這些程式語言都是文字、數字型開發,對更低年齡層的開發者來說,可能需要更親和的圖型、方塊型開發,例如樂高(Lego)的Mindstorm系列(NXT/NXT2/EV3),或麻省理工學院(MIT)的Scratch語言等,ESP8266目前(2017年4月)仍缺乏這方面的語言。

相對的,LinkIt 7697採行Google的Blockly方塊開發程式語言,改稱為BlocklyDuino,可以讓更低年齡層更快接觸與學習開發LinkIt 7697,或者讓專業業者儘快做出概念驗證(POC)產品給客戶看。更重要的是,運用Blockly/BlocklyDuino完成拼湊撰寫後,開發環境能自動轉譯並呈現其他語言的程式碼,如Python、Arduino等,有助於進階學習發展。

LinkIt 7697同樣支援JavaScript語言,這對於已經習慣使用JavaScript開發Internet前端(瀏覽器)、後端程式語言(伺服器)的人來說相當方便,不必再另外學習其他程式語言,就能開發出LinkIt 7697的控制程式。

LinkIt 7697也支援Arduino相容開發,這是LinkIt 7697能否順利打入Maker圈最重要的一點。

最後,LinkIt 7697也支援C語言開發,是最官方也最專業的開發方式,通常是大學或出社會後的專業開發人士使用。

簡而言之,LinkIt 7697可以讓國中、國小學童以BlocklyDuino的拼圖方式開發控制程式;而後國中、高中可以用Arduino相容環境開發程式;另外高中、大學、社會專業階段可用C語言開發程式,另在專業上也支援JavaScript。相對的,ESP8266缺乏圖型化拼湊開發,因此開發者群族不容易往更低年齡層延伸。

程式開發撰寫支援比較(Source:陸向陽)

其他比較

文中提及的開發主板(Source:陸向陽)

除核心與軟體奧援之外,LinkIt 7697於諸多方面也能與ESP8266、ESP32比拼,例如同時具備Wi-Fi與BLE,超越ESP8266而直指ESP32;或LinkIt 7697也支援Grove簡易連接器與IFTTT網路條件服務,這也是過往ESP8266的一些特點(須透過Wio-Link板卡實現)。

最後,LinkIt  7697為統一的板卡設計,ESP8266、ESP32則有諸多板卡商推出產品,但其中的規格差異,恐阻礙程式轉移,LinkIt 7697則無此問題。LinkIt 7697也配有硬體加解密設計,使其無線傳輸更安全,更有機會合乎商業化量產需求,這也是ESP8266所欠缺的。

由此可知,LinkIt 7697也期望成為廣泛運用的平價無線物聯網平台,在軟硬體設計支援均更為完備到位後,估計可受到廣泛Maker的青睞。

(責任編輯:林佳盈)

註1:另一家可彈性組態核心的業者為ARC,於2009年被Virage Logic購併,Virage Logic則於2010年則由Synopsys(新思)購併。

 

陸向陽

Author: 陸向陽

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

Share This Post On

3 Comments

  1. 我用過上一版的 Linkit7688 ,後來轉用esp8266 Nodemcu,因為 Linkit7688 雖然支援 Arduino IDE,但是整合兩個 Sensor ,比如說 DHT11 和 LCD1602 之後,程式碼就不夠寫了,不知道新的這一版的狀況如何?

    Post a Reply
  2. 您好,我是Seeed的銷售人員,我們公司和聯發科合作推出了linkIt7697的開發板您的這些文章非常的好,我們英文翻譯轉載您的這篇文章放在我們的論壇裡供廣 喜愛LinkIt7697的Maker閱讀,有在文章開頭註明作者和文章結尾註明來源,特向你申請授權轉載,謝謝
    如有任何建議,請聯繫我,謝謝。

    Post a Reply
    • 我們是MakerPRO編輯部,很高興得知你們對這篇文章的認同及做了翻譯,請問該翻譯文的連結?(也可透過service@makerpro.cc聯繫和溝通)

      Post a Reply

Submit a Comment

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