物聯網(IoT)行業正蓬勃發展,成功的物聯網項目需要大量工程,本文討論了完整物聯網項目所需的開發人員技能:包括嵌入式開發技術,應用程序編程,大數據分析等等。
硬件設計師
大多數物聯網項目包括某種形式的定制硬件設計。硬件的復雜程度在不同的項目之間差異很大。在某些情況下,可以使用硬件模塊和參考設計,對于這些,基礎電氣工程教育就足夠了。更復雜的項目需要更多的經驗和專業知識。
無線通信專家
大多數物聯網項目都是無線的,無線很難實現,因為它結合了物理世界的所有困難和軟件的復雜性。無線通信專家的典型背景是無線通信、網絡協議和軟件開發。對于大規模物聯網系統,需要具備無線通信專業知識,以適當調整網絡和通信模式。對于消費級物聯網系統,需要具備無線通信專業知識,才能使設備通過藍牙順利連接到用戶的智能手機。
嵌入式固件開發人員
要將硬件變為魔術,你需要嵌入式開發人員。典型的背景是電氣工程、計算機體系結構和軟件開發的結合,嵌入式開發人員使用最終硬件的原型版本。
典型技能:C,匯編語言,C++
實時操作系統(RTOS)體驗:FreeRTOS、Contiki、Zephyr
嵌入式Linux
源代碼版本控制
物理和信息安全
平臺:Texas Instruments、ARM Cortex、AVR、微芯片、Arduino、Raspberry Pi
前端和后端開發人員
大多數物聯網項目都有一個以網頁形式出現的前端,和以存儲數據庫、應用程序邏輯的后端。前端是與用戶交互的地方,需要懂HTML,CSS,Javascrip,熟練使用Vue.js、Reaction、Bootstrap等框架。后端開發人員需要精通java、JavaScript,Go,Python,Ruby等語言,了解MySQL、MongoDB、Redis等數據庫工具。
應用程序開發人員
許多面向用戶的物聯網項目使用移動應用程序作為用戶界面。隨著項目的進展,移動應用體驗變得越來越重要。這通常意味著需要開發和維護兩個版本的應用程序:iOS和Android。有時,混合本機應用程序(通常使用HTML開發)是一種解決方法。大多數應用程序開發人員精通本機或混合框架的優點和挑戰。
系統集成、自動化和工程師
許多物聯網項目需要與現有軟件集成。軟件集成是一項經常被低估的任務,需要付出巨大的努力和一套特定的技能才能成功。一旦軟件集成開始,你將希望確保集成繼續工作。這就是自動化測試發揮作用的地方。系統集成和自動化工程師將具有豐富的實踐經驗和勇氣,因為這是一項艱巨的工作。
數據科學家
物聯網項目圍繞數據展開,你需要理解這些數據。在項目的早期階段,這可能很簡單,只需將關鍵績效指標放入Excel表格中進行比較,但隨著項目的進展,你可能需要對數據進行更深入的分析。這就是數據科學家的用武之地。數據科學家利用復雜的數據來發現模式和可操作的信息,從而最終驅動數據的價值。