如今,“物聯(lián)網(wǎng)”是業(yè)界的熱門話題之一。每天都有新的支持物聯(lián)網(wǎng)的產(chǎn)品出現(xiàn),物聯(lián)網(wǎng)現(xiàn)在是一個(gè)與萬(wàn)維網(wǎng)一樣流行的首字母縮略詞。甚至有人開玩笑說(shuō),我們可能很快就會(huì)看到“支持物聯(lián)網(wǎng)的電阻器”問(wèn)世,每周我們都會(huì)閱讀新的研究,這些研究談?wù)搶⒃趲讉€(gè)從今天開始的幾年。
但是物聯(lián)網(wǎng)是關(guān)于什么的?
剖析物聯(lián)網(wǎng)
在我看來(lái),我們需要了解這個(gè)定義中包含的實(shí)體。讓我們從“事物”開始。對(duì)于嵌入式開發(fā)人員來(lái)說(shuō),用嵌入式設(shè)備很容易識(shí)別它們,我認(rèn)為這樣做是正確的。該定義包括基于微控制器的小型設(shè)備以及運(yùn)行全功能操作系統(tǒng)的更復(fù)雜的設(shè)備。
那么“物聯(lián)網(wǎng)”僅僅是將設(shè)備連接到互聯(lián)網(wǎng)嗎?
我不這么認(rèn)為。這就像將互聯(lián)網(wǎng)定義為連接到基于 TCP/IP 的網(wǎng)絡(luò)的個(gè)人電腦、平板電腦和智能手機(jī)一樣;我們會(huì)錯(cuò)過(guò)其中的一個(gè)重要部分。
我們已經(jīng)有許多連接的設(shè)備。多項(xiàng)研究評(píng)估,自 2008 年以來(lái),連接到互聯(lián)網(wǎng)的設(shè)備數(shù)量超過(guò)了人,但物聯(lián)網(wǎng)仍遠(yuǎn)未成為我們?nèi)粘I钪械默F(xiàn)實(shí)。
近年來(lái),互聯(lián)網(wǎng)已經(jīng)發(fā)展,從萬(wàn)維網(wǎng)革命開始時(shí)的靜態(tài)“電子郵件和網(wǎng)頁(yè)”模式轉(zhuǎn)變?yōu)槲覀兘裉鞊碛械凝嫶笄矣袝r(shí)有用的信息和服務(wù)(和貓視頻)組合。
同樣,在我們真正生活在“物聯(lián)網(wǎng)”時(shí)代之前,連接設(shè)備也需要進(jìn)化、互操作、共享和訪問(wèn)信息。
物聯(lián)網(wǎng)的“互聯(lián)網(wǎng)”方面是關(guān)于處理可以由設(shè)備收集的大量數(shù)據(jù)并提取有用的信息,這些信息可以改善我們今天使用許多服務(wù)和設(shè)備的方式。這聽起來(lái)像是大海撈針,但好消息是,借助云計(jì)算,我們擁有每秒過(guò)濾許多大海撈針?biāo)璧奶幚砟芰Α?/p>
“物聯(lián)網(wǎng)設(shè)備”不可能存在(它只是一個(gè)“東西”),但我們可以設(shè)計(jì)一個(gè)作為物聯(lián)網(wǎng)解決方案一部分的設(shè)備。該設(shè)備將不再是“產(chǎn)品”,而是將成為一個(gè)更大項(xiàng)目的一部分,該項(xiàng)目涉及為其增加價(jià)值的服務(wù)。
我們?cè)谠O(shè)備上也有處理能力,物聯(lián)網(wǎng)并不意味著所有的處理都必須在云中完成,但另一方面,全面了解設(shè)備的整體情況對(duì)于讓更多信息和更有效的決策。
汽車和交通系統(tǒng)的物聯(lián)網(wǎng)
讓我們考慮交通。單車可以知道路網(wǎng),獲取交通擁堵、道路施工等信息,但它只知道自己的目的地。一個(gè)管理系統(tǒng)可以從多輛知道他們?cè)谀睦镆约八麄兿肴ツ睦锏能囕v收集信息,可以提供優(yōu)化的方向,讓人們避免現(xiàn)有的交通擁堵,并且不會(huì)在此過(guò)程中產(chǎn)生新的交通擁堵。在這種情況下,連接系統(tǒng)可以真正改善人們的駕駛方式。當(dāng)然,目前這是不可能的;大多數(shù)導(dǎo)航系統(tǒng)都沒(méi)有連接,那些有連接的系統(tǒng)使用不同的協(xié)議。但是已經(jīng)可以進(jìn)行一些具體的實(shí)施來(lái)優(yōu)化,例如公共交通。
這個(gè)過(guò)程必須克服巨大的挑戰(zhàn)。
實(shí)施挑戰(zhàn)
互操作性絕對(duì)是其中之一,但人們可能不喜歡未經(jīng)授權(quán)訪問(wèn)可能比存儲(chǔ)在 PC、手機(jī)和平板電腦上的信息更私人的信息的想法,他們對(duì)安全和隱私的擔(dān)憂也是合理的。
還有一個(gè)重大的設(shè)計(jì)挑戰(zhàn):將視角從設(shè)備轉(zhuǎn)變?yōu)榻鉀Q方案。產(chǎn)品將包括硬件、本地軟件和服務(wù)。一些要求不會(huì)改變——我們?nèi)匀恍枰煽康挠布透咝У拈_發(fā)工具——但其他要求將被添加到組合中。
作為嵌入式開發(fā)人員,我們將面臨新的挑戰(zhàn),不得不將我們的軟件視為更復(fù)雜解決方案的一部分。我們需要了解整個(gè)系統(tǒng)的運(yùn)行方式,從傳感器收集的比特到這些數(shù)據(jù)如何在云中存儲(chǔ)和處理,再到它在設(shè)備上生成的作為反饋的動(dòng)作。
假裝設(shè)計(jì)物聯(lián)網(wǎng)系統(tǒng)不會(huì)改變我們的工作方式,只關(guān)注嵌入式軟件,并且僅將連接性視為功能之一,這將限制我們對(duì)項(xiàng)目的影響。
考慮到連接性的設(shè)計(jì)
設(shè)備(事物)必須與后端(互聯(lián)網(wǎng))交互才能執(zhí)行不同的活動(dòng):
提供數(shù)據(jù)(遙測(cè))
需要來(lái)自后端的數(shù)據(jù)或操作(查詢)
從后端執(zhí)行所需的操作(命令)
從后端或其他設(shè)備接收信息(通知)
Clemens Vasters 的一篇題為“連接設(shè)備的服務(wù)輔助通信”的 MSDN 文章清楚地描述了將設(shè)備連接到 Internet 服務(wù)的這些模式和挑戰(zhàn)。
由于我們用于構(gòu)建嵌入式設(shè)備的硬件和軟件有許多不同的供應(yīng)商,因此物聯(lián)網(wǎng)的“互聯(lián)網(wǎng)”方面也有不同的供應(yīng)商。微軟、亞馬遜和谷歌等公司正在努力為廣大的公司和開發(fā)人員提供基于云的服務(wù)。其中許多服務(wù)可用于構(gòu)建物聯(lián)網(wǎng)系統(tǒng)。
這些服務(wù)可以收集、存儲(chǔ)和處理設(shè)備獲取的數(shù)據(jù),并充分利用從中提取的信息。我們也可以使用“傳統(tǒng)的”內(nèi)部服務(wù)器,但其中許多項(xiàng)目對(duì)可擴(kuò)展性和可靠性的要求使得基于云的方法成為一種自然的解決方案。
微軟提供全方位的產(chǎn)品,從面向嵌入式設(shè)備的操作系統(tǒng)(.NET 微框架、Windows Embedded Compact 和 Standard 產(chǎn)品線以及新的 Windows 物聯(lián)網(wǎng)開發(fā)人員計(jì)劃)到基于其 Azure 平臺(tái)的基于云的服務(wù)。
這將讓開發(fā)人員在物聯(lián)網(wǎng)系統(tǒng)的不同組件上使用一套一致的工具和編程語(yǔ)言。另一方面,微軟為不同的操作系統(tǒng)和語(yǔ)言發(fā)布了 SDK,允許創(chuàng)建一個(gè)由運(yùn)行不同操作系統(tǒng)(或根本沒(méi)有操作系統(tǒng))的設(shè)備組成的系統(tǒng)。
Azure 提供了一個(gè)稱為服務(wù)總線的消息傳遞系統(tǒng)。使用消息,而不是 Web API 使用的請(qǐng)求-響應(yīng)機(jī)制,允許服務(wù)以異步方式處理信息。這導(dǎo)致更好的可擴(kuò)展性和更高的可靠性。可以在不中斷服務(wù)的情況下處理請(qǐng)求數(shù)量的峰值,并且一旦將消息傳遞到服務(wù)總線,設(shè)備甚至可以將自己與網(wǎng)絡(luò)斷開連接,而無(wú)需等待處理。
我們物聯(lián)網(wǎng)所需的所有通信模式都可以使用消息傳遞來(lái)實(shí)現(xiàn)。設(shè)備可以使用高級(jí)消息隊(duì)列協(xié)議 (AMQP) 或 HTTPS 直接連接到服務(wù)總線。前一種協(xié)議是為消息傳遞而設(shè)計(jì)的,以二進(jìn)制格式打包信息,通常會(huì)導(dǎo)致較低的帶寬使用。其他消息傳遞協(xié)議,如 MQTT(在不支持 AMQP 和 HTTPS 所需的額外加密和安全功能的低資源設(shè)備上很常見)和 CoAP 可以使用協(xié)議適配器進(jìn)行集成,比如微軟自己為項(xiàng)目 Reykjavik(Azure 設(shè)備)實(shí)施的協(xié)議適配器網(wǎng)關(guān))。
利用這些協(xié)議的現(xiàn)有開源實(shí)現(xiàn)和 Microsoft 提供的 SDK,將簡(jiǎn)化設(shè)備與后端服務(wù)之間通信的開發(fā),并讓開發(fā)人員專注于為整個(gè)解決方案增加價(jià)值的實(shí)現(xiàn)部分。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5149文章
19659瀏覽量
317352 -
適配器
+關(guān)注
關(guān)注
9文章
2054瀏覽量
69706 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7143瀏覽量
125552
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式
NanoEdge AI Studio 面向STM32開發(fā)人員機(jī)器學(xué)習(xí)(ML)技術(shù)

嵌入式開發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

嵌入式去哪個(gè)城市好?
GoPoint嵌入式開發(fā)平臺(tái) 釋放i.MX潛力 簡(jiǎn)化Linux開發(fā)

嵌入式開發(fā)新紀(jì)元:AI大模型助力樂(lè)鑫芯片高效編程

哪些專業(yè)適合學(xué)習(xí)嵌入式開發(fā)?
學(xué)嵌入式好找工作嗎?
如何使用 RISC-V 進(jìn)行嵌入式開發(fā)
嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問(wèn)題解決
MSPDebugStack開發(fā)人員指南

嵌入式開發(fā)常見問(wèn)題排查

嵌入式開發(fā)常用軟件有哪些?
C2000 ePWM開發(fā)人員指南

評(píng)論