摘要
針對電動自行車實時監(jiān)管不便的問題,設(shè)計了一種基于STM32的電動自行車信息采集系統(tǒng),通過獲取電池、位置和行駛狀態(tài)信息并上報到服務(wù)器中,實現(xiàn)實時監(jiān)管。
通過多路串口請求電池、行駛狀態(tài)和位置信息,以并發(fā)方式進行數(shù)據(jù)接收、解析、模塊控制和數(shù)據(jù)上報等操作;
為方便系統(tǒng)軟件升級,將系統(tǒng)存儲器分為Bootloader區(qū)、APP區(qū)、Download區(qū)和數(shù)據(jù)區(qū),并設(shè)計了Bootloader,使系統(tǒng)具有在線升級功能。
引言
目前,電動自行車在我國市場上有很大的保有量,給人們的生產(chǎn)生活帶來了便利,但也存在違規(guī)停放、超速、被盜等問題,因此如何實時監(jiān)督電動自行車是當下亟待解決的問題。
監(jiān)管電動自行車需要實時獲取它們的位置、行駛狀態(tài)、電池狀態(tài)等信息由電池管理系統(tǒng)輸出。
根據(jù)STM32單片機高性能、低功耗的特點,結(jié)合開源嵌入式操作系統(tǒng)RT-Thread上下文切換速度快、體積小、實時性好的優(yōu)勢,利用STM32搭載RT-Thread操作系統(tǒng),以并發(fā)的方式采集和緩存位置、行駛狀態(tài)、電池狀態(tài)等相關(guān)數(shù)據(jù)后上報到服務(wù)器中并監(jiān)測,實現(xiàn)了電動自行車的實時監(jiān)管。
總體設(shè)計
系統(tǒng)可以分為主控模塊、藍牙廣播模塊、GPS模塊、4G模塊、內(nèi)部電壓監(jiān)測模塊。
主控模塊包括單片機、外部FLASH和RS485接口電路,負責解析接收的數(shù)據(jù),緩存后發(fā)送至上傳模塊,同時控制系統(tǒng)通過串口進行本地升級或通過4G網(wǎng)絡(luò)進行在線升級。
行駛里程和登錄服務(wù)器的賬號密碼是系統(tǒng)掉電后不能消失的數(shù)據(jù),需要保存到外部Flash中。
單片機通過RS485串口發(fā)送請求幀,向控制器和電池管理系統(tǒng)請求數(shù)據(jù),在接收到控制器和電池管理系統(tǒng)發(fā)送的數(shù)據(jù)幀后進行解碼,獲取行駛狀態(tài)和電池狀態(tài)等。
GPS模塊使用GPS獲取系統(tǒng)當前位置信息,通過串口發(fā)送至主控模塊,主控模塊將數(shù)據(jù)解碼后獲取電動自行車的位置信息。
由于系統(tǒng)每次上傳的數(shù)據(jù)量少,場景變化大且要盡量節(jié)省流量,因此使用MQTT協(xié)議進行數(shù)據(jù)傳輸。
4G模塊在4G網(wǎng)絡(luò)下通過MQTT協(xié)議將主控模塊發(fā)送的數(shù)據(jù)上傳到服務(wù)器中,考慮功耗因素,每30s上報一次。
加入內(nèi)部電池使系統(tǒng)在電動車停車或故障后依然可以工作。
ACC有效時,外部電池給系統(tǒng)供電,同時主控模塊開啟充電模塊,內(nèi)部電池充電;ACC無效時關(guān)閉充電模塊。
電壓監(jiān)測模塊負責監(jiān)測內(nèi)部電池電壓,由單片機通過IIC接口控制,在內(nèi)部電池電量低于20%時,關(guān)閉內(nèi)部電池供電,防止內(nèi)部電池過度放電。
分區(qū)設(shè)計
首先對存儲程序和數(shù)據(jù)的Flash進行分區(qū)
Bootloader程序設(shè)計
Bootloader是一段被固化在內(nèi)部Flash的APP區(qū),是系統(tǒng)上電復(fù)位后最先執(zhí)行的程序。
上電復(fù)位后,首先檢查更新標志位,如果有更新標志,將程序從外部Flash的Download區(qū)復(fù)制到內(nèi)部Flash的APP區(qū),再關(guān)閉所有中斷,防止由于靜電干擾觸發(fā)中斷信號導(dǎo)致跳轉(zhuǎn)失敗,然后跳轉(zhuǎn)到APP區(qū)的起始地址。
盲區(qū)緩存程序設(shè)計
如果設(shè)備進入網(wǎng)絡(luò)盲區(qū),采集到的數(shù)據(jù)便無法發(fā)出,影響電動自行車的監(jiān)測,所以需要保存盲區(qū)中的數(shù)據(jù)并在離開網(wǎng)絡(luò)盲區(qū)后依次發(fā)送。文章來源:http://www.zghlxwxcb.cn/news/detail-634736.html
考慮到電動自行車大多在有網(wǎng)絡(luò)覆蓋的區(qū)域行駛,進入盲區(qū)的時間很少,所以在盲區(qū)中保存200幀每種類型的數(shù)據(jù),即保存100分鐘的數(shù)據(jù)。當數(shù)據(jù)多于200幀后,從第1幀開始依次覆蓋。設(shè)備離開盲區(qū)后依次發(fā)出緩存的數(shù)據(jù),如果在發(fā)送過程中采集到了新的數(shù)據(jù),則先將新數(shù)據(jù)保存,等盲區(qū)中的數(shù)據(jù)發(fā)送完成后再發(fā)送新數(shù)據(jù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-634736.html
到了這里,關(guān)于STM32的電動自行車信息采集上報系統(tǒng)(學(xué)習(xí))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!