IoT入門的7大必備概念和技能
物聯(lián)網 (IoT) 是由互連的物理設備組成的一個全球化系統(tǒng),這些設備通過互聯(lián)網傳送數(shù)據,而且 IoT 正在改變著我們的生活和工作方式。IoT 設備已在各行各業(yè)得到廣泛應用,這些行業(yè)包括醫(yī)療保健、制造、汽車、零售、建筑自動化等等。許多企業(yè)正在利用來自互連設備的數(shù)據提高運營效率,改善提供給客戶的價值和體驗。隨著采用 IoT 解決方案的快速增長,并且互連設備數(shù)量已達數(shù)十億,因此對能熟練使用 IoT 解決方案的開發(fā)人員的需求也在不斷增長。
想緊緊抓住 IoT 機會的開發(fā)人員,應掌握一系列有關主題領域涉及的關鍵技能,其中包括:
- 硬件
- 網絡
- 應用程序設計
- 應用程序開發(fā)
- 安全性
- 商業(yè)智能和數(shù)據分析
- 機器學習和人工智能(AI)
1. 硬件
IoT 的核心是數(shù)十億個互連的“事物”或設備,它們與用來感知和控制物理設備的傳感器和執(zhí)行器相連。為這些設備開發(fā)硬件需要電氣工程方面的技能,而物理設計則需要工業(yè)設計和 CAD 技能。
除了需要網絡連接來傳輸收集的數(shù)據之外,這些設備通常還需要具備一些基本的處理和存儲能力,這些能力由微控制器或單芯片系統(tǒng) (SoC) 集成電路提供。IoT 設備是嵌入式設備,因此每個設備的電路設計必須考慮到操作局限性,
比如:
- 環(huán)境條件
- 與設備相連的傳感器和執(zhí)行器的類型和數(shù)量
- 要收集和傳輸?shù)臄?shù)據量
- 設備的大小、功率和范圍
- 單位成本
- 其他
IoT 設備可利用商用的微控制器平臺(比如 Arduino)或單板計算機(比如 Raspberry Pi)來設計原型,然后在后續(xù)階段開發(fā)定制的印刷電路板 (PCBs)。使用這些平臺設計原型需要掌握電路設計和微控制器編程技能,還需要熟悉硬件通信協(xié)議,比如常用來在微控制器與相連的傳感器和執(zhí)行器之間進行通信的串行、I2C 或 SPI 協(xié)議。嵌入式程序通常是使用 C++ 或 C 開發(fā)的,而在 IoT 設備原型設計方面,Python 和 JavaScript 變得更受歡迎。
2. 網絡
連接是 IoT 的另一個重要方面。它使設備之間能夠相互通信,還使得設備能夠與在云中運行的應用程序和服務進行通信。由于互連設備的巨大數(shù)量和網絡設計決策可能造成的大規(guī)模影響,網絡設計和管理是 IoT 中必不可少的技能。例如,網格網絡是一種非常容易擴展且可靠的網絡拓撲設計,IoT 中通常會采用它;但是,網格網絡的分布式性質使系統(tǒng)變得更復雜,也增加了網絡中每個設備的延遲和功耗需求。
除了網絡設計之外,開發(fā)人員還應掌握網絡標準、協(xié)議和技術方面的實用知識。這些知識包括客戶端應用程序中使用的 wifi、低功耗藍牙、Zigbee、蜂窩和 RFID 技術,以及 LoRa 等低功耗廣域網 (LPWAN) 技術。LPWAN 還包括 SigFox 和 NB-IoT(窄帶 IoT),它們提供了更低成本、更低功耗、更長距離的無線連接,更適合大規(guī)模的工業(yè)級 IoT 應用。
3. 應用程序設計和開發(fā)
Web 和移動應用程序支持用戶界面來與 IoT 設備進行交互,并使用來自這些設備的數(shù)據。但是,IoT 設備可能也擁有自己的用戶界面 (UI)?;谡Z音和手勢的界面在 IoT 應用中很受歡迎,尤其是對于家庭自動化,與此同時,增強現(xiàn)實接口為覆蓋整個物理世界的 IoT 數(shù)據提供了令人興奮的可能性。因此,UI 和 UX 設計技能是 IoT 領域目前最熱門的技能。
Web 和移動應用程序是使用高級語言開發(fā)的,其中 Java、Swift 和 Node.js 是開發(fā) IoT 應用程序的最主要語言。GPS 編程技能尤為重要,因為包括可穿戴設備和智慧汽車在內的許多 IoT 應用都需要感知位置。開發(fā)人員應時刻關注可用來快速構建原型的新興框架和開發(fā)工具包,以及一些 IoT 平臺,這些平臺提供了基礎架構和工具來幫助自動化 IoT 應用程序的構建、部署、管理和操作。
4. 安全性
Security for IoT安全性是 IoT 中最重要的問題之一。必須在系統(tǒng)設計的每一步內置安全保護,而不是在事后進行添加。與安全性密切相關的關鍵問題包括數(shù)據倫理、隱私和責任。
IoT 安全性比較大的挑戰(zhàn)是需要保護:
- 對設備及其數(shù)據的物理和網絡訪問
- 與設備進行通信的應用程序和服務
- 網絡本身
每天連接的新設備達數(shù)百萬個,這使?jié)撛诘墓酎c數(shù)量與日俱增。遭到侵害的 IoT 設備被用于發(fā)動分布式拒絕服務 (DDoS) 攻擊。但是,一旦設備不受控制,如果沒有建立安全和設備管理實踐或安全基礎架構,則很難部署固件更新來修復安全問題。
在如此緊迫的形勢下,安全工程技能開始在 IoT 中備受關注。這些技能包括威脅評估( threat assessment)、倫理黑客攻擊(ethical hacking)、加密以保證數(shù)據完整性、保護網絡架構和應用程序,以及事件監(jiān)控、活動記錄和威脅情報(threat intelligence)。
5. 商業(yè)智能和數(shù)據分析
隨著 IoT 設備傳輸數(shù)據的數(shù)量增加,大數(shù)據變成了真正巨大的數(shù)據。開發(fā)人員需要一流的數(shù)據管理技能,才能安全可靠地獲取、存儲和查詢源自這些設備的海量異構數(shù)據(heterogeneous data)。
許多 IoT 設備會生成延遲或時間敏感的數(shù)據,所以必須篩除或丟棄無關數(shù)據。IoT 開發(fā)人員應掌握的關鍵的數(shù)據分析技術和平臺包括 Hadoop、Spark,以及 MongoDB 等 NoSQL 數(shù)據庫。
6. 機器學習和人工智能(AI)
為了提供價值并理解 IoT 設備生成的海量數(shù)據,IoT 開發(fā)人員最后還必須掌握機器學習和 AI 技能。智能大數(shù)據分析涉及到應用從數(shù)據挖掘、建模、統(tǒng)計、機器學習和 AI 中獲得的認知計算技術??蓪⑦@些技術實時應用于傳感器數(shù)據流上,以便執(zhí)行預測分析或自主決策來響應傳入的數(shù)據,也可以將它們應用于歷史數(shù)據,以便識別數(shù)據中的模式或異常。
您準備好開始開發(fā) IoT 解決方案了嗎?
開發(fā) IoT 應用程序所涉及的技術正在迅速演化。開發(fā)人員應準備好培養(yǎng)各種各樣的技能,保持敏捷并樂于適應新流程、平臺和工具。