當前位置: 華文星空 > 知識

從「嵌入式」到「物聯網」有哪些變化?

2021-05-31知識

經過幾十年發展,嵌入式技術已經用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業性強的內容,讓很多非嵌入式領域的同學望而卻步。近十幾年的發展,物聯網覆蓋了越來越多領域,包括了家居,商業,工業,農業等領域,不僅吸引了原來嵌入式領域的同學,同時吸引了非常多非嵌入式領域的同學進入物聯網領域。從上面的發展趨勢,可以發現四個重要的轉變:

  • 物聯網涉及到的技術面越來越廣,對物聯網開發平台的要求越來越高
  • 物聯網對開發者的要求發生了變化,更加強調工具和易用性
  • 物聯網作業系統已經突破了傳統作業系統內核的範疇,開始整合越來越多的能力
  • 物聯網是雲端一體的,有豐富的套用場景和商業模式,能夠聚合更多的資源
  • 本文將聚焦在技術,人,作業系統和商業模式這四個方面,詳細說明嵌入式到物聯網的轉變及背後的一些思考。

    「嵌入式」到「物聯網」的轉變

    一 技術棧的轉變

    嵌入式和物聯網技術是隨著微控制器,作業系統,雲端運算,人工智能等技術一起發展的。按照器材工作的模式,把技術的發展分為以下幾個階段:

  • 器材單獨工作:這個階段是從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的專利,而是大眾都能夠開發創新的基地。由於這個轉變,在結合雲端技術的突飛猛進,讓物聯網的商業模式不再像嵌入式主要靠賣開發板,而轉變為賣服務,賣雲資源,賣創新產品。這種海量且高附加值的業務,支撐起了物聯網能夠出現百億級甚至千億級的公司。

    作者 | 蕎峰

    原文連結

    本文為阿裏雲原創內容,未經允許不得轉載。