
經過幾十年發展,嵌入式技術已經用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業性強的屬性,讓很多非嵌入式領域的同學望而卻步。近十幾年的發展,物聯網覆蓋了越來越多領域,包括了家居,商業,工業,農業等領域,不僅吸引了原來嵌入式領域的同學,同時吸引了非常多非嵌入式領域的同學進入物聯網領域。從上面的發展趨勢,可以發現四個重要的轉變:
- 物聯網涉及到的技術面越來越廣,對物聯網開發平台的要求越來越高
- 物聯網對開發者的要求發生了變化,更加強調工具和易用性
- 物聯網操作系統已經突破了傳統操作系統內核的範疇,開始集成越來越多的能力
- 物聯網是雲端一體的,有豐富的應用場景和商業模式,能夠聚合更多的資源
本文將聚焦在技術,人,操作系統和商業模式這四個方面,詳細說明嵌入式到物聯網的轉變及背後的一些思考。

「嵌入式」到「物聯網」的轉變
一 技術棧的轉變
嵌入式和物聯網技術是隨著單片機,操作系統,雲計算,人工智慧等技術一起發展的。按照設備工作的模式,把技術的發展分為以下幾個階段:
- 設備單獨工作:這個階段是從1970年代開始,主要涉及到的技術領域包括單片機,硬體開發板,外設驅動,及上層應用。主要用於工業控制領域,比監控,設備指示等。最著名的是8位的51單片機。
- 多個設備互聯工作:隨著無線通信技術,如ad
hoc,ZigBee(802.15.4),低功耗藍牙的發展,嵌入式設備開始形成網路工作。主要用於智能電網,這類抄表類業務。主要涉及到的技術,除了設備單獨工作階段的技術外,增加了網路連接技術,如802.15.4,低功耗藍牙等,嵌入式操作系統,如FreeRTOS,Contiki,
TinyOS等。 - 雲端一體階段:對設備控制和管理的技術要求不斷提高,和雲技術的發展,越來越多的設備不僅僅需要互聯,也需要連接到雲端。出現了Wi-Fi模組,Wi-Fi和BT
combo模組。筆者認為從這個階段開始真正進入了物聯網的階段。通過網關技術,MQTT/CoAP等技術實現設備的連雲,和能夠通過手機對設備進行管理。相比於多個設備互聯工作階段的技術外,增加了更加豐富的連接技術,如MQTT/CoAP等,及雲端技術,如物聯網雲平台等。
- 物聯網智能設備:隨著技術的發展,設備端不再僅僅是Wi-Fi和BT類的純連接類智能設備,出現了前面幾年特別火的智能音箱,每年億級出貨的IP
Camera等智能設備。這類設備的主要特點是有了多媒體方面的要求,同時能夠消耗更多的雲資源,不僅僅包括了存儲資源,還包括了運算,人工智慧AI演算法的資源。相比於上個階段,增加了多媒體技術,流媒體網路技術,雲端AI技術等,對物聯網技術能力建設的開發人員技術廣度和深度提出了更高的要求。
從上面的梳理,可以看到技術棧的內容越來越豐富,要求越來越高。這個時候問題就來了,這麼多的技術,難道物聯網的開發人員都要懂才能夠做開發和創新嗎?筆者的回答是當然不是,下面會詳細說明筆者對物聯網開發人員要求的理解。
二 開發人員的轉變
筆者把物聯網的開發人員分為兩類,一類是物聯網平台能力建設的開發人員,另外一類是基於物聯網平台提供能力的開發者。
第一類開發者,需要了解整個物聯網領域需要用到的技術。隨著物聯網技術的發展,對這類開發者提出了非常高的要求。這類開發者需要了解從設備端到雲端的全鏈路技術,在其中找到自己的位置。如果不從雲端一體的角度去體系化了解物聯網技術,而是按照嵌入式的傳統思維方式,隨著技術的不斷發展會逐漸被淘汰。這類開發者開發物聯網平台的一個重要目的是吸引越來越多的第二類開發者進來,一起繁榮物聯網生態。
相比於第一類開發者,第二類開發者的挑戰也不小。這類開發者主要有兩個來源,一個來源是傳統嵌入式開發者,另外一個是互聯網開發者。這些開發者都需要學習更多的知識才能夠更好地基於物聯網平台開發。傳統嵌入式開發者需要了解更多的多媒體,雲端,人工智慧等技術。互聯網開發者需要了解嵌入式設備上的各種限制,將雲端,多媒體,AI等技術更好地工程化落地在物聯網場景。
筆者覺得第一類開發者的使命是幫助越來越多的第二類開發者進入物聯網領域。關鍵在第一類開發者實現以下兩點:
- 豐富的功能組件:包含了各種硬體模組,設備端和雲端軟體功能模塊,及配套的開發和調試工具。
- 低代碼開發:Python,JavaScript腳本化語言在物聯網領域的充分運用,能夠極大地降低開發者門檻。
隨著物聯網技術的不斷發展成熟,基礎平台和開發工具的不斷完善,筆者覺得第一類開發者會越來越少,而第二類開發者會越來越多。這樣以來,物聯網開發再也不像嵌入式開發只是一小部分專業開發人員的事情,學校的學生,前端開發者,產品經理,技術愛好者等,都是物聯網的貢獻者。

