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