基于Cortex-M3的車輛通訊監控終端的設計與實現
3 軟件設計
本文引用地址:http://www.j9360.com/article/233870.htm車載終端軟件包括啟動引導程序、操作系統和應用程序三部分。引導程序在設備加電后首先運行,完成關鍵硬件設備的初始化,建立內存空間映射,并從存儲空間加載操作系統和文件系統到運行內存。然后把CPU的控制權交給操作系統,由操作系統啟動應用程序的運行[6] 。應用程序完成車載終端應用軟件的功能。
本次開發的是典型的嵌入式系統,設計人員需要完成的工作開發的硬件、軟件、算法、測試等多個環節,所有環節有效的配合才能保證整個項目的順利進展,設計中用到的Python腳本語言具有面向對象、跨平臺、高效、可移植性強等特點,可快速開發腳本程序,大大簡化開發與測試工作?;诖?,本次設計用Python的2.7.6版本的開發工具,函數庫包括兩類:標準庫和大量的第三方庫[7] 。
通訊與定位功能程序屬于應用程序,是本次設計的核心部分,其中包括了通訊協議的設計。二合一通訊模塊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): #文件寫,返回字符串
def ini_io(): #Telit I/O初始化
def ini_telit(): #Telit初始化
def send_sms(to, text): #SMS 發送功能返回 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狀態;返回數據
def report_schedule(temps): #定期巡檢
def check_self(): #檢查GSM, GPS, EEPROM,如正常返回NONE
def alarm(temps): #報警處理
def ag_test(): #老化測試
3.1 SMS短信命令格式定義
無線通信與定位模塊(GM862-GPS)與服務器的通訊通過SMS短信完成。通訊協議設計符合如下要求:
● 所有消息以文本格式
● 所有消息由常見的可打印ASCII字符組成,比如:' 123abcABC() #& '。
● 每條消息不超過140字符
● 所有信息、命令和消息反饋包含在同一條消息里,格式如表1所示,命令標識符如表2所示
CAAC標示符:車輛CAN 報警信息工作流程如圖5所示。
報警短信處理程序為:
import GPIO
import MDM
import SER
import MOD
import GPS
import G
from w_subf import *
def smsinf_cat(tempinf): #處理來自服務器的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):
光耦相關文章:光耦原理
萬用表相關文章:萬用表怎么用
數字通信相關文章:數字通信原理
通信相關文章:通信原理
波段開關相關文章:波段開關原理
斷路器相關文章:斷路器原理
高壓真空斷路器相關文章:高壓真空斷路器原理 漏電斷路器相關文章:漏電斷路器原理
評論