移動應(yīng)用作為物聯(lián)網(wǎng)連接用戶和產(chǎn)品的橋梁,,目前常見的類型主要有智能家居,、車聯(lián)網(wǎng)、穿戴設(shè)備、醫(yī)療健康,、環(huán)境監(jiān)測和城市管理這六大類,。今天以車聯(lián)網(wǎng)為例,,來剖析其開發(fā)過程中的相關(guān)項目經(jīng)驗和相關(guān)通信技術(shù)架構(gòu)!
車聯(lián)你我,,開創(chuàng)出行新玩法
1、 項目介紹
最初新能源汽車車主充電的方式只能通過使用充值卡進行充電,,找樁也不是特別方便,,開發(fā)一款能夠解決這一系列問題的APP很有必要。本次分享的充電樁項目解決了用戶找樁難,、充電繁瑣的問題,,通過APP內(nèi)的地圖導(dǎo)航找到附近的充電站,APP內(nèi)可實時查看充電站內(nèi)所有充電樁的使用狀態(tài),、充電信息等,,還可提前預(yù)約指定充電樁。車主通過地圖導(dǎo)航找到對應(yīng)樁的位置,,插槍后在APP內(nèi)遙控開啟充電,,可操作且可視化的應(yīng)用體驗,解決了新能源車主充電找樁的首要難題,。
2,、技術(shù)實現(xiàn)
●確定智能設(shè)備的通訊方式
首先需要確定充電樁設(shè)備支持的通訊方式,APICloud支持多種物聯(lián)方式,,如通過socketManager模塊實現(xiàn)socket通訊,、通過ble模塊實現(xiàn)藍牙通訊,以及第三方的機智云gizWifiSDK模塊和慶科mico等。本項目中,,運營商的充電樁設(shè)備內(nèi)部采用socket方式與充電樁廠家的內(nèi)部server端進行通訊,。
●確定業(yè)務(wù)流程
每一個物聯(lián)設(shè)備都有相應(yīng)的開啟、關(guān)閉及運行中的相關(guān)業(yè)務(wù)流程,,第二步需要確定整個業(yè)務(wù)流程,,本項目充電樁業(yè)務(wù)流程為:預(yù)約-插槍-開始設(shè)備充電-充電中顯示充電信息-結(jié)束設(shè)備充電-生成充電訂單-訂單支付-完成充電。
●確定項目的物聯(lián)架構(gòu)
運營商要求充電樁設(shè)備必須連接至自有服務(wù)器,,將充電樁的相關(guān)控制邏輯無縫集成到整個項目APP的業(yè)務(wù)流程中。充電樁廠商負(fù)責(zé)提供的可與充電樁設(shè)備進行內(nèi)部通訊的server端SDK對外提供封裝好的業(yè)務(wù)接口,,最終安裝至運營商的服務(wù)器,。在項目的服務(wù)端底層抽象封裝好可與SDK對外接口進行通訊的相關(guān)業(yè)務(wù)接口,在與APP通訊的相關(guān)業(yè)務(wù)接口中調(diào)用封裝好的底層接口,,最終實現(xiàn)APP控制充電樁的效果,。
項目的整個物聯(lián)架構(gòu):充電樁設(shè)備<->設(shè)備server <->項目server<->APP client,即智能硬件+數(shù)據(jù)通信平臺+業(yè)務(wù)服務(wù)端+手機客戶端的四方通信技術(shù)架構(gòu),。這種四方通信的架構(gòu)不需要實現(xiàn)智能設(shè)備跟數(shù)據(jù)通信平臺之間的協(xié)議,,以及客戶端跟智能設(shè)備之間的協(xié)議,APICloud平臺提供的SDK已經(jīng)幫助開發(fā)者將協(xié)議封裝過了,。四方通信架構(gòu)可分為Wi-Fi或者GPRS模式與藍牙模式兩種,,以下分別為兩種模式的詳細介紹。
Wi-Fi或者GPRS模式:當(dāng)客戶端去操控智能設(shè)備時,,會通過Http或者Socket協(xié)議發(fā)送指令到業(yè)務(wù)服務(wù)端,,服務(wù)端接收到指令后將該指令下發(fā)到智能設(shè)備端,智能設(shè)備接收到指令并做出反饋,,通過UDP或者TCP協(xié)議將信息上報到業(yè)務(wù)端,,業(yè)務(wù)端接收到反饋的數(shù)據(jù)下發(fā)到客戶端進行展示。
藍牙模式:智能設(shè)備跟客戶端通過藍牙或者Beacon協(xié)議建立連接通道,,智能設(shè)備通過該連接通道將數(shù)據(jù)上報給客戶端,,客戶端通過Http或者Socket將數(shù)據(jù)提交到業(yè)務(wù)服務(wù)端,業(yè)務(wù)服務(wù)端通過分析處理,,將數(shù)據(jù)下發(fā)到客戶端進行展示,,用戶可以通過客戶端的數(shù)據(jù)展示,發(fā)送指令到智能設(shè)備,,對設(shè)備進行操控,。
4、項目總結(jié)
智能設(shè)備物聯(lián)的技術(shù)難點在于如何解決APP與設(shè)備之間的實時通信及APP與不同廠家的樁對接,,本項目服務(wù)端與智能硬件之間的通信,,交由智能硬件廠家封裝的服務(wù)端SDK自行處理。SDK對外提供統(tǒng)一的業(yè)務(wù)接口。項目服務(wù)端采用sever層對接sever層的方式進行通訊,,通過api接口的抽象封裝,,完成APP的sever層對接廠商充電樁的sever層的直接業(yè)務(wù)通訊。采用這種方式,,規(guī)避了不同設(shè)備廠家設(shè)備通訊方式,、通訊協(xié)議不同導(dǎo)致的聯(lián)調(diào)不便的問題。
項目服務(wù)端不再關(guān)心智能硬件的內(nèi)部通訊細節(jié),,專注于業(yè)務(wù)功能,、業(yè)務(wù)邏輯的實現(xiàn)。APP僅需調(diào)用封裝好的固定API接口,,即可調(diào)用智能硬件服務(wù)端與智能硬件進行通訊,,實現(xiàn)服務(wù)端底層控制智能硬件,以及在不進行APP版本更新的情況下,,同一APP客戶端對接多個廠家的充電樁的效果,。
作為將真實世界和數(shù)字世界連接起來的媒介,IoT越來越多被各大公司重視,。APICloud認(rèn)為物聯(lián)網(wǎng)不是一個行業(yè),,而是一種新的企業(yè)架構(gòu)形式,并沒有行業(yè)的限制,,唯一限制的只有人類的想象力,。
*作者注:以上技術(shù)框架基于移動應(yīng)用開發(fā)平臺APICloud實現(xiàn)。