物聯(lián)網(wǎng) (IoT) 已成為提高日常任務(wù)生產(chǎn)力和效率的日益流行的手段。物聯(lián)網(wǎng)只是連接數(shù)字設(shè)備的網(wǎng)絡(luò),有時稱為“智能”設(shè)備。物聯(lián)網(wǎng)設(shè)備的示例包括智能溫度計和用于監(jiān)控庫存的傳感器。
物聯(lián)網(wǎng)確實正在流行。據(jù)一位消息人士稱,高達(dá)83% 的組織通過物聯(lián)網(wǎng)體驗到了效率的提高,因此這一趨勢不太可能很快改變。與此同時,物聯(lián)網(wǎng)的價格并不便宜。僅 2020 年,公司就在物聯(lián)網(wǎng)上花費了7,420 億美元,專家預(yù)計該數(shù)字每年都會大幅增長。
公司降低物聯(lián)網(wǎng)成本的方法之一是通過開源物聯(lián)網(wǎng)工具和資源。開源軟件的基本代碼易于訪問,因此您的開發(fā)團(tuán)隊可以查看代碼或根據(jù)您的特定需求和用例進(jìn)行必要的更改。雖然開源意味著您可以免費訪問或查看代碼,但如果遇到麻煩,您通常也可以付費獲得專業(yè)支持。
開源物聯(lián)網(wǎng)工具涵蓋范圍廣泛。OpenThread 等網(wǎng)絡(luò)連接協(xié)議允許 IoT 設(shè)備連接到用戶界面以及 IoT 網(wǎng)絡(luò)中的其他設(shè)備。有像 Nabto Edge 嵌入式設(shè)備 SDK 這樣的 SDK(軟件開發(fā)套件),它為想要通過 Nabto Edge 平臺連接物聯(lián)網(wǎng)設(shè)備和用戶界面的開發(fā)人員提供工具和文檔。
還有許多其他開源物聯(lián)網(wǎng)資源。當(dāng)然,為您的公司和行業(yè)尋找最佳工具也面臨著一系列挑戰(zhàn)。這些十大開源物聯(lián)網(wǎng)工具和資源是一個很好的起點。
1.NabtoEdge嵌入式設(shè)備SDK
我們將從我們自己的 IoT 通信平臺 Nabto Edge 的 SDK 開始。Nabto Edge 平臺允許物聯(lián)網(wǎng)網(wǎng)絡(luò)中的設(shè)備和應(yīng)用程序通過防火墻進(jìn)行通信,無需任何中介,例如云服務(wù)器或數(shù)據(jù)庫。將開源 Nabto Edge 嵌入式設(shè)備 SDK 與嵌入式應(yīng)用程序集成后,SDK 就可以通過 Nabto Edge 平臺用戶界面提供對應(yīng)用程序的遠(yuǎn)程訪問。
那么,嵌入式設(shè)備應(yīng)用程序到底是什么?物聯(lián)網(wǎng)設(shè)備使用嵌入式傳感器和應(yīng)用程序來獲取數(shù)據(jù)。嵌入式應(yīng)用程序與設(shè)備的硬件有著千絲萬縷的聯(lián)系。例如,安全攝像頭能夠捕獲和存儲嵌入其硬件中的視頻。如果您的安全攝像頭是物聯(lián)網(wǎng)設(shè)備,它需要能夠?qū)⑹占囊曨l傳輸?shù)狡渌O(shè)備,例如用于查看安全源的計算機(jī)。因此,物聯(lián)網(wǎng)網(wǎng)絡(luò)需要一種方法將信息從安全攝像頭中的嵌入式應(yīng)用程序傳輸?shù)浇邮赵O(shè)備。
為此,大多數(shù)物聯(lián)網(wǎng)網(wǎng)絡(luò)需要將信息從安全攝像頭或其他物聯(lián)網(wǎng)設(shè)備發(fā)送到云服務(wù)等中介機(jī)構(gòu),然后中介機(jī)構(gòu)將信息發(fā)送到計算機(jī)或智能手機(jī)等接收設(shè)備。Nabto Edge 可讓您跳過云服務(wù)步驟并將數(shù)據(jù)直接發(fā)送到接收設(shè)備。SDK 可讓您的嵌入式應(yīng)用程序連接到 Nabto Edge 平臺。SDK 的代碼可在 Github 上公開查看,因此您甚至可以在付費連接 Nabto 平臺之前查看代碼。
2.OpenThread
OpenThread 是由 Google 開發(fā)和發(fā)布的物聯(lián)網(wǎng)網(wǎng)絡(luò)連接協(xié)議。它將路由器和物聯(lián)網(wǎng)設(shè)備連接到一個隔離的網(wǎng)絡(luò)中。由于 OpenThread 允許您在單個設(shè)備網(wǎng)絡(luò)中擁有多個路由器,因此即使路由器損壞,整個網(wǎng)絡(luò)也能正常運行。該協(xié)議高效、快速且加密。
3.MBed TLS
Mbed TLS 是開源安全套接字層 (SSL) 和傳輸層安全 (TLS) 實現(xiàn)和加密套件。Mbed 是一個 IoT 平臺,使用 Mbed TLS 為 IoT 設(shè)備和系統(tǒng)提供加密算法。Mbed TLS 庫使用 C 編程語言,專為適應(yīng)物聯(lián)網(wǎng)設(shè)備的輕量級計算能力而設(shè)計,同時保持通信加密和安全。
4. Wireshark
Wireshark 是世界上最著名的網(wǎng)絡(luò)分析工具之一。您可以使用它來監(jiān)控 IoT 網(wǎng)絡(luò)協(xié)議是否存在異常情況。Wireshark 幾乎可以在任何操作系統(tǒng)上運行,并且完全免費。公司可以使用該平臺來解決網(wǎng)絡(luò)速度慢的問題。Wireshark 還支持常見網(wǎng)絡(luò)安全協(xié)議(例如 SSL 和 TLS 等)的解密。
5.FreeRTOS
FreeRTOS 是一個實時操作系統(tǒng) (RTOS),通過 MIT 許可證作為開源資源進(jìn)行分發(fā)。它提供了強(qiáng)大的庫,為使用物聯(lián)網(wǎng)設(shè)備的公司提供連接和安全資源。由于代碼完全開源,您還可以根據(jù)特定用例進(jìn)行必要的更改,甚至可以為GitHub 上的項目做出貢獻(xiàn)。
6.Mainflux Labs
Mainflux Labs 提供用于管理和控制物聯(lián)網(wǎng)設(shè)備的開源物聯(lián)網(wǎng)平臺。該平臺使用所謂的微服務(wù)架構(gòu)來讓您管理和連接設(shè)備。通過微服務(wù)架構(gòu),軟件被劃分為獨立的服務(wù),而不是單個代碼塊。微服務(wù)架構(gòu)消除了單點故障,即使平臺的一部分需要維護(hù),大部分服務(wù)仍然可以正常運行。Mainflux 是完全免費和開源的,而且您可以使用它來連接任何應(yīng)用程序或設(shè)備,無論其架構(gòu)類型或風(fēng)格如何。
7.Zetta
Zetta 基于Node.js構(gòu)建,允許您構(gòu)建 REST(表述性狀態(tài)傳輸)API,以便您的所有設(shè)備使用相同的通用 API 框架進(jìn)行連接。API(應(yīng)用程序編程接口)允許應(yīng)用程序相互通信。例如,您可以使用 Zetta 制作 API,允許安全應(yīng)用程序(如運動傳感器和警報)在智能安全系統(tǒng)中相互通信?;蛘撸梢允褂?API 讓手機(jī)上的應(yīng)用程序遠(yuǎn)程連接到照明控制系統(tǒng)。
Zetta 優(yōu)化了 IoT 設(shè)備之間實時通信的 API。實時通信對于數(shù)據(jù)流是必要的,其中來自物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)不斷更新。例如,智能交通控制系統(tǒng)需要不斷接收有關(guān)不同區(qū)域交通的更新,因此需要數(shù)據(jù)流。
8.Node-RED
Node-RED 允許用戶開發(fā)物聯(lián)網(wǎng)應(yīng)用程序,即使他們不知道如何編碼。它是一種低代碼編程工具,具有拖放式開發(fā)界面。Node-RED 是開源的,并且為開發(fā)人員提供了大量資源庫。
輕量級 IP (lwIP) 是一種傳輸控制協(xié)議 (TCP)/互聯(lián)網(wǎng)協(xié)議 (IP) 實現(xiàn)。換句話說,它允許設(shè)備通過互聯(lián)網(wǎng)進(jìn)行通信。它是開源的,使用很少的資源,因此非常適合低功耗系統(tǒng)和資源有限的物聯(lián)網(wǎng)設(shè)備。
10. ArduinoArduino IoT Cloud 是一個物聯(lián)網(wǎng)應(yīng)用開發(fā)平臺。它提供了廣泛的文檔并具有免費套餐。Arduino 并非完全與硬件無關(guān),因此您需要確保 IoT 設(shè)備中的硬件與該平臺兼容。
最后的想法
創(chuàng)建物聯(lián)網(wǎng)生態(tài)系統(tǒng)需要大量的工作和規(guī)劃。最終,物聯(lián)網(wǎng)項目的成功或失敗將取決于您所擁有的工具和資源的質(zhì)量。上述工具可以在流程的每個階段為您提供幫助,使物聯(lián)網(wǎng)開發(fā)更具成本效益、安全和高效。