近年來物聯網(IoT)成為最熱門的話題,許多大型芯片公司聯合硬件制造商,大量投入物聯網的研發,而以物聯網為目標的新創公司也紛紛設立,以爭取更多投資人的關注。隨著物聯網的發展,過去這只是硬件工程師與嵌入式系統的議題,需要更多專業人才的加入,延伸到原來互聯網的領域,包括后端軟開發及前端工程,以及最近另一個熱門的數據科學家。
智能設備的4個階段
暫不考慮物聯網設備連上網絡要做什么,我們先來談談設備本身,由于芯片的成本不斷下滑,加上各種新型的傳感器被發展出來,使得我們有機會在極小的電路板上,以很低的成本開發出特殊應用的智能設備 (Smart Things)。最近有人給開發全新的智能設備的人一個酷炫的名子–創客(Maker)。不管你想成為什么樣的創客,一定要知道智能設備依其競爭力可分為四個階段:
1、監測:這是最基本的,將感測組件所收到的數據,送回控制臺。
2、控制:智能設備可以接受控制臺的命令,啟動開關、調整設定。
3、優化:在監測數據與控制之間,加入算法來優化,讓監測數據可以依算法回饋給控制命令。
4、自主管理:在優化的算法后,再加入一點機器學習的能力以及外部數據參考的能力,讓智能設備更聰明。
就以當前流行的四軸飛行器為例,最早大家只是在遙控直升機上裝上攝影機,希望做成便宜的無人飛行器,這只是監測與控制;后來有人將直升機擴張到4個旋翼,再加入平衡傳感器,以及維持平衡的算法,這就是優化;然后再加上 GPS 定位,結合控制臺的指令,可以做到定點之間的移動,這是進一步的優化。然而,怎樣才算是自主管理呢?這必須加上一點學習能力才行,例如:不同的載重、不同的風,自動調整飛行的設定。
從智能設備的角度來看,軟件開發人才的機會是在優化與自主管理的階段,因為硬件與嵌入式系統工程師并不善長這一部份工作。
聯網設備的4個工作
將各種設備連上網絡形成物聯網,也可以分為4個部份的工作(不是4個階段):
1、產品:由設備所構成的產品,通常就是前面所提到的智能設備。
2、連網:這部份要考慮的是連網的所使用的技術以及相關的問題,包括傳輪協議、訊息標準、安全、格式、數據型態、網絡優化及管理。
3、資料:物聯網的數據個別算起來都不算大(影音數據除外),但是訊息量驚人,部份數據需要實時處理,有些數據則必須結合其他數據一起分析才會有意義。這里的工作包括數據輸入、儲存與分析三部份。數據輸入格式應盡可能采取開放的協議,如:HTTP, AMQP…等,而數據的接受端要考慮實時的延展性。千萬不要以為當前主流的云端業者所提的的網站或虛擬機的自動延展是夠用的,這些以網頁服務為導向的設計,自動延展常需延遲5到10分鐘才能準備好新的機器,以網站服務的角度看可能足夠,但以物聯網的角度看,表示我們可能會收不到10分鐘左右的數據。在無法預測何時物聯網應用會爆量的情狀下,不能事前將所需的運算資源預先準備好。因此,選擇云端平臺不要使用 IaaS 作為數據接收端,盡可能選擇 PaaS來接收數據,最好是有針對物聯網IoT優化的PaaS數據接收服務。
數據儲存時,先考慮放進noSQL的儲存區, 由于物聯網的數據多是以 Name-Value的方式呈現,在資料尚未處理之前,大多數的的noSQL儲存都可輕易管理它,包括MangoDB, DocumentDB, HDFS, Azure Table/Blob, AWS S3…等等。數據處理時,考慮能有效處理這些數據的工具,Apache 基金會最近有一些新的數據處理引擎,如:Apache Storm 作為分布式實時數據處理之用,Apache Spark 比 MapReduce 更有彈性的平行運算引擎。分析處理后的資料,再放進SQL儲存中,以加速提取信息的效率。
4、運用:將數據分析的結果,運用到各種不同的地方,包括傳送到手機端與用戶互動、作成報表給數據提供者與數據管理者使用、回傳到優化階段算法中以改善算法的功效、或是提供給其他大數據應用參考。
除了第一部份工作是產品的定義與設計外,其他的工作都是軟件開發相關的云端與數據處理機會。
物聯網賺錢的3個步驟
最后,我們來談物聯網的商業模式。物聯網最難賺錢的是銷售設備本身,因為物聯網設備要達到一定的市場有效性,一定要售出相當數量;加上物聯網設備設計,多是以簡單的感測組件與必要的通訊組件構成,客戶不會像換手機一樣的經常去更新它。因此,物聯網設備要在可靠性的前提下,盡可能做到最低成本。此外,來自山寨威脅,永遠都會有人可以更低的成本,來提供同樣的硬件。
應對山寨的威脅,最佳的策略是放棄硬件的毛利,反過來利用深圳的制造能力成為你的供貨商,另一方面以提供服務守住消費者。從商業模式來看,物聯網有3種獲利的方式:
1、提升效率:利用實時收集的監測數據,幫助自已或使用者降低成本,對使用者而言,你銷售的就不是物聯網設備,而是提升效率并降低成本的方案。例如:工業自動化利用數據改善制造效率,設備監控與分析以提高妥善率、醫院利用鏈接的數據減少犯錯的機會、農場利用收集的信息精準供應水、光線、肥料。
2、啟動創新:綜合多種來源的實時數據,分析市場的變化,以隨時反應市場變化,例如;加油站將加油數量結合客戶行動App,進一步改善客戶忠誠度計劃;或者是分析歷史數據,以預測市場需求,例如:綜合歷史天候數據及實時監控數據,預測高單價農產品的質量。
3、轉型服務:以提供資 料服務給客戶取代原來的銷售商品給客戶,例如;分析客戶的運動數據提供客戶健身、減重等建議與咨詢服務,健身手環直接送給客戶;分析客戶的貴重設備監測及使用信息(如:汽車、大型空調…等),提供客戶必要的維修咨詢,在兼顧妥善率的前提下幫客戶降低成本;以租用與服務的方式向客戶收費,讓客戶不用擔心持有設備的后續使用與維護。
物聯網將啟動新一波的產業革命,這一波的革命將由互聯網延伸開來,對硬件工程師來說當然是更多的挑戰,而對軟件開發人員而言,則是更多的機會,物聯網是基于現有的互聯網的基礎,未來有更多的應用等著我們去開發。