物聯網的全棧開發之路

 

       兩年前我對物聯網關注比較少,儘管我個人對智能家居的概念和場景體驗也比較熟悉。真正引起我注意的是有一次在車上,聽到電視廣播說打開藍牙,用手機搖一搖就可以搖到紅包,我就覺得這個場景很棒,然後就知道了ibeacon和微信搖一搖周邊,知道了微信硬件平臺和物聯網的發展已經深入滲透到我們的生活了。

       傳統的物聯網從組成架構上有硬件雲、設備、APP應用三個部分。隨着微信、阿里小智等超級APP的出現,因爲其內置了瀏覽器,所以應用從APP轉向了WEB H5開發,也相應地降低了開發難度和縮短了開發週期。當然,因爲APP能夠完成自主定製,並且體驗效果要由於H5,所以物聯網APP依然在選擇之列,但H5是一種趨勢。從這個發展來看,物聯網涉及到雲、設備、APP和H5四個領域的技術。

       一個物聯網研發團隊,即使不是雲提供商,作爲一個方案提供商,也一定要能很好地把握這四個領域的技術。當然,還需要有一個架構師或者技術總監能夠把握這四種技術,才能高效地統籌整個項目。也就是所謂的全棧工程師,借用一下這個詞。

       對於我,是如何去平衡和把握這四種技術呢?

       由於我自身的開發研究背景,設備和APP都不是問題,網絡通信也是看家本領,對於socket編程很熟悉。但是雲和H5是一個新的領域,就是傳統PC領域的後端和前端。物聯網並不是全新的技術,它僅僅是多種技術的組合而已。就我個人而言,需要負責一個研發團隊,理所當然要求全棧的技術。所以要儘可能高效地學習理解後端框架和編程,還好,本人對面向對象編程比較熟,對架構和框架等技術感興趣,android linux本身也有很多框架技術可以借鑑,然後選擇springMVC + Hibernate爲基礎搭建環境,開始了後端和前端的學習和開發之旅。如果學習能觸類旁通,它就能變得高效,我始終認爲軟件思想纔是最重要的,而不管它是什麼語言。

       物聯網也不僅僅是四種領域技術的堆砌,更重要的四者自己的互聯互通。我認爲,以場景作爲軟件需求的角度去理解物聯網的組合和互通是最爲重要的,也是最有效的。掃一掃設備就能夠綁定,我們覺得這個已經非常方便了。但是,物聯網還要考慮到量產的需求,因爲如果都掃一掃,那麼每個二維碼都是不同的,需要去平臺申請,然後印刷,粘貼也是很麻煩的事情,所以設備提供商又提供了設備發現和綁定的流程場景。說到底,物聯網需要關注用戶的需求,也要關注物聯網背後的不同廠商之間的利益訴求。物聯網產品從場景體驗的角度有註冊APP,綁定設備,設備接入、通信控制等過程,對於雲來說,就要求實現用戶管理、設備管理和消息推送能力。

       有了以上對場景的理解,接下來就是實現層面。如何實現?協議和安全是物聯網平臺的基礎。而協議又分應用層協議和傳輸層協議,當然,物聯網是基於IP物聯的,開發人員不需要關注IP即以下層的技術,就算是設備端,有socket編程足夠了,當然airkiss是個例外。另外,手機和BLE藍牙是通過藍牙協議通信,然後手機和平臺還是基於IP物聯的。對於方案開發,就需要對雲接入的協議、設備接入的協議非常精通。當然,現在物聯架構也有分化,譬如微信物聯,有基礎架構,由自己的後臺服務接管自己的設備,又有硬件直連SDK架構,即由硬件直接連微信硬件雲,省掉自己的後臺。這些,都需要深入理解和運用到方案開發中去,纔能有深厚的積累。

       所以,全棧技術、場景、協議/安全就是物聯網開發之路。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章