李元熙
(1. 江蘇省無(wú)線(xiàn)傳感系統(tǒng)應(yīng)用工程技術(shù)研究開(kāi)發(fā)中心, 江蘇 無(wú)錫 214000;2. 無(wú)錫商業(yè)職業(yè)技術(shù)學(xué)院 物聯(lián)網(wǎng)技術(shù)學(xué)院, 江蘇 無(wú)錫 214153)
江蘇地區(qū)電瓶車(chē)的保有量較高,其充電設(shè)備維修及人員培訓(xùn)備受業(yè)內(nèi)關(guān)注[1]。隨著職業(yè)教育與各產(chǎn)業(yè)的融合發(fā)展,產(chǎn)教融合實(shí)訓(xùn)平臺(tái)建設(shè)需求旺盛,尤其是在高校教學(xué)中如何將實(shí)驗(yàn)平臺(tái)與行業(yè)應(yīng)用結(jié)合起來(lái),成為亟待解決的問(wèn)題。針對(duì)此情況設(shè)計(jì)了一種基于云平臺(tái)的網(wǎng)絡(luò)充電控制系統(tǒng),該系統(tǒng)滿(mǎn)足“互聯(lián)網(wǎng)+”充電需求,適用于電瓶車(chē)充電樁行業(yè)的技術(shù)升級(jí)和培訓(xùn),也為中高職院校的物聯(lián)網(wǎng)、電子信息、軟件技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)等專(zhuān)業(yè)提供相關(guān)教學(xué)實(shí)驗(yàn)平臺(tái)。
“云充電”實(shí)驗(yàn)系統(tǒng)使用了網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)、嵌入式電氣控制、傳感器檢測(cè)等相關(guān)技術(shù)。系統(tǒng)結(jié)構(gòu)可分為網(wǎng)絡(luò)充電控制器、路由及通信網(wǎng)、應(yīng)用云服務(wù)器三部分,如圖1 所示。其中:網(wǎng)絡(luò)充電控制器是硬件核心,具備電流檢測(cè)功能,通過(guò)Internet連接到云服務(wù)器,當(dāng)出現(xiàn)過(guò)充、盜拔、短路等異常情況時(shí),能夠?qū)崿F(xiàn)本地提醒并向云平臺(tái)發(fā)送異常數(shù)據(jù)包;網(wǎng)絡(luò)部分為有線(xiàn)連接,使用TCP 協(xié)議棧接入Internet;應(yīng)用云服務(wù)器是構(gòu)建在阿里云上的應(yīng)用程序,包含數(shù)據(jù)庫(kù)與控制臺(tái),可實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)與查詢(xún),是系統(tǒng)運(yùn)行的控制主體。運(yùn)行時(shí),用戶(hù)通過(guò)RFID 或移動(dòng)端APP 申請(qǐng)啟動(dòng)充電控制器[2],數(shù)據(jù)傳入云平臺(tái)服務(wù)器后,通過(guò)業(yè)務(wù)控制邏輯將運(yùn)行指令反饋給硬件并執(zhí)行動(dòng)作,同時(shí)在平臺(tái)上完成數(shù)據(jù)更新維護(hù)。
圖1 “云充電”實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)
系統(tǒng)硬件是以Cortex-M4 為核心的嵌入式控制器設(shè)備,主要由ARM 控制器、網(wǎng)絡(luò)接口、RFID電路、電流檢測(cè)與濾波電路、充電控制電路和電源電路等模塊組成,見(jiàn)圖2。其中:ARM 控制器實(shí)現(xiàn)與其他模塊的接口驅(qū)動(dòng)[3]、數(shù)據(jù)解析和流程控制;網(wǎng)絡(luò)接口是設(shè)備連接因特網(wǎng)的通道,使用嵌入式協(xié)議棧實(shí)現(xiàn)網(wǎng)絡(luò)接入;RFID 電路由標(biāo)準(zhǔn)Mifare 系列的讀卡IC 構(gòu)成,通過(guò)SPI 接口與ARM 相連;電流檢測(cè)使用霍爾傳感器實(shí)現(xiàn),經(jīng)放大、低通濾波電路后送入AD 采樣通道;充電控制電路是具有電氣隔離的繼電器控制驅(qū)動(dòng)電路。
圖2 硬件總體結(jié)構(gòu)
標(biāo)準(zhǔn)的以太網(wǎng)硬件接口包含MAC 控制器、PHY 驅(qū)動(dòng)器、網(wǎng)絡(luò)變壓器和RJ45 接頭等[4]。由于STM32F407 芯片在內(nèi)部集成了以太網(wǎng)控制器,因而在電路上只需外接一塊PHY 驅(qū)動(dòng)芯片DP83848 即可實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)收發(fā)。考慮硬件系統(tǒng)小型化要求,連接時(shí)采用了RMII 方式以減少信號(hào)線(xiàn)數(shù)量。電路中DP83848 的收發(fā)線(xiàn)路采用差分信號(hào)線(xiàn)走線(xiàn),時(shí)鐘信號(hào)由外部25 MHz 有源晶振提供,并在電源端串聯(lián)磁珠、對(duì)地并聯(lián)高頻電容以改善信號(hào)特性。
充電電流檢測(cè)是系統(tǒng)獲取充電狀態(tài)和觸發(fā)異常處理的基礎(chǔ)。在電瓶充電過(guò)程中恒流充電階段電流較大,進(jìn)入恒壓充電后電流逐漸下降直至涓流充電,且在涓流期電流多采用微小脈沖方式充電[5],不易捕捉。因此,對(duì)這種電流動(dòng)態(tài)范圍大的場(chǎng)合使用霍爾傳感的方法更為合適。ACS712 傳感器內(nèi)置放大、濾波、斬波與修正電路,可輸出正比于電流的電壓信號(hào)[6]??紤]充電時(shí)電流易受污染,存在大量諧波分量影響采樣精度的情況,故在霍爾輸出端使用運(yùn)放構(gòu)建放大和二階有源低通濾波電路,提高輸入ADC 的電壓準(zhǔn)確度。
系統(tǒng)軟件分為控制器嵌入式軟件和云平臺(tái)服務(wù)器軟件兩部分??刂破髑度胧杰浖饕獙?shí)現(xiàn)硬件驅(qū)動(dòng)、IC 讀卡、電流采樣和計(jì)算等底層操作,以及TCP 數(shù)據(jù)收發(fā)等網(wǎng)絡(luò)層操作。云平臺(tái)的服務(wù)器程序?yàn)閼?yīng)用層軟件,由控制臺(tái)和數(shù)據(jù)庫(kù)組成,主要實(shí)現(xiàn)基于Socket 的數(shù)據(jù)通信、數(shù)據(jù)格式解析以及與數(shù)據(jù)庫(kù)操作等,其架構(gòu)如圖3 所示。
圖3 系統(tǒng)軟件架構(gòu)
基于TCP 的數(shù)據(jù)傳輸是網(wǎng)絡(luò)功能的核心,為應(yīng)用層提供了一種面向連接的、可靠的字節(jié)流服務(wù)[7]。圖3 中的網(wǎng)絡(luò)傳輸層程序分為嵌入式TCP傳輸和云平臺(tái)的Socket 通信兩大部分。設(shè)備的網(wǎng)絡(luò)傳輸由LwIP 協(xié)議棧完成,這是一套用于嵌入式系統(tǒng)的開(kāi)源TCP/IP 協(xié)議棧,能較好地解決網(wǎng)絡(luò)協(xié)議棧在使用效率和分層之間的問(wèn)題[8]。設(shè)計(jì)時(shí)在ARM 上運(yùn)行UCOS-II,并開(kāi)啟定時(shí)、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收等任務(wù)。定時(shí)任務(wù)實(shí)現(xiàn)網(wǎng)絡(luò)心跳和采樣定時(shí);數(shù)據(jù)發(fā)送任務(wù)使用LwIP 中的TCP 和IP 層函數(shù)將數(shù)據(jù)送網(wǎng)絡(luò)接口層發(fā)送;數(shù)據(jù)接收任務(wù)采用中斷方式啟動(dòng),并在回調(diào)函數(shù)中進(jìn)行數(shù)據(jù)解析,將有效字段存入Flash 存儲(chǔ)器。TCP 控制程序流程如圖4。
圖4 嵌入式TCP 控制程序流程
控制臺(tái)軟件使用Socket 與設(shè)備連接,當(dāng)偵聽(tīng)到有連接請(qǐng)求時(shí),控制臺(tái)創(chuàng)建一個(gè)Socket 并開(kāi)辟循環(huán)緩沖區(qū)用于保存接收的數(shù)據(jù)。當(dāng)數(shù)據(jù)接收完成后開(kāi)始解析步驟,獲取數(shù)據(jù)幀中的運(yùn)行參數(shù)或指令,并寫(xiě)入后臺(tái)數(shù)據(jù)庫(kù)或按指令進(jìn)行比對(duì)查詢(xún),操作流程見(jiàn)圖5。
實(shí)際使用時(shí),由于服務(wù)器構(gòu)建在云平臺(tái)上,存在大量來(lái)自不同地域設(shè)備的并發(fā)連接請(qǐng)求。因此,每個(gè)連接都需要一個(gè)新的線(xiàn)程來(lái)處理。服務(wù)器控制臺(tái)通過(guò)維護(hù)一張?jiān)O(shè)備哈希表來(lái)區(qū)分當(dāng)前連接綁定至相應(yīng)的控制器設(shè)備。
系統(tǒng)在云平臺(tái)上使用MYSQL 構(gòu)建關(guān)系型數(shù)據(jù)庫(kù)。由于涉及充電設(shè)備和用戶(hù)兩種對(duì)象,因此在設(shè)計(jì)時(shí)創(chuàng)建了“設(shè)備云”和“用戶(hù)云”兩個(gè)不同的數(shù)據(jù)表單。考慮使用網(wǎng)絡(luò)服務(wù)商提供的動(dòng)態(tài)IP 分配,系統(tǒng)在數(shù)據(jù)庫(kù)中設(shè)計(jì)一張“中間表”來(lái)保存兩者間IP 的對(duì)應(yīng)關(guān)系,利用心跳包實(shí)時(shí)更新中間表的IP 對(duì)應(yīng)關(guān)系,一次通過(guò)這三張表就可完成設(shè)備和用戶(hù)的對(duì)應(yīng)查找。
圖5 服務(wù)器端TCP 控制程序流程
為實(shí)現(xiàn)產(chǎn)教融合,更好地將系統(tǒng)應(yīng)用于教學(xué)和技術(shù)培訓(xùn),面向物聯(lián)網(wǎng)、電子信息、計(jì)算機(jī)網(wǎng)絡(luò)、軟件技術(shù)等專(zhuān)業(yè)設(shè)計(jì)了實(shí)驗(yàn)課程體系。將平臺(tái)分解成硬件設(shè)計(jì)、網(wǎng)絡(luò)傳輸、云平臺(tái)搭建、數(shù)據(jù)庫(kù)運(yùn)維等部分,融入對(duì)應(yīng)的專(zhuān)業(yè)實(shí)踐課程,同時(shí)結(jié)合考證需求,將平臺(tái)納入考證實(shí)操要求,其課程體系設(shè)計(jì)如圖6。
圖6 中“云充電”系統(tǒng)的硬件設(shè)備層面向物聯(lián)網(wǎng)應(yīng)用技術(shù)、電子信息技術(shù)、電氣自動(dòng)化等專(zhuān)業(yè)開(kāi)設(shè),主要為硬件電路設(shè)計(jì)和嵌入式程序設(shè)計(jì),銜接電工、儀器儀表裝配工和CAD 繪圖員等考證科目;網(wǎng)絡(luò)層部分面向物聯(lián)網(wǎng)和計(jì)算機(jī)網(wǎng)絡(luò)專(zhuān)業(yè)開(kāi)設(shè),主要關(guān)注學(xué)員的網(wǎng)絡(luò)配置和排故能力培養(yǎng),銜接計(jì)算機(jī)網(wǎng)絡(luò)管理員工種的培訓(xùn);系統(tǒng)應(yīng)用層平臺(tái)面向軟件技術(shù)、網(wǎng)絡(luò)技術(shù)、云計(jì)算等專(zhuān)業(yè)開(kāi)設(shè),主要是WEB 前端技術(shù)和后臺(tái)數(shù)據(jù)庫(kù)運(yùn)維的訓(xùn)練,銜接計(jì)算機(jī)程序設(shè)計(jì)員工種。
為滿(mǎn)足行業(yè)從業(yè)人員和學(xué)生技能培訓(xùn)需求,針對(duì)系統(tǒng)結(jié)構(gòu),設(shè)計(jì)分層訓(xùn)練技能點(diǎn)見(jiàn)表1,以指導(dǎo)教學(xué)和培訓(xùn)的開(kāi)展。其中:硬件部分主要面向一線(xiàn)安裝調(diào)試人員,設(shè)置了讀圖、安裝規(guī)范、設(shè)備檢修等技能點(diǎn);網(wǎng)絡(luò)部分設(shè)置了網(wǎng)絡(luò)配置、連接測(cè)試、網(wǎng)絡(luò)故障修復(fù)等技能點(diǎn);應(yīng)用層則包括平臺(tái)系統(tǒng)配置、設(shè)備接入工序、數(shù)據(jù)維護(hù)等技能點(diǎn)。
圖6 實(shí)驗(yàn)課程體系設(shè)計(jì)
表1 “云充電”系統(tǒng)教學(xué)培訓(xùn)技能點(diǎn)分解表
測(cè)試時(shí),控制器硬件通過(guò)路由器以有線(xiàn)方式接入布置在“阿里云”平臺(tái)上的服務(wù)系統(tǒng),采用DHCP 方式獲取本地IP。充電控制器通過(guò)“心跳包”每隔30 秒向服務(wù)器注冊(cè)設(shè)備,控制臺(tái)接收設(shè)備和用戶(hù)的接入請(qǐng)求,記錄接收的數(shù)據(jù)并轉(zhuǎn)發(fā)控制指令。平臺(tái)管理站點(diǎn)使用PHP+MySQL 方式布置。通過(guò)50 臺(tái)設(shè)備隨機(jī)接入實(shí)驗(yàn),結(jié)果表明,云平臺(tái)充電控制系統(tǒng)能有效實(shí)現(xiàn)充電樁的動(dòng)態(tài)接入并實(shí)現(xiàn)統(tǒng)一管控,通過(guò)數(shù)據(jù)庫(kù)可將設(shè)備、用戶(hù)以及充電狀態(tài)顯示在管理頁(yè)面,實(shí)現(xiàn)了網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)與數(shù)據(jù)庫(kù)技術(shù)的結(jié)合。
“云充電”教學(xué)實(shí)驗(yàn)系統(tǒng)為傳感器技術(shù)、智能硬件設(shè)計(jì)、電氣控制、計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)維、web 前后端技術(shù)、數(shù)據(jù)庫(kù)技術(shù)等課程提供了實(shí)驗(yàn)平臺(tái)支撐,并嵌入物聯(lián)網(wǎng)應(yīng)用技術(shù)專(zhuān)業(yè)群的實(shí)驗(yàn)培訓(xùn)體系。從2018—2019 年的實(shí)際使用情況看,系統(tǒng)各功能層在電子類(lèi)、網(wǎng)絡(luò)類(lèi)和軟件類(lèi)專(zhuān)業(yè)實(shí)訓(xùn)中實(shí)現(xiàn)了全覆蓋。系統(tǒng)設(shè)備層的知識(shí)與技能點(diǎn)在電子儀器儀表裝配工考證教學(xué)中占60 %以上,在電子CAD 考證中占80 %;系統(tǒng)的網(wǎng)絡(luò)層和應(yīng)用層知識(shí)與技能點(diǎn)也在對(duì)應(yīng)的計(jì)算機(jī)網(wǎng)絡(luò)管理員、程序設(shè)計(jì)員考證中具有50 %左右的試題量;系統(tǒng)在相關(guān)課程中的平均使用率超過(guò)七成,且借助該教學(xué)實(shí)驗(yàn)系統(tǒng),學(xué)生的技能考證平均通過(guò)率均在92 %以上,較好地為課證融通的實(shí)施提供了保障。
同時(shí),針對(duì)無(wú)錫及周邊城市的電瓶車(chē)充電從業(yè)人員開(kāi)展相關(guān)技術(shù)培訓(xùn),系統(tǒng)自2019 年上線(xiàn)運(yùn)行至今,累計(jì)教學(xué)培訓(xùn)超5000 人次,系統(tǒng)已接入4 市15 個(gè)轄區(qū)80 多個(gè)社區(qū),服務(wù)使用人數(shù)超過(guò) 5 萬(wàn)。
針對(duì)產(chǎn)教融合需求,結(jié)合行業(yè)應(yīng)用提出的“云充電”教學(xué)實(shí)驗(yàn)系統(tǒng)涵蓋了物聯(lián)網(wǎng)各層技術(shù),實(shí)現(xiàn)了電瓶車(chē)充電樁的動(dòng)態(tài)接入和在線(xiàn)監(jiān)管,擴(kuò)展了物聯(lián)網(wǎng)技術(shù)在居民生活中的應(yīng)用,同時(shí)也為高職院校相關(guān)課程的教學(xué)提供了實(shí)驗(yàn)平臺(tái)和項(xiàng)目化案例,有效實(shí)現(xiàn)了產(chǎn)學(xué)研聯(lián)動(dòng),具有較好的推廣價(jià)值。