三 操作系統的轉變
由於操作系統是物聯網領域重要的基礎型技術,且目前物聯網操作系統是百花齊放,專門聊下對操作系統的思考。根據嵌入式和物聯網不斷發展階段,操作系統的特徵,筆者把操作系統分為以下4個階段:
- 無操作系統:早期的嵌入式設備,由於邏輯單一,是不需要操作系統的。
- 簡單操作系統:發展到多個設備互聯工作階段,出現了專門針對於物聯網設備的操作系統,如Contiki,TinyOS。這類操作系統針對設備上報數據和事件設計,非常的簡單,最顯著的特徵是基於事件驅動設計。在發生事件需要上報時,能夠快速做出響應,編程邏輯也是按照此思路設計。
- 實時操作系統:隨著嵌入式領域的不斷發展,出現了針對實時領域的嵌入式操作系統,最典型的代表是FreeRTOS。這類操作系統的特點是相比於Linux實時性好,有較為全面的內核功能,但是並不是強生態,上層應用支持的很少。
- 物聯網操作系統:隨著物聯網的出現,由於實時操作系統主要提供的是系統內核部分的能力,網路,多媒體,配網工具,及應用生態都很難滿足物聯網領域的要求,出現了物聯網操作系統,有RT
Thread, LiteOS,AliOS
Things等,還包括Linux和Android。筆者認為在一段時間內,這麼多的操作系統都會並存,很難被統一。主要原因是目前各晶元原廠並沒有動力去做統一,他們各自選用一個合適自己的就好,無論往哪個操作系統上去主動切換,能夠換來的優勢都是很有限的。
有一部分觀點認為,要解決物聯網碎片化的問題要從統一操作系統開始,統一了操作系統就能夠解決物聯網的碎片化。筆者不贊同這個觀點。物聯網就是碎片化,這是面臨的挑戰,同時也是它的魅力所在。這裡用一個極端的例子來論證筆者的觀點。如果操作系統能夠統一物聯網碎片的問題,那麼直接在晶元層面去統一就好了。但是很明顯,基本不可能做到。做物聯網操作系統的最大的價值在於通過軟硬體深度結合,做到極致的性能和成本優勢。既然已經有多樣的物聯網操作系統就讓它存在,物聯網的碎片化問題的解決不在操作系統。
四 商業模式的轉變
傳統嵌入式領域主要是靠賣硬體掙錢,支撐起一家上市公司都很難,更不用說市值百億美元,甚至千億美元的公司了。但是在物聯網領域,由於它的端雲一體特性,使得整個商業模式發生了巨大的變化,從嵌入式領域的一次性硬體買賣,變成了可運營的賺錢模式,如賣雲存儲,雲服務,及內容。物聯網除了本身帶來的運營收益外,還是手機生態的強大護城河,進一步增加手機這個超級終端的附加值。相信還會出現更多的物聯網百億美元,甚至千億美元市值的公司,市值能夠達到數百億,甚至千億美元的公司肯定是很好地解決了物聯網碎片化問題,形成強大的生態,完成爆炸式增長。

五 總結
隨著嵌入式到物聯網的演進,技術複雜度越來越高,但是對於物聯網開發者,門檻必將越來越低,更多的開發者能夠基於簡單的腳本語言,豐富的生態庫和工具,開發出更多創新的產品,滿足大家對便利生活,高效生產等方面的需求。同時,物聯網的發展不僅僅是技術上的演進,更是商業模式的演進。通過技術的創新,降低了開發者的門檻,讓物聯網開發不再像嵌入式開發是小眾和Geek的專利,而是大眾都能夠開發創新的基地。由於這個轉變,在結合雲端技術的突飛猛進,讓物聯網的商業模式不再像嵌入式主要靠賣開發板,而轉變為賣服務,賣雲資源,賣創新產品。這種海量且高附加值的業務,支撐起了物聯網能夠出現百億級甚至千億級的公司
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/281991.html