天天看點

開源硬體的前世今生

1、序言

在網際網路爆發式增長了幾十年的今天,越來越多的末端硬體裝置已經具備連接配接網絡的能力,業态也越來越豐富,這就是今天所說的物聯網。

作為一個08年就開始玩“開源硬體”的骨灰玩家,本着執古禦今,嚴謹治學的态度,筆者覺得有必要再回頭捋一捋,究竟是什麼力量在驅使行業飛速發展。

2、開源硬體及生态介紹

2.1、簡介

開源硬體是指,與自由及開放源代碼軟體相同方式設計的計算機和電子硬體。

開源硬體的前世今生

(圖檔來源于網際網路)

開源硬體其實是源于開源軟體的,開發開源硬體的工具和運作在開源硬體上的軟體,一般都是開源軟體,其實是一種非強制的開源文化。開發硬體過程中的詳細設計材料,如原理圖(Schematic)、原料清單(BOM)、布局圖(PCB Layout)等,也都會完全開放。尤其是開源許可證,一般會直接與配套的開源軟體保持一緻。

開源硬體的前世今生

當然,要聊開源硬體,就少不了開源硬體的鼻祖 - Arduino.

2.2、Arduino

2.2.1、硬體

Arduino 最初在 2005 年被引入學校,用作微控制器程式設計教學。那時隻是一個很普通的開發闆,唯一特殊之處是定義了一套簡單易用的IO接口。

Arduino is the world’s leading open-source hardware and software ecosystem.

-- arduino.cc

開源硬體的前世今生

後來 Arduino 因為硬體接口極其簡單易用,許多人開始為它開發擴充硬體子產品(原名Shield,俗稱擴充闆或扣闆),尤其是在2008年以後,因Arduino開發闆和擴充子產品成本都極其低廉,開始在國内大量生産。

開源硬體的前世今生

有了硬體,就少不了需要驅動軟體,于是很多愛好者開始為 Arduino 寫可重用的軟體。直到今天,Arduino 的軟體生态異常龐大,市面上常見的包括傳感器的各類IO硬體,都有了統一規範的軟體支援,內建在 Arduino 軟體生态中。

這是 Arduino 對 IoT 領域 2021 年出貨規模的預測。

Arduino has become the number one choice for electronics makers, especially for developing solutions for the IoT marketplace, which has been predicted to become a $6 trillion market by 2021.

單純使用 Arduino 的短闆也很明顯:

基于 Arduino 開發,需要遵循 Arduino 的許可證和相關 Policy,直接将在 Arduino 基礎上建構的應用商業化有一些限制。

Arduino 自身的開發工具比較單一,僅适合初學者學習之用

阻塞式單線程運作,完成複雜工程需要清晰的狀态機設計,成本效益并不高

是以後來出現了各類 Arduino 變種硬體及軟體,讓整個軟硬體生态開始多樣化,同時其實又是有些“分裂”的。

2.2.2、軟體

Arduino的軟體設計特别“傻”,一個初始化入口,一個大循環,就是整個應用開發的全部。

然而正是因為這種極簡的設計,讓非常多非電子工程科班出身的開發人員,得以發揮他們的創造力。

在這種架構下,Arduino程式設計語言采用了C++最精要的部分,面向對象設計,對硬體原子能力進行抽象,進而使得大量的第三方開發人員可以将其開發适配的各類外設,對接到Arduino軟體架構的标準接口上,提供給開源生态使用,再次極大推動了生産力提升。

Arduino Framework 架構圖

開源硬體的前世今生

2.3、Platform IO

大約2014年開始,出現了 PlatformIO ,早期這個開源軟體以Arduino生态為陣地,通過“爬取”各個社群和團隊産出的硬體和軟體庫,整合到一套開發工具和生态中,使得 Arduino 系列的生态以及後來的其他嵌入式架構和軟體,對于使用者而言又歸于統一。

開源硬體的前世今生

現在的 PlatformIO 已支援包括 ST, NXP, Espressif 等10+家廠商的1000多種各類開發闆,其中絕大多數是基于 Arduino 及其派生的 framework 來支援 Arduino 模式的應用開發,可以使用其生态中囊括的約11000多個硬體驅動、中間件的軟體庫。

為什麼重點提到PlatformIO呢?因為它類似一個流量入口,把開發硬體的工具和軟體生态收斂在一個地方,在Arduino生态的基礎上,又形成了更加高效創新力。

2.4、更多

不僅闆級硬體能開源,晶片架構和指令集也可以開源,比如 RISC-V.

2010年UC Berkerly啟動的RISC-V項目迅速引爆了業内的關注,很快幾年内就有了相應軟硬體産品面世。

開源硬體的前世今生

3、阿裡雲與開源硬體

3.1、HaaS

在開源生态的貢獻中,阿裡從來都是大手筆投入。除了捐給Apache基金會的衆多開源軟體,也有阿裡雲捐贈給開放原子開源基金會的AliOS Things.

在開源硬體上,自然也有戲份。

HaaS是硬體即服務的縮寫,旗下有多款開源硬體,比如HaaS100,HaaS600和剛釋出的HaaS EDU K1.

開源硬體的前世今生

3.2、輕應用

如果說HaaS硬體就像Arduino主機闆,HaaS輕應用則對應Arduino Framework.

和Arduino Framework一樣,為了讓更多開發人員能夠用起來,HaaS輕應用支援JavaScript和Python這類全棧語言,快速在嵌入式硬體上進行應用開發。

同樣,HaaS輕應用也是一套開源軟體:

Github:

https://github.com/aliyun/haas-mini-program

Gitee:

https://gitee.com/alios-things/haas-mini-program

結語:開源硬體暢想

聊了這麼多開源硬體,可以發現它的發展軌迹是始于開源軟體,也終于開源軟體的。

回到本文開頭的思考,到底是什麼推動了行業飛速發展?原因似乎很容易了解,開源并非免費,開源是更多的資源互換,催生更多的交易,進而讓整個社會的協作效率大大提升,實與“讓天下沒有難做的生意”有異曲同工之妙。

自由開放即生産力。

繼續閱讀