揭曉為何RTOS是物聯(lián)網(wǎng)設(shè)備最佳選擇
如果你正在開發(fā)物聯(lián)網(wǎng)設(shè)備,則需要仔細考慮要使用的操作系統(tǒng)。物聯(lián)網(wǎng)設(shè)備都具有物聯(lián)網(wǎng)操作系統(tǒng)需要考慮的共同約束,包括功率、內(nèi)存和處理速度。這些設(shè)備限制意味著許多嵌入式開發(fā)人員的自然首選操作系統(tǒng)選擇Linux 通常并不合適,許多物聯(lián)網(wǎng)設(shè)備根本沒有足夠的板載RAM 來支持甚至精簡版的操作系統(tǒng)。
這就是為什么實時操作系統(tǒng)(RTOS)是物聯(lián)網(wǎng)設(shè)備的一個很好的替代品。因此,現(xiàn)在市場上有大量開源和商業(yè)RTOS 選項。在本文中,我們將與你討論如何為你的IoT 設(shè)備選擇最佳RTOS。
物聯(lián)網(wǎng)近兩年的快速發(fā)展,想必大家都看到了,因為物聯(lián)網(wǎng),使C語言的成為最受歡迎的語言(之前幾年JAVA一直的老大)。
順便先給大家看看6月TIOBE指數(shù):
C語言已經(jīng)連續(xù)兩月位居榜首,超越JAVA了。
一、為什么IoT設(shè)備選用RTOS?
我們說的IoT設(shè)備,通常指的是物聯(lián)網(wǎng)系統(tǒng)中的終端設(shè)備,我們將IoT設(shè)備視為通過網(wǎng)絡(luò)發(fā)送和接收信息的嵌入式系統(tǒng)。
盡管許多嵌入式系統(tǒng)使用較不復(fù)雜的軟件即可很好地管理,但聯(lián)網(wǎng)設(shè)備需要功能更強大的系統(tǒng)。
物聯(lián)網(wǎng)設(shè)備的軟件應(yīng)該具備:
可擴展:以適應(yīng)各種不同類別的設(shè)備
模塊化:選擇所需的組件
可連接:通過Wi-Fi,以太網(wǎng),USB或藍牙將數(shù)據(jù)移入和移出設(shè)備。
可靠性:最好具有相關(guān)的安全認證
選擇RTOS 時要考慮的關(guān)鍵點
現(xiàn)在市場上有多種用于物聯(lián)網(wǎng)設(shè)備的開源和商業(yè)RTOS可供選擇。由于選擇可能令人眼花繚亂,以下是為物聯(lián)網(wǎng)設(shè)備選擇最佳RTOS 時需要考慮的關(guān)鍵點。
性能:在性能方面,你有很多選擇。內(nèi)存和處理占用空間要求是你首先需要考慮的事情。ROM、RAM和閃存都應(yīng)根據(jù)你的內(nèi)存需求進行評估,而中斷延遲和上下文切換時間應(yīng)根據(jù)你的處理需求進行評估。
可擴展性:8位和16 位MCU 一直是IoT 設(shè)備的首選硬件,但32 位MCU現(xiàn)在變得越來越流行,導(dǎo)致許多制造商在設(shè)備中使用兩種不同的供電流程。因此,你的RTOS 應(yīng)該是可擴展的,以便管理任何未來的MCU 升級。
圖形用戶界面:GUI要求會對你為IoT 選擇RTOS產(chǎn)生重大影響。在嵌入式開發(fā)中,你是否只需要設(shè)備的基本圖形庫,還是需要更高級的東西,例如3D 渲染、多層界面和自定義?
連接性:你的RTOS 需要哪些通信協(xié)議才能為你的嵌入式設(shè)備提供連接性?以太網(wǎng)、Wi-Fi、藍牙和IEEE 802.15.4?你的 RTOS將使你能夠選擇連接所需的特定通信堆棧,因此你只使用你需要的。
模塊化:毫無疑問,你使用的RAM 有限,因此你的RTOS將配備一個強制性的核心內(nèi)核,以及定制的中間件和協(xié)議棧。通過僅圍繞核心內(nèi)核構(gòu)建你需要的內(nèi)容,你可以控制設(shè)備內(nèi)存需求,這對于傳統(tǒng)操作系統(tǒng)來說要困難得多。
安全性:需要仔細考慮你的物聯(lián)網(wǎng)設(shè)備和系統(tǒng)安全要求。市場上的每個RTOS都提供不同范圍的安全附加組件,例如安全啟動、SSL支持和加密驅(qū)動程序。在 Nabto,我們使用p2p 加密提供超安全的物聯(lián)網(wǎng)連接,無需第三方依賴。在此處詳細了解我們的p2p IoT 連接解決方案。
生態(tài)系統(tǒng):你正在考慮的每個RTOS 在你的行業(yè)中的采用情況如何?是否支持其他架構(gòu)和處理器?是否有活躍的嵌入式開發(fā)者社區(qū)在GitHub、堆棧溢出和其他平臺上共享代碼和其他信息?龐大的用戶社區(qū)提供了該軟件功效的社會證明,當(dāng)然,也提供了一個有用的學(xué)習(xí)資源。