物聯(lián)網(wǎng)行業(yè)的職位需要掌握的技能有哪一些
網(wǎng)是一個很大的概念,很多小伙伴問,想進(jìn)入物聯(lián)網(wǎng)行業(yè),需要掌握些什么技能?
一、關(guān)于物聯(lián)網(wǎng)
IOT:The Internet of Things,物聯(lián)網(wǎng)。
物聯(lián)網(wǎng)是指通過 各種信息傳感器、射頻識別技術(shù)、全球定位系統(tǒng)、紅外感應(yīng)器、激光掃描器等各種裝置與技術(shù),實時采集任何需要監(jiān)控、 連接、互動的物體或過程,采集其聲、光、熱、電、力學(xué)、化 學(xué)、生物、位置等各種需要的信息,通過各類可能的網(wǎng)絡(luò)接入,實現(xiàn)物與物、物與人的泛在連接,實現(xiàn)對物品和過程的智能化感知、識別和管理。物聯(lián)網(wǎng)是一個基于互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)等的信息承載體,它讓所有能夠被獨立尋址的普通物理對象形成互聯(lián)互通的網(wǎng)絡(luò)。
來自:百度百科
從上面概念你會發(fā)現(xiàn),物聯(lián)網(wǎng)牽涉的內(nèi)容眾多。但要完成一個物聯(lián)網(wǎng)項目一個人肯定不行,術(shù)業(yè)有專攻,人的精力有限,所以就存在各種不同職位。
成功的物聯(lián)網(wǎng)項目非常注重工程技術(shù)。在本文中,我們將討論從事物聯(lián)網(wǎng)項目的開發(fā)人員所需掌握的技術(shù):
硬件設(shè)計師
嵌入式固件開發(fā)人員
無線通訊專家
后端開發(fā)人員
前端開發(fā)人員
應(yīng)用開發(fā)人員
自動化與系統(tǒng)集成工程師
數(shù)據(jù)科學(xué)家
所有成功的物聯(lián)網(wǎng)項目的第一步都是定義業(yè)務(wù)目標(biāo)并建立概念驗證系統(tǒng),以評估這些目標(biāo)是否可以實現(xiàn)。在這個階段,你只需掌握本文提到的部分技術(shù)。但是,等到項目取得成功,超越了概念驗證水平,那么團(tuán)隊所需技術(shù)力的廣度和深度就會增加。
通常,開發(fā)人員都可以掌握多項技術(shù)。有時,項目所需的每項技術(shù)都需要由專門的團(tuán)隊來承擔(dān),而所需人員的數(shù)量則取決于項目的復(fù)雜性和成功度。項目越成功,就意味著有更多錢來雇傭更多人。
二、硬件設(shè)計師
大多數(shù)物聯(lián)網(wǎng)項目都涉及某種形式的定制硬件設(shè)計。硬件的復(fù)雜度因項目而異。在某些情況下,我們可以使用硬件模塊和參考設(shè)計,基礎(chǔ)知識和電氣工程知識就足夠了。而有些更復(fù)雜的項目則需要更多的經(jīng)驗和專業(yè)知識。如果你想構(gòu)建蘋果級別的硬件,則需要一個蘋果級別的硬件團(tuán)隊,還有蘋果級別的預(yù)算。
常見的技術(shù):
印刷電路板(PCB)設(shè)計
無線電頻率與天線設(shè)計
時鐘,信號路由相關(guān)的經(jīng)驗
低功耗設(shè)計和功耗優(yōu)化
芯片選擇:微控制器、傳感器、接口芯片
接口:SPI、I2C、JTAG、USB、GPIO
生產(chǎn)和零件采購
三、嵌入式固件開發(fā)人員
如果想讓硬件發(fā)揮作用,你就需要嵌入式開發(fā)人員。他們是從事最底層、最接近裸機硬件的軟件開發(fā)人員。這樣的軟件稱為固件(介于軟件和硬件之間的固件)。一般這些開發(fā)人員的背景結(jié)合了電氣工程、計算機體系結(jié)構(gòu)和軟件開發(fā)。嵌入式開發(fā)人員的工作需要與最終硬件的原型版本打交道,因此通常他們的辦公桌看起來都很凌亂。
常見的技術(shù):
編程語言:C、匯編語言、C++
實時操作系統(tǒng)(RTOS)經(jīng)驗:FreeRTOS、Contiki、Zephyr
嵌入式Linux
源代碼版本控制
物理和信息安全
平臺:美國德州儀器(TI)、ARM Cortex、AVR、微芯片、Arduino、樹莓派
四、無線通訊專家
大多數(shù)物聯(lián)網(wǎng)項目都是無線的,但無線技術(shù)都很難,因為無線集物理與軟件的雙重復(fù)雜度于一身。通常無線通信專家都來自無線通信、網(wǎng)絡(luò)協(xié)議和軟件開發(fā)。對于大型物聯(lián)網(wǎng)系統(tǒng)來說,擁有無線通信的專長才能適當(dāng)?shù)卮_定網(wǎng)絡(luò)與通信模式。而消費級物聯(lián)網(wǎng)系統(tǒng)則需要無線通信專長來確保通過藍(lán)牙順利地將設(shè)備連接到用戶的智能手機。
常見的技術(shù):
網(wǎng)絡(luò)模擬
無線網(wǎng)格網(wǎng)絡(luò)
對無線傳播技術(shù)的掌握
對功耗的掌握
協(xié)議:TCP/IP、IPv4、IPv6、RPL、TLS、WiFi、藍(lán)牙、6lowpan、ZigBee、LoRA、MQTT、CoAP
五、后端開發(fā)人員
在物聯(lián)網(wǎng)系統(tǒng)中,后端需要處理數(shù)據(jù)庫和應(yīng)用程序邏輯。通常,后端都部署在云主機中,并負(fù)責(zé)存儲來自物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)、對用戶進(jìn)行身份驗證、為前端以及與其他系統(tǒng)的集成提供API。
常見的技術(shù):
編程語言:Java、Go、Python、Ruby
數(shù)據(jù)庫:MySQL、MongoDB、Redis
開發(fā)運維經(jīng)驗
云平臺:亞馬遜的AWS、Heroku、微軟的Azure
六、前端開發(fā)人員
大多數(shù)物聯(lián)網(wǎng)項目都有網(wǎng)頁形式的前端。用戶可以通過這類網(wǎng)頁與系統(tǒng)交互。因此,這些網(wǎng)頁需要做到易于使用、安全、可在最常見的Web瀏覽器中運行并保持最新狀態(tài)。這些前端是用HTML開發(fā)的,而且通常都會采用某些現(xiàn)有的Java前端框架。前端開發(fā)人員需要通過大量輸出到網(wǎng)頁上的文本來創(chuàng)建視覺體驗。
常見的技術(shù):
UI/UX設(shè)計
用戶訪談與人機交互的經(jīng)驗
HTML、CSS、Java
Web開發(fā)框架:Vue.js、React、Bootstrap
七、應(yīng)用開發(fā)人員
許多面向用戶的物聯(lián)網(wǎng)項目都需要使用移動應(yīng)用作為用戶界面。隨著項目的推進(jìn),移動應(yīng)用體驗的重要性越來越突出。通常,我們需要開發(fā)和維護(hù)兩個版本:iOS和Android。有時也可以開發(fā)混合原生應(yīng)用(通常用HTML開發(fā))。大多數(shù)應(yīng)用開發(fā)人員都清楚原生與混合框架的優(yōu)缺點。
常見的技術(shù):
Android、iOS開發(fā)
原生/混合框架:Phonegap/Cordova、Ionic、Angular、React、Vue
編程語言:Java、Swift、ObjecTIve C、Java
八、系統(tǒng)集成與自動化工程師
許多物聯(lián)網(wǎng)項目都需要與現(xiàn)有軟件集成。軟件集成是一項經(jīng)常被低估的任務(wù),我們常常需要花費大量精力,運用一套特定的技術(shù)才能取得成功。此外,一旦軟件集成開始,你就必須確保集成保持正常運行。這時我們就需要采用自動測試。系統(tǒng)集成和自動化工程師需要擁有大量實踐經(jīng)驗和勇氣,因為這是一項艱巨的工作。
常見的技術(shù):
自動測試框架:Jenkins、Mocha、Travis
REST API
編程語言:Java、Java、Python、Bash
九、數(shù)據(jù)科學(xué)家
物聯(lián)網(wǎng)項目都需要圍繞數(shù)據(jù)展開,而且你需要充分利用這些數(shù)據(jù)。在項目的早期階段,這部分的工作可能很簡單,只需將關(guān)鍵績效指標(biāo)放入Excel工作表中進(jìn)行比較即可。但是隨著項目的發(fā)展,你需要針對數(shù)據(jù)展開更深入的分析。這時就需要數(shù)據(jù)科學(xué)家的幫忙。數(shù)據(jù)科學(xué)家可以通過復(fù)雜的數(shù)據(jù),尋找模式以及可付諸行動的信息,而這才是數(shù)據(jù)的最終價值。
常見的技術(shù):
統(tǒng)計、人工智能、機器學(xué)習(xí)、數(shù)據(jù)挖掘
編程語言: Matlab、R、Python
工具: Excel、Google BigQuery、Hadoop、TensorFlow、Spark
十、總結(jié)
一個成熟的物聯(lián)網(wǎng)項目需要一系列廣泛的技術(shù)支持才能取得成功。在項目的早期階段,驗證業(yè)務(wù)案例是最重要的任務(wù),因此你不需要具備本文中提到的所有技術(shù)力。但是,在業(yè)務(wù)案例得到確認(rèn),項目可以真正開始后,這些技術(shù)就會變得越來越重要。