隨著物聯網作為一個行業的成熟,很明顯,大多數用例將涉及電池供電的設備,這帶來了一系列獨特的挑戰。多達70%的物聯網項目可能屬于這一類,它們蓬勃發展的機會將完全取決于延長設備壽命的節能策略。
節能是一個難題
節能需要許多奇怪的部分,必須單獨仔細調整,然后協調在一起以創建一個整體。它需要采用端到端方法來規劃和開發能源優化解決方案。從一開始,就必須為用例制定非常詳細的計劃,并為一些關鍵問題制定明確的答案。
這些是每個開發人員在采取任何行動之前應該問的關鍵問題:
用例是什么?
設備需要持續多長時間?一周,一個月,一年,十年?
數據會丟失嗎?是否需要重新傳輸?
數據需要多久傳輸一次?
有效載荷有多大?
電池的最大物理尺寸是多少?
是否可以利用充電機制(例如,太陽能或手動電池交換)?
每個用例都是獨一無二的,可以根據上述答案調整無數的排列,但有幾個一般建議應該適用于幾乎任何物聯網項目。
以下是最重要的建議:
一切都從物聯網項目的硬件設置開始。在微控制器(MCU)級別,硬件應幾乎完全滿足用例的要求。顯然,功率不足的硬件設置不起作用,但功能過大的硬件意味著更高的成本以及浪費的能源。偉大是好的敵人,所以不要超支或購買硬件,因為它很劃算。幾個好的MCU可能是STM32或ESP32,但這完全取決于用例。
建議盡可能將CPU / MCU置于深度睡眠模式。大多數現代MCU已經支持深度睡眠模式,但仔細檢查所選組件是否支持它很重要。
同樣在硬件方面,使用NB-IoT或LTE-M的蜂窩調制解調器支持釋放輔助指示(RAI)、電源安全模式(PSM)和擴展不連續接收(eDRX)也很重要。請注意,這些可能并非在所有國家/地區或通過所有運營商提供,因此請務必檢查每個推出方案。在能源優化方面,NB-IoT通常被推薦超過其他承載,但對于移動產品,LTE-M可能是更好的選擇。
談到固件,尤其是操作系統,是否有不需要在后臺運行的進程或線程?確保上面沒有任何東西會緩慢而肯定地耗盡電池電量。要找出哪些進程可以禁用,請查看正在運行的進程的完整列表并研究每個進程的用途。如果用例不需要它,請將其關閉。
還需要考慮固件的業務邏輯。通過查看傳感器值并確定發送頻率來優化數據處理非常重要。區分從源記錄傳感器值的頻率,以及將這些測量值發送到云系統的頻率。通常不需要同時錄制或發送它們,因此一個好的調整是經常錄制它們,在本地緩沖并批量發送以減少無線電廣播時間。或者僅發送值的平均值。
嘗試在發送之前壓縮消息負載。與其一遍又一遍地發送冗長而明確的 JSON 對象,不如將數據壓縮為二進制格式來節省能源。一個很好的例子是二進制轉換語言 (BCL),它使用一個模板來指示如何將 JSON 轉換為二進制,反之亦然。當然,云端點在收到數據時必須解壓數據才能獲取原始消息。
在構建能源優化產品時,優化的數據傳輸協議中有一些選擇可以產生很大的不同:Protobuf代替JSON,CoAP代替MQTT,NB-IoT代替LTE。
在開發過程中,必須進行測量,然后再次測量。創建一個科學的環境來進行測試,確保其可重復性。嘗試將條件設置為盡可能接近真實場景。如果可能,請使用最終硬件,而不是開發工具包。
顯然,構建能源優化的物聯網產品需要做很多工作,并且需要一定的心態來防止它成為事后的想法。優化必須從一開始就考慮在項目中,從硬件到固件再到與云的連接的每一層。這可能是一個痛苦,但對能源優化的關注是物聯網項目的真正成敗決定。
審核編輯:郭婷
-
mcu
+關注
關注
146文章
17886瀏覽量
361590 -
物聯網
+關注
關注
2927文章
46007瀏覽量
389206 -
調制解調器
+關注
關注
3文章
873瀏覽量
39468
發布評論請先 登錄
評論