黃 永
(福建星網(wǎng)銳捷通訊股份有限公司 福建 福州 350002)
隨著我國(guó)電動(dòng)自行車(chē)數(shù)量及規(guī)模的激增,隨之而來(lái)的安全問(wèn)題也日漸突顯。在智能手機(jī)與互聯(lián)網(wǎng)應(yīng)用成熟的當(dāng)下,借助微信小程序、二維碼、NB-IoT、大數(shù)據(jù)分析、虛擬化等技術(shù)來(lái)實(shí)現(xiàn)一套智能安全的充電解決方案,在滿(mǎn)足用戶(hù)給電動(dòng)車(chē)充電需求的同時(shí)也起到了對(duì)電動(dòng)車(chē)安全監(jiān)控監(jiān)管的作用,并且通過(guò)微信小程序及大數(shù)據(jù)平臺(tái)使用戶(hù)能夠感知自己電動(dòng)車(chē)電池使用情況及風(fēng)險(xiǎn),從而帶來(lái)更好的體驗(yàn)[1]。
智能充電樁解決方案組網(wǎng)見(jiàn)圖1。
圖1 智能充電樁解決方案組網(wǎng)
整個(gè)智能充電樁解決方案分為:充電樁(包括中繼設(shè)備與插座終端設(shè)備)、微信小程序及微信公眾號(hào)、智能充電樁平臺(tái)等3大組成部分。
充電樁設(shè)備總體包括中繼設(shè)備、插座終端兩個(gè)部分。
充電樁中繼設(shè)備:向上通過(guò)NB-IoT模塊實(shí)現(xiàn)與智能充電樁平臺(tái)的通信,并使用MQTT實(shí)時(shí)通信協(xié)議實(shí)現(xiàn)與平臺(tái)的低負(fù)載高可靠的通信。同時(shí),向下通過(guò)CAN總線(xiàn),實(shí)現(xiàn)最大下掛30個(gè)插座終端、最高傳輸距離500 m的插座終端集成與通信,完成平臺(tái)與插座間通信、管理等承上啟下的中繼作用。
充電樁插座終端設(shè)備:插座終端設(shè)備根據(jù)型號(hào)分為單插座、雙插座等類(lèi)型。插座終端通過(guò)CAN總線(xiàn)與充電樁中繼完成充電控制信令交互等邏輯,實(shí)現(xiàn)插座供電的控制。在此基礎(chǔ)上,采集并向平臺(tái)上報(bào)當(dāng)前充電過(guò)程中的供電曲線(xiàn),為平臺(tái)實(shí)現(xiàn)基于用戶(hù)、電動(dòng)車(chē)電池狀態(tài)等大數(shù)據(jù)分析提供依據(jù)。
微信小程序大致包括:充值、充電、個(gè)人中心等模塊。微信小程序通過(guò)調(diào)用微信API接口實(shí)現(xiàn)支付與掃碼等功能。同時(shí),微信小程序通過(guò)MQTT協(xié)議與智能充電樁平臺(tái)進(jìn)行實(shí)時(shí)通信。
在微信小程序中,用戶(hù)通過(guò)綁定手機(jī)號(hào)實(shí)現(xiàn)注冊(cè)。用戶(hù)通過(guò)小程序掃描充電樁插座上的二維碼讀取對(duì)應(yīng)插座SN序列號(hào),并將序列號(hào)、用戶(hù)等信息通過(guò)MQTT協(xié)議上報(bào)給充電樁平臺(tái),平臺(tái)識(shí)別SN并且判斷用戶(hù)的余額信息后將充電請(qǐng)求下發(fā)給插座終端對(duì)應(yīng)的中繼,中繼通過(guò)CAN總線(xiàn)將充電請(qǐng)求發(fā)給對(duì)應(yīng)的插座,插座終端為對(duì)應(yīng)的插座開(kāi)始供電并將操作結(jié)果原路返回到用戶(hù)的小程序上,完成充電業(yè)務(wù)流程,見(jiàn)圖2。
圖2 微信小程序充電流程
如圖3所示,用戶(hù)還可以在小程序上查看正在進(jìn)行和過(guò)往的充電記錄,包括充電時(shí)長(zhǎng)、消費(fèi)金額等信息。
圖3 微信小程序個(gè)人訂單界面
由于微信小程序不具備實(shí)時(shí)消息推送的功能。因此,用戶(hù)可選擇通過(guò)綁定手機(jī)號(hào)的方式進(jìn)行注冊(cè),將小程序與公眾號(hào)進(jìn)行關(guān)聯(lián)。當(dāng)用戶(hù)發(fā)起充值、充電等操作,以及充電結(jié)束后訂單結(jié)算等結(jié)果,平臺(tái)通過(guò)微信公眾號(hào)推送給客戶(hù),以此完善用戶(hù)操作結(jié)果的感知體驗(yàn)。
3.4.1 平臺(tái)架構(gòu)與技術(shù)
智能充電樁平臺(tái)采用分布式微服務(wù)架構(gòu),運(yùn)用Spring Cloud微服務(wù)架構(gòu)將模塊細(xì)分為微服務(wù)。同時(shí),還引入了ZooKeeper注冊(cè)中心、RocketMQ消息隊(duì)列服務(wù)組件、FastDFS分布式文件系統(tǒng)、Nginx以及MySQL和Rediss兩種數(shù)據(jù)庫(kù)等第三方組件,組成完整的微服務(wù)集群部署解決方案[2]。
智能充電樁整合充電樁業(yè)務(wù)相關(guān)服務(wù),共分為設(shè)備管理與業(yè)務(wù)處理兩大塊。設(shè)備管理由ACS設(shè)備接入服務(wù)、NE設(shè)備管理服務(wù)兩種服務(wù)集群,主要實(shí)現(xiàn)與設(shè)備的通信與控制的邏輯。業(yè)務(wù)處理由ACS小程序接入服務(wù)、BZ業(yè)務(wù)管理服務(wù)、PAY支付平臺(tái)對(duì)接服務(wù)等三種服務(wù)集群,主要實(shí)現(xiàn)企業(yè)、代理商、物業(yè)/項(xiàng)目的層級(jí)關(guān)系、分成設(shè)置、用戶(hù)管理、訂單報(bào)表與結(jié)算等一系列業(yè)務(wù)邏輯,并完成與第三方支付平臺(tái)的對(duì)接。然后,還有一個(gè)Web服務(wù)集群,提供運(yùn)營(yíng)商、代理商、物業(yè)等3種類(lèi)型管理員的登錄與管理。
所有服務(wù)及其集群實(shí)例向ZooKeeper注冊(cè)中心發(fā)布自己的API,并訂閱自己模塊所需要的相關(guān)接口,ZooKeeper定期更新并發(fā)布相關(guān)API接口列表給訂閱者,以此實(shí)現(xiàn)服務(wù)間透明化RPC調(diào)用。另外,服務(wù)集群間異步通信使用RocketMQ發(fā)布與訂閱Topic來(lái)完成,以此實(shí)現(xiàn)一些非實(shí)時(shí)處理的功能。整個(gè)平臺(tái)的文件管理采用分布式FastDFS進(jìn)行存儲(chǔ),這樣可以充分利用所有服務(wù)器的存儲(chǔ)空間并可無(wú)縫擴(kuò)容并保證可靠性。平臺(tái)的數(shù)據(jù)庫(kù)采用MySQL,并且Redis作為緩存數(shù)據(jù)庫(kù)共享服務(wù)間的數(shù)據(jù)[3]。
整個(gè)平臺(tái)的組件,包括數(shù)據(jù)庫(kù)、消息隊(duì)列等均采用主備形式進(jìn)行部署,確保平臺(tái)高可用性。而平臺(tái)自身服務(wù)在相關(guān)組件故障時(shí)也會(huì)自動(dòng)進(jìn)行主備切換,保證業(yè)務(wù)不受影響。
由于采用的是微服務(wù)框架,并且使用了服務(wù)無(wú)狀態(tài)化方式實(shí)現(xiàn),因此每個(gè)服務(wù)均可以根據(jù)業(yè)務(wù)需要進(jìn)行動(dòng)態(tài)擴(kuò)容或調(diào)整而不影響原有業(yè)務(wù),即不停機(jī)更新。另外,平臺(tái)采用docker虛擬化技術(shù)實(shí)現(xiàn)鏡像與容器,配以自主研發(fā)的運(yùn)維管理系統(tǒng),可對(duì)平臺(tái)進(jìn)行實(shí)時(shí)監(jiān)控和動(dòng)態(tài)部署和調(diào)整,極大地提高平臺(tái)運(yùn)行穩(wěn)定性和擴(kuò)容調(diào)整的便捷性。
3.4.2 平臺(tái)功能
智能充電樁平臺(tái)分為系統(tǒng)管理、平臺(tái)監(jiān)控、設(shè)備管理與業(yè)務(wù)管理4大部分。
系統(tǒng)管理,包括用戶(hù)與用戶(hù)組管理、平臺(tái)參數(shù)配置等功能。管理員可以在系統(tǒng)管理中設(shè)置用戶(hù)組及其權(quán)限,將職能權(quán)限在此進(jìn)行體現(xiàn),然后為相對(duì)應(yīng)的人員創(chuàng)建管理用戶(hù),并將其設(shè)置到指定的用戶(hù)組中讓其擁有對(duì)應(yīng)的管理權(quán)限。平臺(tái)參數(shù)配置,主要針對(duì)智能充電樁平臺(tái)的運(yùn)行參數(shù)進(jìn)行調(diào)整與配置。
平臺(tái)監(jiān)控,主要針對(duì)平臺(tái)自身的運(yùn)行情況進(jìn)行監(jiān)控與管理。包括性能監(jiān)控與告警,平臺(tái)對(duì)自身CPU、內(nèi)存、磁盤(pán)、流量的空閑值進(jìn)行采集,來(lái)判斷其是否超過(guò)閾值而產(chǎn)生運(yùn)行告警,提醒運(yùn)維人員平臺(tái)可能的異常;操作日志記錄,平臺(tái)記錄所有用戶(hù)在平臺(tái)的操作日志便于安全審計(jì)與操作追蹤;運(yùn)行日志管理,平臺(tái)自身對(duì)運(yùn)行日志文件進(jìn)行定期回滾以及提供下載功能,便于有問(wèn)題時(shí)查看運(yùn)行情況和跟蹤。
設(shè)備管理是對(duì)在網(wǎng)充電樁設(shè)備的統(tǒng)一管理與維護(hù),包括中繼設(shè)備、插座終端、插座的管理與狀態(tài)顯示。平臺(tái)通過(guò)層級(jí)抽屜的方式呈現(xiàn)中繼設(shè)備與插座終端、插座終端與插座的關(guān)系,并顯示各自的當(dāng)前狀態(tài)。平臺(tái)還負(fù)責(zé)采集并呈現(xiàn)設(shè)備(中繼與插座終端)上報(bào)的異常告警,以便運(yùn)維人員能夠直觀(guān)地查看到異常狀態(tài)及其故障原因。平臺(tái)能夠?qū)υO(shè)備發(fā)起升級(jí)、重啟、獲取運(yùn)行日志、網(wǎng)絡(luò)檢測(cè)、硬件自檢、參數(shù)配置等操作,便于運(yùn)維人員遠(yuǎn)程管理和調(diào)試設(shè)備。另外,平臺(tái)還可以訂閱指定插座終端的充電功率,當(dāng)開(kāi)啟此功能時(shí),設(shè)備定時(shí)采集當(dāng)前充電的功率并上報(bào)給平臺(tái)。平臺(tái)收集這些功率數(shù)據(jù)與訂單用戶(hù)進(jìn)行關(guān)聯(lián),以此呈現(xiàn)具體某一用戶(hù)電動(dòng)車(chē)電池的充電功率曲線(xiàn),便于分析該用戶(hù)電池的老化情況和電池充電特性,在此大數(shù)據(jù)分析的基礎(chǔ)上能夠?qū)㈦姵厍闆r準(zhǔn)確地反饋給客戶(hù)[4]。
業(yè)務(wù)管理,包括訂單管理、報(bào)表管理等模塊。訂單管理呈現(xiàn)所有用戶(hù)產(chǎn)生的訂單數(shù)據(jù),并根據(jù)時(shí)間、用戶(hù)、設(shè)備SN等各種維度來(lái)進(jìn)行過(guò)濾查找,便于平臺(tái)運(yùn)營(yíng)商的賬務(wù)管理。報(bào)表管理分為設(shè)備故障情況、訂單情況、用戶(hù)情況,以各種維度來(lái)呈現(xiàn)平臺(tái)運(yùn)營(yíng)情況,便于平臺(tái)運(yùn)營(yíng)商的決策分析。例如,用戶(hù)情況可以呈現(xiàn)各地項(xiàng)目用戶(hù)活躍度的熱力圖來(lái)分析項(xiàng)目運(yùn)營(yíng)情況、可以呈現(xiàn)設(shè)備新裝設(shè)備趨勢(shì)圖來(lái)反映各地業(yè)務(wù)發(fā)展趨勢(shì)。
本文借助于目前大眾普遍使用的微信小程序、NBIoT、大數(shù)據(jù)、微服務(wù)、虛擬化等技術(shù),提出了從移動(dòng)應(yīng)用端到充電樁設(shè)備的智能電動(dòng)自行車(chē)充電樁解決方案。用戶(hù)可以通過(guò)掃碼、刷卡等方式進(jìn)行充電消費(fèi)的同時(shí),平臺(tái)根據(jù)充電過(guò)程的充電曲線(xiàn)進(jìn)行大數(shù)據(jù)分析用戶(hù)及其電動(dòng)車(chē)電池的狀態(tài),在一定策略下保證充電的安全,解決了日趨突顯的電動(dòng)自行車(chē)充電不規(guī)范所帶來(lái)的安全問(wèn)題。