基于Cortex-M3的車(chē)輛通訊監控終端的設計與實(shí)現
3 軟件設計
本文引用地址:http://dyxdggzs.com/article/233870.htm車(chē)載終端軟件包括啟動(dòng)引導程序、操作系統和應用程序三部分。引導程序在設備加電后首先運行,完成關(guān)鍵硬件設備的初始化,建立內存空間映射,并從存儲空間加載操作系統和文件系統到運行內存。然后把CPU的控制權交給操作系統,由操作系統啟動(dòng)應用程序的運行[6] 。應用程序完成車(chē)載終端應用軟件的功能。
本次開(kāi)發(fā)的是典型的嵌入式系統,設計人員需要完成的工作開(kāi)發(fā)的硬件、軟件、算法、測試等多個(gè)環(huán)節,所有環(huán)節有效的配合才能保證整個(gè)項目的順利進(jìn)展,設計中用到的Python腳本語(yǔ)言具有面向對象、跨平臺、高效、可移植性強等特點(diǎn),可快速開(kāi)發(fā)腳本程序,大大簡(jiǎn)化開(kāi)發(fā)與測試工作?;诖?,本次設計用Python的2.7.6版本的開(kāi)發(fā)工具,函數庫包括兩類(lèi):標準庫和大量的第三方庫[7] 。
通訊與定位功能程序屬于應用程序,是本次設計的核心部分,其中包括了通訊協(xié)議的設計。二合一通訊模塊GM862-GPS流程圖設計如圖4所示。
程序設計為:W_main 主程序、W_sms短信處理功能程序、W_subf子功能程序和全局變量定義文件。
import GPIO
import MDM
import SER
import MOD
import GPS
import G
def filer(x): #文件讀,返回字符串
def filew(x,s): #文件寫(xiě),返回字符串
def ini_io(): #Telit I/O初始化
def ini_telit(): #Telit初始化
def send_sms(to, text): #SMS 發(fā)送功能返回 1/0
def door_sms(str): # SMS 處理; 返回字符串
def info_gps(): #立即獲取GPS 信息;返回字符串
def info_gps1(): #1.25 min獲取GPS 信息;返回字符串
def handle_status(sta): #獲取Telit I/O狀態(tài);返回數據
def report_schedule(temps): #定期巡檢
def check_self(): #檢查GSM, GPS, EEPROM,如正常返回NONE
def alarm(temps): #報警處理
def ag_test(): #老化測試
3.1 SMS短信命令格式定義
無(wú)線(xiàn)通信與定位模塊(GM862-GPS)與服務(wù)器的通訊通過(guò)SMS短信完成。通訊協(xié)議設計符合如下要求:
● 所有消息以文本格式
● 所有消息由常見(jiàn)的可打印ASCII字符組成,比如:' 123abcABC() #& '。
● 每條消息不超過(guò)140字符
● 所有信息、命令和消息反饋包含在同一條消息里,格式如表1所示,命令標識符如表2所示
CAAC標示符:車(chē)輛CAN 報警信息工作流程如圖5所示。
報警短信處理程序為:
import GPIO
import MDM
import SER
import MOD
import GPS
import G
from w_subf import *
def smsinf_cat(tempinf): #處理來(lái)自服務(wù)器的sms return NONE
def CB_sms(tempsim,tempinf): #處理CB命令sms; return NONE
def AC_sms(tempsim,tempinf): #處理AC命令sms; return NONE
def handle_sms(tempsm): 處理短信命令; return NONE
def handle_miss():
def service_tool(tempc):
光耦相關(guān)文章:光耦原理
萬(wàn)用表相關(guān)文章:萬(wàn)用表怎么用
數字通信相關(guān)文章:數字通信原理
通信相關(guān)文章:通信原理
波段開(kāi)關(guān)相關(guān)文章:波段開(kāi)關(guān)原理
斷路器相關(guān)文章:斷路器原理
高壓真空斷路器相關(guān)文章:高壓真空斷路器原理 漏電斷路器相關(guān)文章:漏電斷路器原理
評論