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