從嵌入式到物聯網有什麼變化?

facebook twitter google
SELINA 9 2021-09-06 topic

從嵌入式到物聯網有什麼變化?

經過幾十年的發展,嵌入式技術已經應用於我們生活的方方面面,但嵌入式技術始終具有小眾、專業性強的屬性,使許多非嵌入式領域的學生望而卻步。近十年來,物聯網覆蓋了越來越多的領域,包括家庭、商業、工業、農業等。它不僅吸引了嵌入式領域的學生,也吸引了許多非嵌入式領域的學生進入物聯網領域。從以上發展趨勢可以發現四個重要變化:

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

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

物聯網操作系統突破了傳統操作系統的核心范圍,開始集成越來越多的能力。

物聯網是雲集成的,具有豐富的應用場景和商業模式,可以聚集更多的資源。

本文著重於技術、人、操作系統和商業模式四個方面,詳細說明嵌入式物聯網的變化和背後的思考。

技術的變化

嵌入式和物聯網技術是隨著單片機、操作系統、雲計算、人工智能等技術而發展起來的。根據設備運行模式,技術發展可分為以下階段:

設備單獨工作:這個階段從20世紀70年代開始,主要涉及單片機、硬件開發板、外部驅動、上層應用等技術領域。主要用於工業控制領域設備指示等。最著名的是8位51單片機。

多設備互聯工作:隨著無線通信技術,如adhoc、ZigBee(802.15.4)和低功耗藍牙的發展,嵌入式設備開始形成網絡工作。主要用於智能電網,這種抄表業務。除了設備單獨工作階段的技術外,還增加了網絡連接技術,如802.15.4、低功耗藍牙等。

雲集成階段:對設備控制和管理的技術要求不斷提高。隨著雲技術的發展,越來越多的設備不僅需要互聯網,還需要連接到雲。出現了Wi-Fi模塊、Wi-Fi和BTcombo模塊。筆者認為,從這個階段開始,真正進入了物聯網階段。通過網關技術、MQTT/CoAP等技術,可以實現設備的雲連接,通過手機管理設備。與多個設備互聯工作階段的技術相比,增加了更豐富的連接技術,如MQTT/CoAP和雲技術,如物聯網雲平台。

物聯網智能設備:隨著技術的發展,設備不再僅僅是Wi-Fi和BT的純連接智能設備,還出現了近年來特別流行的智能音箱、每年1億級出貨的IPCamera等智能設備。這種設備的主要特點是需要多媒體,可以消耗更多的雲資源,不僅包括存儲資源,還包括操作和人工智能AI算法的資源。與上一階段相比,增加了多媒體技術、流媒體網絡技術、雲AI技術等。,對物聯網技術能力建設的開發者的技術廣度和深度提出了更高的要求。

通過以上梳理,可以看出技術棧的內容越來越豐富,要求也越來越高。此時問題來了,這麼多技術,難道物聯網開發者都要懂得才能進行開發和創新嗎?作者的回答當然不是,下面將詳細說明作者對物聯網開發者要求的理解。

開發人員的轉變

作者將物聯網開發人員分為兩類,一類是建立物聯網平台能力的開發人員,另一類是建立物聯網平台能力的開發人員。

第一類開發人員需要了解整個物聯網領域需要的技術。隨著物聯網技術的發展,對這類開發人員提出了很高的要求。這類開發人員需要了解從設備到雲的全鏈接技術,並在其中找到自己的位置。如果不從雲集成的角度系統地了解物聯網技術,而是按照嵌入式傳統思維方式,隨著技術的不斷發展,會逐漸被淘汰。這種開發者開發物聯網平台的一個重要目的是吸引越來越多的第二類開發者,共同繁榮物聯網生態。

與第一類開發人員相比,第二類開發人員的挑戰並不小。這些開發人員主要有兩個來源,一個是傳統的嵌入式開發人員,另一個是互聯網開發人員。這些開發人員需要學習更多的知識,才能更好地基於物聯網平台開發。傳統的嵌入式開發人員需要了解更多的多媒體、雲、人工智能等技術。互聯網開發人員需要了解嵌入式設備上的各種限制,更好地將雲、多媒體、人工智能等技術工程化地應用於物聯網場景。

作者認為,第一類開發人員的使命是幫助越來越多的第二類開發人員進入物聯網領域。wireless module第一類開發人員要做到以下兩點:

豐富的功能組件:包括各種硬件模塊、設備和雲軟件功能模塊,以及輔助開發和調試工具。

低代碼開發:Python、JavaScript腳本語言在物聯網領域的充分應用可以大大降低開發者的門檻。

伴隨著物聯網技術的不斷發展成熟,基礎平台和開發工具的不斷完善,筆者認為第一類開發會越來越少,而第二類開發者將會越來越多。如此之後,物聯網開發不再像嵌入式開發那樣只是一小部分專業開發者的事,學校的學生、前端開發者、產品經理、技術愛好者等等,都是物聯網的貢獻者。

操作系統的轉換

由於操作系統是物聯網領域的重要基礎技術,目前物聯網操作系統百花齊放,專門談談操作系統的思考。根據嵌入式和物聯網的不斷發展階段和操作系統的特點,作者將操作系統分為以下四個階段:

無操作系統:早期嵌入式設備不需要操作系統,因為邏輯單一。

簡易操作系統:發展到多個設備互聯工作階段,出現了專為物聯網設備而設計的操作系統,如Contiki,TinyOS。這種操作系統針對設備報告數據和事件設計,非常簡單,最顯著的特點是基於事件驅動設計。當需要報告事件時,能迅速作出反應,編程邏輯也是按照這個思路來設計的。

實時操作系統:隨著嵌入式領域的不斷發展,出現了針對實時領域的嵌入式操作系統,最典型的代表是FreeRTOS。這種操作系統的特點是比Linux實時性好,內核功能全面,但不是強生態,上層應用很少支持。

物聯網操作系統:隨著物聯網的出現,由於實時操作系統主要提供系統核心部分的能力、網絡、多媒體、配網工具和應用生態系統難以滿足物聯網領域的要求,因此出現了物聯網操作系統,包括RTThread、LiteOS、AliOSThings等,還包括Linux和Android。筆者認為,在一段時間內,這麼多操作系統會並存,很難統一。主要原因是目前各芯片廠沒有統一的動力,選擇適合自己的就好了。無論主動切換到哪個操作系統,可以交換的優勢都是有限的。

部分觀點認為,要解決物聯網碎片化問題,首先要從統一的操作系統入手,統一的操作系統可以解決物聯網碎片化問題。作者不同意這一觀點。網絡是碎片化的,它既是一個挑戰,又是一個魅力所在。以下是一個極端的例子來證明作者的觀點。若操作系統能統一物聯網碎片,則直接在芯片層面上進行統一即可。但顯然,這基本上是不可能的。制作物聯網操作系統的最大價值在於通過軟硬件的深度結合,實現最大的性能和成本優勢。由於已有多種物聯網操作系統使其存在,物聯網碎片化問題的解決並非操作系統。

相關文章:

物聯網的基本優勢和應用領域

物聯網在生活中的六大趨勢

物聯網設備是如何運行的?

相似文章