天天看點

從“嵌入式”到“物聯網”的四大轉變

經過幾十年發展,嵌入式技術已經用在了我們生活中的方方面面,但是嵌入式始終都帶有小衆,專業性強的屬性,讓很多非嵌入式領域的同學望而卻步。

近十幾年的發展,物聯網快速崛起覆寫了越來越多領域,包括了家居,商業,工業,農業等領域,不僅吸引了原來嵌入式領域的同學,同時吸引了非常多非嵌入式領域的同學進入物聯網領域。近期,還開始出現百億美元級别的上市物聯網企業。從上面的發展趨勢,可以發現四個重要的轉變:

物聯網涉及到的技術面越來越廣,對物聯網開發平台的要求越來越高

物聯網對開發者的要求發生了變化,更加強調工具和易用性

物聯網作業系統已經突破了傳統作業系統核心的範疇,開始內建越來越多的能力

物聯網是雲端一體的,有豐富的應用場景和商業模式,能夠聚合更多的資源

本文将聚焦在技術,人,作業系統和商業模式這四個方面,詳細說明嵌入式到物聯網的轉變及背後的一些思考。

從“嵌入式”到“物聯網”的四大轉變

技術棧的轉變

嵌入式和物聯網技術是随着單片機,作業系統,雲計算,人工智能等技術一起發展的。按照裝置工作的模式,把技術的發展分為以下幾個階段:

裝置單獨工作:這個階段是從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。筆者認為在一段時間内,這麼多的作業系統都會并存,很難被統一。主要原因是目前各晶片原廠并沒有動力去做統一,他們各自選用一個合适自己的就好,無論往哪個作業系統上去主動切換,能夠換來的優勢都是很有限的。

有一部分觀點認為,要解決物聯網碎片化的問題要從統一作業系統開始,統一了作業系統就能夠解決物聯網的碎片化。筆者不贊同這個觀點。物聯網就是碎片化,這是面臨的挑戰,同時也是它的魅力所在。這裡用一個極端的例子來論證筆者的觀點。如果作業系統能夠統一物聯網碎片的問題,那麼直接在晶片層面去統一就好了。但是很明顯,基本不可能做到。做物聯網作業系統的最大的價值在于通過軟硬體深度結合,做到極緻的性能和成本優勢。既然已經有多樣的物聯網作業系統就讓它存在,物聯網的碎片化問題的解決不在作業系統。

商業模式的轉變

傳統嵌入式領域主要是靠賣硬體掙錢,支撐起一家上市公司都很難,更不用說市值百億美元,甚至千億美元的公司了。但是在物聯網領域,由于它的端雲一體特性,使得整個商業模式發生了巨大的變化,從嵌入式領域的一次性硬體買賣,變成了可營運的賺錢模式,如賣雲存儲,雲服務,及内容。物聯網是技術創造新商業的經典案例。由于這個轉變出現了塗鴉這種市值百億美元的物聯網雲平台公司。從塗鴉的營收結構上看,80%來自PaaS平台,賣硬體隻占收入的很少一部分。另外,擁有手機入口的華為和小米,物聯網除了本身帶來的營運收益外,還是手機生态的強大護城河,進一步增加手機這個超級終端的附加值。相信還會出現更多的物聯網百億美元,甚至千億美元市值的公司,市值能夠達到數百億,甚至千億美元的公司肯定是很好地解決了物聯網碎片化問題,形成強大的生态,完成爆炸式增長。

從“嵌入式”到“物聯網”的四大轉變

總結

随着嵌入式到物聯網的演進,技術複雜度越來越高,但是對于物聯網開發者,門檻必将越來越低,更多地開發者能夠基于簡單的腳本語言,豐富的生态庫和工具,開發出更多創新的産品,滿足大家對便利生活,高效生産等方面的需求。同時,物聯網的發展不僅僅是技術上的演進,更是商業模式的演進。通過技術的創新,降低了開發者的門檻,讓物聯網開發不再像嵌入式開發是小衆,Geek的專利,而是大衆都能夠開發創新的基地。由于這些轉變,在結合雲端技術的突飛猛進,讓實體網的商業模式不再像嵌入式主要靠賣開發闆,而轉變為賣服務,賣雲資源,賣創新産品。這種海量且高附加值的業務,支撐起了物聯網能夠出現百億級甚至千億級的公司。