Maker 和 Hacker 該如何選擇開發板呢?

Fred Chien(錢逢祥)
Maker Cup

--

看到琳琅滿目的開發板不知道該怎麼選嗎?到處都是興奮的開箱文,每片開發板都被形容得很棒,讓你不知該怎麼辦嗎?

這已經不是個案,許多人對一塊塊全新的開發板總有很多憧憬,直到拿到手上以後,才發現一切一切都完全幻滅,時間也在一次次白費工夫而逝去。他們不會告訴你,身為一個開發者,每當拿到一張新的開發板,就代表一個痛苦的開始。每次期待下一張開發板會更好,每次都再次失望。

於是,有許多開發者開始「痛恨」盲目追求最新的開發板,以免徒增自己的痛苦,熟門熟路的開發者,更討厭純 Spec 規格比較的洗腦。其實,選擇開發板是有竅門的,如果你還在「以硬體規格來選擇開發板」,那就大錯特錯了!別再讓業配文給騙了!

事實上,選擇開發板,真正需要注意的有三點:

  1. 晶片是否有完善的「原廠支援」。
  2. 注意是否足夠「開放」,尤其軟體部分的開放更為重要。
  3. 是否存在足夠規模的「開發者技術社群」。

如果一片開發板,無法滿足這三項要求,基本上是不值得投入時間的。至於為什麼,就讓我們細細道來。

原廠支援的重要

這邊指的原廠支援,並非單指開發板製造商,更指的是開發板上的「晶片設計商」。

驅動一顆晶片是件極為繁瑣的事,每一家晶片都有不同的精密設計,非原廠的開發者很難以己之力去很好的控制一顆晶片。所以,若是原廠支援不夠完善或完整,將使開發者難以發揮開發板的功能,甚至讓開發板天生殘疾。

尤其是現今的晶片可能不單只是控制器而已,而是含有多樣功能的複合式晶片,如:圖形處理單元(GPU)、無線網路支援(Wireless)等。若是沒有良好的驅動程式,開發板就已經喪失最重要的價值了。

不只是如此,現在常見的 Linux 作業系統,其作業系統及各種軟體解決方案更新速度極快,晶片原廠若是無法跟進維護並推出適合的驅動程式,開發板的生命週期會大量縮短,許多新的功能都無法實作或升級。運氣好,三、五個月不用擔心;運氣不好,一、兩個月就讓開發板變成無用之物,或是永遠停在老舊的作業系統上。

畢竟開發板就是要用來開發新應用的,如果系統無法與時俱進,實在沒有太大投入的價值。這也是為什麼,樹莓派(Raspberry Pi)至今可以屹立不搖且長壽,其一個很重要的原因是,晶片廠 Broadcom 對其支援不遺餘力,所以即便樹莓派已出貨多年,至今其硬體仍可以無痛運行最新的 Linux 作業系統。

因此,如果你發現某個開發板,只是一個非晶片廠的製造商所設計出來的,而晶片原廠未深入參與支援,最好多加考慮。

開放的重要

硬體的開放固然重要,這可以讓你有機會因應自己需要,而修改開發板上的硬體設計,但更重要的是軟體的開放,因為真正的應用,總需要靠軟體來支撐。

若是軟體的程式碼足夠開放,或是足夠讓他人可以二度開發或移植,能彌補開發板原廠的支援度不足,開發者們也有機會自己動手來修正。廣大的開發者甚至能藉由相互交流和協助,在沒有原廠支援的情況下,排除許多問題。

更重要的是,當作業系統升級時,足夠開放的軟體或驅動程式,仍有機會在新的系統上運行。

足夠規模的開發者技術社群

開發者太多,需求也太多,光靠原廠支援絕對無法滿足所有人的需求。若是有足夠規模的開發者技術社群,則能彌補許多遺憾。更多神奇的開發者,會使用各自的長處,為開發板加上許多價值和機會,遠遠超出原廠的設計或預期。

此外,有足夠規模的開發者技術社群,也才能發展更深入的應用,而不只是表面工夫而已。通常開發板中有太多太多的雷,如果沒有夠深入的開發者先行排除,常會阻礙許多開發者的探索和應用。

所以,一片開發板通常極度依賴技術交流社群,而且社群必須有一定的技術深度,可以回應各式問題或狀況。除了有任何問題,可以互相支援之外,也才能讓開發者接觸更多領域的技術,發揮更多開發板的價值。此外,好的技術社群,甚至會「開放原始碼或回饋許多成果,讓開發板更為開放」,讓生態走向正面循環。

試想,當你使用開發板碰到任何問題,又不停撞牆,沒有人能協助你排除,也沒好用的工具,你怎麼能持續抱著信心開發下去呢?

你可能發現了,三項條件相輔相成。有足夠好的原廠支援,才會造就足夠開放的環境;足夠開放,才能有足夠多的開發者技術社群;而有足夠多的技術交流,才能讓一切更為開放,原廠才能更專心支援真正重要的事。

想要選一片不煩心又省事合用的開發板,條件缺一不可。

--

--