物聯(lián)網(wǎng)開發(fā)人員需要具備哪些技能
物聯(lián)網(wǎng)領(lǐng)域正在不斷擴大,但如果沒有強大的物聯(lián)網(wǎng)開發(fā)人員團隊就無法做到這一點。如果您想知道如何進入該領(lǐng)域,就請從這篇文章開始。
什么是物聯(lián)網(wǎng)開發(fā)人員?
物聯(lián)網(wǎng)開發(fā)人員的工作可能涉及很多方面,比如安全、網(wǎng)絡(luò)、系統(tǒng)工程、云編程和硬件設(shè)備編程等。由于這個職位相對較新,因此無論您對哪個方面特別感興趣,則都會有很大的空間來拓展自己的職業(yè)生涯。
盡管沒有必要也不可能掌握所有方面的專業(yè)知識,但對于物聯(lián)網(wǎng)開發(fā)人員來說,至少一定程度上熟悉物聯(lián)網(wǎng)項目的各個方面仍然很重要。物聯(lián)網(wǎng)開發(fā)是一項高度協(xié)作的工作,因此您自己或您的團隊與從事硬件或設(shè)計的人員協(xié)作,無疑是正確的選擇。
物聯(lián)網(wǎng)開發(fā)流程的各個階段
要了解成為一名合格的物聯(lián)網(wǎng)開發(fā)人員所必需的技能,您首先需要對物聯(lián)網(wǎng)開發(fā)流程有一個基本了解。這樣,您就可以了解開發(fā)人員參與流程的所有要點,甚至還能確定您想專門從事的細分領(lǐng)域。
物聯(lián)網(wǎng)在以消費者需求節(jié)奏來開發(fā)和迭代產(chǎn)品方面提出了獨特的挑戰(zhàn)。這是因為它將硬件開發(fā)與軟件開發(fā)相結(jié)合。
物聯(lián)網(wǎng)開發(fā)流程需要一支由經(jīng)驗豐富且協(xié)調(diào)一致的軟件開發(fā)人員、產(chǎn)品經(jīng)理、機械工程師、電氣工程師、UI / UX設(shè)計師等組成的團隊,以及時交付產(chǎn)品,并在產(chǎn)品發(fā)布后繼續(xù)對其進行改進。
通過使用敏捷物聯(lián)網(wǎng)開發(fā)框架,我們的團隊確定了物聯(lián)網(wǎng)開發(fā)流程中的10個步驟,可用于指導(dǎo)每個項目:
1、驗證和限制
在第一階段,將驗證您對項目的假設(shè),并克服所有可能遇到的限制(預(yù)算、時間表、人員等)。例如:您的項目需要機器學(xué)習(xí)嗎?您需要定制硬件開發(fā)嗎?
2、產(chǎn)品開發(fā)路線圖
從頭開始制定計劃,確保每個人對產(chǎn)品的目標(biāo)都是一致的。作為開發(fā)人員,您需要了解軟件是如何與硬件交互的、開發(fā)時間表以及團隊的開發(fā)方向。
3、消除硬件風(fēng)險
此階段將消除硬件設(shè)計中的未知因素,并要求您與工程師合作,提出并回答以下問題:
▲是否可以以可接受的精度水平測量/控制X?
▲在預(yù)期的操作環(huán)境中是否可以接收無線網(wǎng)絡(luò)?
4、模擬與仿真
此階段涉及構(gòu)建硬件的粗糙原型,您不需要自己動手,因為它需要機械工程技能。實際上,許多物聯(lián)網(wǎng)設(shè)備主要使用預(yù)先組裝好的板材,并在板上連接了傳感器,因此構(gòu)建并不完全是從頭開始。在這里,Breadboards板和alligator 夾是您的好伙伴。重要的是,您組裝在一起的硬件可以正常運行。
此外,您還要從應(yīng)用程序方面入手,使用測試工具來模擬硬件在完全構(gòu)建后如何與軟件進行交互。您還將開始圍繞設(shè)備配置、身份驗證、固件更新以及在Web后端和設(shè)備之間傳遞基本消息而構(gòu)建關(guān)鍵組件。
5、完善原型
在此階段,您的原型應(yīng)完全連接到Web。要做到這一點,您需要具備編程技能,以從物聯(lián)網(wǎng)設(shè)備的傳感器讀取數(shù)據(jù)并將其發(fā)送到服務(wù)器。您還需要有人對服務(wù)器進行編程,以便接收和存儲來自設(shè)備的數(shù)據(jù)。(來源物聯(lián)之家網(wǎng))這需要了解諸如Ruby、Elixir、Python、C#、Java或TypeScript之類的服務(wù)器語言,并熟悉數(shù)據(jù)庫查詢語言——SQL和NoSQL。
最后,您需要通過網(wǎng)頁或應(yīng)用向用戶顯示數(shù)據(jù)和消息。這意味著您需要具備Type Script、HTML、CSS等Web開發(fā)語言以及React或Vue等框架方面的經(jīng)驗。
6、微加工
在此步驟中,您的硬件團隊將創(chuàng)建自定義印刷電路板和3D打印機械外殼/組件。他們會將這些分發(fā)給開發(fā)人員,以便可以使用實際的硬件進行測試。
7、首次生產(chǎn)
在最初的生產(chǎn)過程中,您將創(chuàng)建大約100個產(chǎn)品,可以將它們分發(fā)給一組測試人員。用戶測試在物聯(lián)網(wǎng)中的重要性與在常規(guī)軟件開發(fā)中一樣重要,因為物聯(lián)網(wǎng)涉及物理硬件成本。如果發(fā)生進一步的問題,就不能再輕易更改它。
在此階段,您應(yīng)該會收到可用于迭代改進的反饋。如果需要更改硬件,則軟件開發(fā)團隊可能會暫停,或者在解決問題期間您可能會被要求處理其他功能開發(fā)。
8、真正生產(chǎn)
此階段將生產(chǎn)1000臺或更多產(chǎn)品,此時您應(yīng)該已經(jīng)與制造商合作完成任何必要的自定義配置或軟件校準(zhǔn)。您也可以與早期的采用者合作,以獲取有關(guān)產(chǎn)品使用的反饋。
9、進入市場的生產(chǎn)排程
您已經(jīng)準(zhǔn)備好發(fā)布產(chǎn)品了。現(xiàn)在,您可以開發(fā)其他產(chǎn)品以添加到您的物聯(lián)網(wǎng)系統(tǒng)中,或者您可以考慮延長產(chǎn)品使用壽命和提高價值的方法,因為它已經(jīng)投放市場。例如,您是否可以使用產(chǎn)品傳感器已經(jīng)收集到的數(shù)據(jù)在應(yīng)用程序中提供新的見解?
10、數(shù)字孿生技術(shù)仿真
最后,為了收集更準(zhǔn)確的產(chǎn)品反饋,您可以創(chuàng)建一個數(shù)字孿生——物理對象的虛擬復(fù)制品,可用于測試和實驗產(chǎn)品。數(shù)字孿生還可以減少擁有和支持產(chǎn)品的終生成本。
物聯(lián)網(wǎng)開發(fā)人員的必備技能
現(xiàn)在,您已經(jīng)掌握了物聯(lián)網(wǎng)開發(fā)流程的所有要點,接下來還需要知道開發(fā)人員的必備技能:
1、人工智能、機器學(xué)習(xí)和數(shù)據(jù)科學(xué)
企業(yè)越來越認識到人工智能、機器學(xué)習(xí)和數(shù)據(jù)科學(xué)在自動化流程、從數(shù)據(jù)中提取更多知識和見解,以及做出更明智決策方面的價值。
因為物聯(lián)網(wǎng)產(chǎn)品本質(zhì)上經(jīng)常收集大量數(shù)據(jù),所以對于物聯(lián)網(wǎng)開發(fā)人員來說,了解需要使用哪些技術(shù)來幫助企業(yè)最大化數(shù)據(jù)的價值至關(guān)重要。
2、嵌入式系統(tǒng)工程
即使您沒有直接參與物聯(lián)網(wǎng)設(shè)備的編程,或者您沒有計算機工程學(xué)位,您也應(yīng)該了解傳感器如何工作以及硬件如何與軟件交互的基礎(chǔ)知識。您可以嘗試使用Raspberry Pi來了解其工作原理。
3、網(wǎng)絡(luò)與安全
成功的物聯(lián)網(wǎng)解決方案依賴于跨安全網(wǎng)絡(luò)的有效通信。為了確保連接性,開發(fā)人員應(yīng)該熟悉OSI堆棧和物聯(lián)網(wǎng)中使用的通信協(xié)議(如MQTT)。
此外,您應(yīng)該遵循物聯(lián)網(wǎng)安全的最佳實踐,如固件安全、客戶端SSL以及保護設(shè)備本身。
4、移動應(yīng)用開發(fā)知識
事實上,在物聯(lián)網(wǎng)中,您需要具備一些網(wǎng)絡(luò)開發(fā)知識,這樣您就可以創(chuàng)建與您的“東西”或設(shè)備相連的應(yīng)用程序。(來自iothome)此外,由于大量連網(wǎng)設(shè)備被智能手機控制,因此,當(dāng)今一些最受歡迎的物聯(lián)網(wǎng)開發(fā)人員在移動開發(fā)方面(iOS和Android)都擁有非常豐富的經(jīng)驗。
5、用戶體驗(UX)和用戶界面(UI)設(shè)計
您的物聯(lián)網(wǎng)產(chǎn)品可以具有完美的連接性,并可以使用完美的代碼進行編程,但是,如果使用起來很麻煩,那么所有這些都將失去意義。而這就是用戶體驗和用戶界面設(shè)計的用武之地。
盡管您不必是物聯(lián)網(wǎng)UX/UI設(shè)計專家(尤其是考慮到物聯(lián)網(wǎng)設(shè)計的復(fù)雜性),但在整個物聯(lián)網(wǎng)項目中,與軟件和硬件設(shè)計人員的協(xié)作將是必不可少的。
6、物聯(lián)網(wǎng)開發(fā)框架、語言和技術(shù)
要成為物聯(lián)網(wǎng)開發(fā)人員,您可能需要精通以下方法、框架、語言和技術(shù):
方法:
▲敏捷開發(fā)
▲精益開發(fā)
▲極限編程
框架:
▲Ruby on Rails
▲Phoenix
▲Nerves
▲React
▲React Native
云服務(wù):
▲AWS IoT
▲Microsoft Azure IoT
語言:
▲Ruby
▲Elixir
▲Python
▲C/C++
▲C#
▲TypeScript
▲HTML
▲CSS
總結(jié)
現(xiàn)在是進入物聯(lián)網(wǎng)開發(fā)領(lǐng)域的最激動人心的時刻,有趣的是,您可以親自參與并見證該領(lǐng)域在未來幾年的蓬勃發(fā)展。如果這篇文章中的內(nèi)容聽起來跟您一樣,并且您有興趣加入物聯(lián)網(wǎng)開發(fā)人員團隊,那么恭喜您,您將開啟前途無量的物聯(lián)網(wǎng)職業(yè)生涯新篇章。