物聯網學習筆記一:物聯網入門的必備 7 大概念和技能

物聯網學習筆記一:物聯網入門的必備 7 大概念和技能

物聯網 (IoT) 是由互連的物理設備組成的一個全球化系統,這些設備經過互聯網傳送數據,並且 IoT 正在改變着咱們的生活和工做方式。IoT 設備已在各行各業獲得普遍應用,這些行業包括醫療保健、製造、汽車、零售、建築自動化等等。許多企業正在利用來自互連設備的數據提升運營效率,改善提供給客戶的價值和體驗。隨着採用 IoT 解決方案的快速增加,而且互連設備數量已達數十億,所以對能熟練使用 IoT 解決方案的開發人員的需求也在不斷增加。數據庫

想牢牢抓住IoT機會的開發人員,應掌握一系列有關主題領域涉及的關鍵技能,其中包括:編程

  • 硬件
  • 網絡
  • 應用程序設計
  • 應用程序開發
  • 安全性
  • 商業智能和數據分析
  • 機器學習和人工智能 (AI)

 

1.硬件安全

IoT 的核心是數十億個互連的「事物」或設備,它們與用來感知和控制物理設備的傳感器和執行器相連。爲這些設備開發硬件須要電氣工程方面的技能,而物理設計則須要工業設計和 CAD 技能。 網絡

除了須要網絡鏈接來傳輸收集的數據以外,這些設備一般還須要具有一些基本的處理和存儲能力,這些能力由微控制器或單芯片系統 (SoC) 集成電路提供。IoT 設備是嵌入式設備,所以每一個設備的電路設計必須考慮到操做侷限性,好比: 架構

  • 環境條件
  • 與設備相連的傳感器和執行器的類型和數量
  • 要收集和傳輸的數據量
  • 設備的大小、功率和範圍
  • 單位成本
  • 其餘

IoT 設備可利用商用的微控制器平臺(好比 Arduino)或單板計算機(好比 Raspberry Pi)來設計原型,而後在後續階段開發定製的印刷電路板 (PCBs)。使用這些平臺設計原型須要掌握電路設計和微控制器編程技能,還須要熟悉硬件通訊協議,好比經常使用來在微控制器與相連的傳感器和執行器之間進行通訊的串行、I2C 或 SPI 協議。嵌入式程序一般是使用 C++ 或 C 開發的,而在 IoT 設備原型設計方面,Python 和 JavaScript 變得更受歡迎。 框架

2.網絡機器學習

鏈接是 IoT 的另外一個重要方面。它使設備之間可以相互通訊,還使得設備可以與在雲中運行的應用程序和服務進行通訊。因爲互連設備的巨大數量和網絡設計決策可能形成的大規模影響,網絡設計和管理是 IoT 中必不可少的技能。例如,網格網絡是一種很是容易擴展且可靠的網絡拓撲設計,IoT 中一般會採用它;可是,網格網絡的分佈式性質使系統變得更復雜,也增長了網絡中每一個設備的延遲和功耗需求。 分佈式

除了網絡設計以外,開發人員還應掌握網絡標準、協議和技術方面的實用知識。這些知識包括客戶端應用程序中使用的 wifi、低功耗藍牙、Zigbee、蜂窩和 RFID 技術,以及 LoRa 等低功耗廣域網 (LPWAN) 技術。LPWAN 還包括 SigFox 和 NB-IoT(窄帶 IoT),它們提供了更低成本、更低功耗、更長距離的無線鏈接,更適合大規模的工業級 IoT 應用。 ide

3.應用程序設計和開發工具

Web 和移動應用程序支持用戶界面來與 IoT 設備進行交互,並使用來自這些設備的數據。可是,IoT 設備可能也擁有本身的用戶界面 (UI)。基於語音和手勢的界面在 IoT 應用中很受歡迎,尤爲是對於家庭自動化,與此同時,加強現實接口爲覆蓋整個物理世界的 IoT 數據提供了使人興奮的可能性。所以,UI 和 UX 設計技能是 IoT 領域目前最熱門的技能。 

Web 和移動應用程序是使用高級語言開發的,其中 Java、Swift 和 Node.js 是開發 IoT 應用程序的最主要語言。GPS 編程技能尤其重要,由於包括可穿戴設備和智慧汽車在內的許多 IoT 應用都須要感知位置。開發人員應時刻關注可用來快速構建原型的新興框架和開發工具包,以及一些 IoT 平臺,這些平臺提供了基礎架構和工具來幫助自動化 IoT 應用程序的構建、部署、管理和操做。 

4.安全性

安全性是 IoT 中最重要的問題之一。必須在系統設計的每一步內置安全保護,而不是在過後進行添加。與安全性密切相關的關鍵問題包括數據倫理、隱私和責任。

IoT 安全性的最大挑戰是須要保護:

  • 對設備及其數據的物理和網絡訪問
  • 與設備進行通訊的應用程序和服務
  • 網絡自己 

天天鏈接的新設備達數百萬個,這使潛在的攻擊點數量與日俱增。遭到侵害的 IoT 設備被用於發動分佈式拒絕服務 (DDoS) 攻擊。可是,一旦設備不受控制,若是沒有創建安全和設備管理實踐或安全基礎架構,則很難部署固件更新來修復安全問題。

在如此緊迫的形勢下,安全工程技能開始在 IoT 中備受關注。這些技能包括威脅評估( threat assessment)、倫理黑客攻擊(ethical hacking)、加密以保證數據完整性、保護網絡架構和應用程序,以及事件監控、活動記錄和威脅情報(threat intelligence)。

5.商業智能和數據分析

隨着 IoT 設備傳輸數據的數量增長,大數據變成了真正巨大的數據。開發人員須要一流的數據管理技能,才能安全可靠地獲取、存儲和查詢源自這些設備的海量異構數據(heterogeneous data )。

許多 IoT 設備會生成延遲或時間敏感的數據,因此必須篩除或丟棄無關數據。IoT 開發人員應掌握的關鍵的數據分析技術和平臺包括 Hadoop、Spark,以及 MongoDB 等 NoSQL 數據庫。

6.機器學習和人工智能(AI)

爲了提供價值並理解 IoT 設備生成的海量數據,IoT 開發人員最後還必須掌握機器學習和 AI 技能。智能大數據分析涉及到應用從數據挖掘、建模、統計、機器學習和 AI 中得到的認知計算技術。可將這些技術實時應用於傳感器數據流上,以便執行預測分析或自主決策來響應傳入的數據,也能夠將它們應用於歷史數據,以便識別數據中的模式或異常。

 

本文引用自:7 key concepts and skills for getting started with IoT

相關文章
相關標籤/搜索