三大挑戰將扼殺你的物聯網解決方案
當今,物聯網面臨的最大難題是如下的三大技術:
規模大。
功耗低。
難以控制的無線通信。
在本文中,我們將詳細介紹所有物聯網平臺都必須面對的三大基本問題。作為如何在現實環境中解決這些問題的一個實例,讓我們看看Thingsquare物聯網平臺是如何解決這些問題的。
在存在大量設備的情況下,即使是正常情況下不太可能發生的問題,也有可能發生。
規模:當規模足夠大時,一切都難以預料
許多物聯網的部署涉及到數百或數千個獨立設備。在存在大量設備的情況下,即使是正常情況下不太可能發生的問題,也有可能發生。
大型網絡在實地很難監控,而在其過程中更具性。
在Thingsquare,當我們討論物聯網的時,我們根據規模將其分為如下幾類:
者規模:1-2臺設備。當你面前只有一個或兩個無線設備時,理解它們的工作原理和過程就比較容易。你可以通過添加打印輸出或讓發光二極管閃爍來了解有些事情正在發生。作為一個人員,你會因此感到有信心,因為一切都在你的掌控之中。你甚至可以在其中一個設備上停止軟件的執行,并單步執行程序。
桌面級規模:2-5臺設備。在這個階段,你不再能夠單獨控制每個設備,你必須把它們當作一個整體來對待。雖然他們的數量仍然少到能夠讓你監測,但是你將不得不使用像視覺閃爍的LED燈這樣的輔助手段,讓你能夠看到這些設備上正在發生什么。
辦公室規模:5-10臺設備。現在你已經沒有足夠的空間把所有設備放在一張桌子上了,你必須把它們分散到一個有點難以監控的區域。用一個新的程序開始對它們進行編程是一個實際的,因為你將不得不在物理上連接并斷開每個設備和閃存編程器(flash programmer)的連接。
樓面級規模:10-100臺。現在很難在一個辦公室里找到容納所有設備的空間了,你需要把它們分散在整個樓層上。這使得你很難直觀地看到所有設備,所以,要想知道發生了什么,唯一的辦法就是通過無線通信—除非每個設備都連接了有線信道,而這本身就是一項龐大的設置工作。此外,在這種規模下,硬件問題開始顯現:因為硬件的質量并非總是那么可靠,在99%的成材率下,100臺設備中可能會有一個或多個設備存在物理損壞。
部署級規模:100-500臺設備。這種一種時很少考慮的規模,通常考慮的規模不超過100臺設備。這種規模的原型和驗證的POC(概念驗證)過程和前一個類別沒有什么不同之處。但在這種規模下,互聯網連接問題開始對產生影響了。如果的某些部分與其他部分具有不同的連接(例如,某些部分使用WiFi連接,而其他部分使用3G連接)那么在的不同部分,情況將有所不同。
城市級規模:500-1000+臺設備。在這種規模下,需要自動化工具來跟蹤的行為。另外,即使所有設備都包含在一個網絡中,一個簡單的操作也需要大量的時間。例如,由于無線網絡的物理速度,向所有設備發送一個ping可能需要幾分鐘的時間。
在Thingsquare,我們用來應對這些的策略是:
模擬。模擬一切,從物理無線層到微處理器層,再到網絡和設備的高級模擬。
床(Testbed)每個功能都在一組床中,最大的床有100個節點。
回歸。代碼中的每一個更改都要在模擬器中經過嚴格的自動化。
模擬
在處理一個大型時,人們對中正在發生的事情,幾乎沒有可見性。當處理物聯網設備時,由于它們是無線的,并且沒有太多存儲和傳輸日志的能力,它們的可見性甚至更低。
模擬是解決這一問題的重要方法。我們在如下幾個層面使用模擬:
無線網絡模擬:我們模擬中的無線網絡行為,從而可以在任何給定時間看到傳輸中發生的情況。
微處理器仿真:我們仿真運行代碼的處理器,從而允許我們按比例測量功耗和執行時間。
功耗模擬:在我們的網絡模擬器和微處理器的仿真器中,我們跟蹤代碼和通信的功耗,這樣就不需要所有需要信息都從硬件上測量得到。
高級模擬:我們通過使用高級編程語言(主要是Java)實現對物聯網設備行為的模擬,在物聯網規模大到無法借助仿真或床來時,該語言可以幫助我們完成。
床
模擬是一個強大的工具,但它不能替代在實際硬件上的工作。有時你需要一個物理傳感器或驅動器。這時候你需要和真正的硬件交互。但更重要的是,模擬器的行為方式與現實世界不同。如果你完全在模擬中你的解決方案,當面對現實的時候,它很有可能會崩潰。
在Thingsquare辦公室,我們有一套規模越來越大的床,它包括:
兩個床,各自帶有10臺和20臺設備。
一個帶有100臺設備的床。
我們使用我們的床來新的功能,并不斷我們的。我們可以使用它們來復制我們在客戶部署中看到的行為。我們也可以在模式中使用它們來運行比我們辦公室實際能夠容納的更大型的網絡。
輕量級崩潰報告
軟件都有可能崩潰,尤其是在過程中。當軟件崩潰時,崩潰報告可以幫助人員了解代碼崩潰的位置和原因。對于低功耗物聯網設備,想要在其上存儲和傳輸完全崩潰時保存的內存數據,幾乎不太可能。
在Thingsquare,我們使用一種輕量級技術從設備處收集崩潰報告:
對于上傳到設備的每個構建好的代碼,ELF二進制文件都會被存儲適當的地方,并用該構建的git commit ID打上標記。
當設備在崩潰后重新啟動時,發生崩潰時的代碼commit ID和程序計數器會報告給后臺。
回歸
回歸是一種標準的軟件技術,可以確保軟件在過程中不會崩潰。
物聯網平臺由許多類型的組件(從后端軟件到無線設備)組成。要執行回歸,每個組件都需要進行各自的,同時也需要作為一個整體進行。
在Thingsquare,我們使用模擬器對所做的每一個更改執行全平臺回歸。在回歸通過之后,我們再在床上。回歸套件旨在捕獲致命的錯誤,而這些錯誤可能會導致臺無法工作。
功耗:很低很低!
物聯網可能功能強大,但幾乎沒有什么設備像物聯網設備那樣功耗低!
物聯網設備通常是無線設備,它們需要依靠普通電池或太陽能電池上電力來運行。這些電池的電力很弱,非常弱。功耗通常必須不高于電池的自發放電,將功耗降低到如此低水平既是一門科學,也是一門藝術。科學之處在于如何通過使用軟件或硬件來測量和了解功耗。而藝術這處則在于了解如何充分利用此信息。
功耗既是硬件問題,也是軟件問題。硬件需要進行正確的調校,并支持盡可能多地關閉組件。而軟件賜需要知道關閉什么,何時關閉以及何時可以安全地這樣做。
在物聯網中,最棘手的部分通常是無線通信。無線電傳送會消耗大量電能,但它至關重要,因此不能盲目關閉。無線電波在接收時消耗的功率與發送時消耗的功率相同。隨著網絡規模的擴大,這一點變得越來越重要。
在Thingsquare平臺中,我們使用多種技術來解決功耗問題:
基于硬件的功耗測量:我們使用很棒的工具來測量硬件的功耗。
基于軟件的功耗測量:每個節點都會跟蹤功率消耗并定期報告。
壽命估算:基于測得的功耗數據,我們可以估算每個設備的壽命。
具有異常檢測功能的功耗跟蹤:在大型中,我們使用異常檢測功能來查看是否有任何設備使用的功耗超出預期。
基于硬件的功耗測量
第一步是確定原始硬件的功耗。最好的方法之一就是使用一種叫做Otii的裝置。我們不僅需要查找硬件中可能導致功耗增加的錯誤,而且還要確定硬件各個組件所消耗的基準功耗。
然而,測量一臺設備的功耗并不能讓我們看到整個網絡的功耗。因此,我們需要進行持續的測量。
基于軟件的功耗測量
基于軟件的功耗測量讓我們能夠連續跟蹤每個設備的功耗。
因為軟件可以完全控制硬件,所以我們只需要測量每個組件打開的時間就可以很好地估算總功耗。每個設備都會定期報告此數據。
壽命估算
因為我們現在可以跟蹤每個設備的功耗,所以我們可以使用它來估算每個設備的壽命。
具有異常檢測的功耗跟蹤
隨著設備數量的增長,監視單個設備的功耗變得越來越困難。因此,我們需要引入自動化工具。
我們從每個設備上收集功耗數據,可以使用異常檢測來突出顯示具有異常高功耗的設備。這些設備需要仔細檢查—因為它們可能存在導致高功耗的錯誤,如果我們在過程中能找到它,那么在我們部署解決方案時,它們就不會造成麻煩。
一旦我們找到了一個有問題的設備,我們就可以深入了解細節,并查看歷史功耗。我們發現,在幾個時間尺度上對功耗進行平均可以有用的信息:一小時的功耗平均值有助于發現在一天中重復出現的問題,而24小時的平均值則有助于發現每周重復出現的問題。
上圖顯示了一個設備的24小時平均功耗。顯然這個設備在4月份的幾天里耗電量出現性異常。
一旦我們發現了存在的問題,我們就可以更加深入地研究為什么會發生這種問題。如果我們不具備識別這種問題的能力,那么這種問題就不會被發現,它們就會悄悄進入生產環境。
無線通信:難以控制
很多物聯網都使用無線網絡。而無線通訊難以控制。
理解無線通信的一種方法是把它想象成光一樣:它會反射并以意想不到的方式被遮擋。無線覆蓋可能在一個地方很好,但僅僅一步之遙就不行了。就像燈發出的光,即使在靠近燈的地方也可能被遮住一樣。
如果有東西擋在無線信號傳輸的路上,無線信號傳輸可能就會阻塞。許多物聯網解決方案部署的位置不可避免地會有物體移動。如果某個大的物體正好在通信路徑上移動,那么該通信路徑可能會被堵塞。
無線通信也受到其他無線通信的嚴重影響。不同的頻率有不同的干擾量。2.4 GHz頻段,包括了WiFi和藍牙信號,是一個特別難進入的頻段。這就是為什么許多設備使用其他頻段(如亞GHz頻段)進行通信。
在Thingsquare中,我們采取以下措施來應對這些:
網狀聯網:我們使用IPv6網狀組網技術來繞過障礙物。
跳頻技術:我們使用跳頻技術來避免無線干擾。
網狀組網技術
網狀組網技術是這樣的一種技術:一個設備通過重復發送來自其他設備的,來幫助其他設備達到更遠的距離。
這種技術并不要求每個設備都在接入點的范圍之內,它允許設備伸展到更大的區域。同時它還允許網絡自動繞過障礙物。
網格的形成和維護過程是完全自動化的。因此,只需將擴展器放入網絡,就可以將網絡擴展出去。
跳頻技術
跳頻技術是一種可以避免在一個特定的無線信道上花費太多時間的方法。這是必需的,因為該信道可能被其他通信所占用。對于某些頻率范圍,跳頻是一項要求,不能正確切換頻道的設備將被禁止部署。
Thingsquare平臺采用跳頻技術,它既符合要求,又能在同一位置支持多個網絡。每個網絡都有自己的躍點調度,這使得網絡之間的干擾盡可能少。獨立的網絡需要不同的安全密鑰,但是保持通信頻率的獨立使更加高效。
結論
物聯網是一個重大的技術,因為其龐大的部署規模,功耗需求和無線通信的使用。
幸運的是,通過使用物聯網平臺,你不需要直接面對這些。因為這些問題應該已經被平臺解決。
本文相關詞條概念解析:
功耗
功耗即功率的損耗,指設備、器件等輸入功率和輸出功率的差額。功率的損耗。電路中通常指元、器件上耗散的熱能。有時也指整機或設備所需的電源功率。
硬件
硬件(英文名Hardware)是計算機硬件的簡稱(中國大陸及香港用語,臺灣作硬體),是指計算機系統中由電子,機械和光電元件等組成的各種物理裝置的總稱。這些物理裝置按系統結構的要求構成一個有機整體為計算機軟件運行提供物質基礎。簡言之,硬件的功能是輸入并存儲程序和數據,以及執行程序把數據加工成可以利用的形式。從外觀上來看,微機由主機箱和外部設備組成。主機箱內主要包括CPU、內存、主板、硬盤驅動器、光盤驅動器、各種擴展卡、連接線、電源等;外部設備包括鼠標、鍵盤等。
相關文章
物聯網系統依然割裂,智能家居何時才能不“智障”?
從石器時代到信息化時代,人類的生活仿佛一直靠著“思考”改變的,而那些“思考”的產物也一直在影響著我們,物聯網是如此,智能家居更是如此。2014年,曾經有一次智能家居熱潮,也是loT第一次在國內成為熱點。但那次熱潮卻尷尬收場。當...
快速成功地連接物聯網產品的5個技巧
對于物聯網設備制造商來說,蜂窩物聯網是實現互聯網連接的最可靠和最容易獲得的方式之一。根據ABIResearch的數據,到2026年,全球蜂窩物聯網設備總數將達到57億。蜂窩物聯網的采用正在增長,因為它易于部署和擴展。您只需要一...
江西:到2023年底物聯網產業規模突破2000億元
5月19日,記者從江西省工信廳獲悉,為深入實施數字經濟做優做強“一號發展工程”,加快江西物聯網新型基礎設施建設,江西省工信廳、省委網信辦、省科技廳等9部門聯合出臺《江西省加快推進物聯網新型基礎設施建設實施方案》(以下簡稱《方案...
我國大數據發展的三大趨勢和三大挑戰
近年來,伴隨著數字經濟席卷全球,大數據產業愈發“炙手可熱”。近年來,伴隨著數字經濟席卷全球,大數據產業愈發“炙手可熱”。大數據自身產業技術的發展,能夠助推數字經濟走向高質量和高水平,與此同時,大數據與金融、醫療、教育、工業等領...
物聯網加速融入生活場景,智能家居設備能做什么?
智能設備和物聯網已經進入現代家庭生活的幾乎所有方面。從您的安全系統到冰箱,“智能”電器已成為新常態。但它們真的能讓你的家變得更好嗎?或者所有這些智能家電只是另一種時尚,從長遠來看,您最終會后悔花額外的錢?讓我們來看看在家里裝滿...