999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于物聯網的嵌入式酒駕自動檢測系統設計

2014-09-24 16:27:17蘆芝萍
物聯網技術 2014年7期
關鍵詞:單片機檢測系統

摘 要:針對目前因酒駕造成的交通事故頻發問題,提出了一種基于物聯網的車載酒駕自動檢測系統。系統利用物聯網技術,以STC12C5A16AD單片機為核心,通過4路MQ-3傳感器來檢測是否酒駕。當系統檢測到酒精濃度超標時,系統發出聲光報警并禁止汽車發動,同時通過GPRS模塊進行車輛定位,并將信息發送給家人和當地交通部門。實驗結果表明,系統能有效預防酒后駕車,具有很好的實用價值。

關鍵詞:物聯網;酒駕;MQ-3;GPRS;MC55i

中圖分類號:TP216 文獻標識碼:A 文章編號:2095-1302(2014)07-0008-04

0引言

近年來,隨著我國經濟的快速發展,人民生活水平的不斷提高,全國機動車輛數量和駕駛員人數迅猛增長。汽車在給人們帶來生活便利、經濟利益和生活品質的同時,也帶來了交通事故。近年來道路交通事故頻發,造成了嚴重的經濟損失和人員傷亡。酒駕、超速和疲勞是交通事故高發的三個主要原因,這其中酒后駕車所引發的交通事故已占到總數相當大的比例。無視交通管理法規酒后及醉酒駕車造成嚴重后果的違法犯罪事件越來越多[1]。目前我國酒駕檢測主要是由交通警察在路口設置警點,使用呼氣式檢測儀器對過往可疑車輛進行攔車檢查[2]。但要進行路檢只能針對部分車輛抽樣檢測,以確定駕駛員是否酒駕,且無法實時監控駕駛員酒后駕車情況[3]。而且進行路檢需要大量的人力和物力,另外一些酒后駕車者拒不配合檢測,也給我們交警的執法帶來困難。

為了更好地遏制酒駕,減少交通事故的發生。本文提出了一種基于物聯網的車載酒駕自動識別系統。系統利用目前流行的物聯網技術,以STC12C5A16AD單片機為核心,通過MQ-3傳感器來檢測是否酒駕。把傳感器嵌入駕駛室內,通過對駕駛座位的前方、上方和左右4個檢測點的酒精濃度檢測,判斷是否酒駕[4,5]。當檢測到酒駕后,系統發出聲光報警并禁止汽車發動,同時通過GPRS模塊將酒駕車輛信息實時地發送給家人和當地交通部門[6]。這樣可以有效的預防酒駕,便于交通部門集中監控,不再需要交警進行大規模的進行蹲點攔車檢測,節省的人力和物力[7]。

系統借助物聯網技術,把每輛汽車作為一個節點,從眾多的節點傳感器采集數據,然后通過無線傳輸技術把信息發送給家人和當地交通部門總節點。系統整體結構如圖1所示,每輛汽車的通信對象有兩個:一個是家人,另一個是交通部門服務器。每輛汽車安裝一個車載酒駕自動檢測系統,每個檢測系統主要由以下模塊組成:STC12C5A16AD單片機控制系統、呼氣式酒精傳感器MQ-3、LCD顯示模塊、聲光報警模塊、繼電器控制模塊和GPRS模塊。酒駕自動檢測系統的整體架構如圖2所示。

1系統整體架構與工作原理

1.1系統整體架構設計

圖1系統整體架構圖

圖2酒駕自動檢測系統結構圖

1.2工作原理

當駕駛員駕駛員扭動車輛鑰匙,檢測系統上電啟動,進行硬件初始化。酒駕自動檢測系統開始工作。4 路MQ-3傳感器把檢測到的模擬信號通過A/D轉換為數字信號,通過對此數字信號與預先設置的數值進行比較來判斷是否酒駕,并通過LCD液晶顯示屏顯示閥值與檢測值。STC 單片機對氣體中的酒精濃度信息進行分析,若濃度未超標,車輛正常行駛。一旦某一路傳感器檢測到的酒精濃度超出安全范圍,系統的LED 警示燈閃爍,同時把相關信息發送給預先設定好的家人的手機上,同時通過GPRS模塊發送信息給當地交通部門,并通過蜂鳴器發出警報聲。

2系統設計

2.1單片機系統設計

本系統的主控模塊采用的是宏晶科技生產的STC12C2052AD單片機,STC12C2052AD是一種高速、低功耗、超強抗干擾的單片機,指令代碼完全兼容傳統的8051,但速度快8~12倍。內部集成MAX810專用復位電路,2路PWM,8路高速8位A/D轉換。STC12C5A16AD單片機本身自帶8位高速ADC,所以大大簡化電路設計。單片機系統原理如圖3所示,圖3中的按鍵K2和K3可進行閾值設置,其中K2為“增加”、K3為“減小”按鍵。L2和L3為報警指示燈,分別可以進行酒后和醉酒兩級報警。醉酒閾值存儲在EEPROM芯片AT24C01中,并可以通過 “增加”、“減少”按鍵調節并保存。AT24C01是I2C接口的EEPROM芯片,可以用于掉電不易失數據的存儲。其電路如圖4所示。圖中A0、A1和A2為芯片的地址引腳,一般接地即可。SCL和SDA為AT24C04和單片機I2C通信的時鐘線和數據線。

2.2繼電器控制電路

繼電器控制電路主要功能是:當MQ-3傳感器檢測到酒精濃度超標時,利用控制繼電器控制車輛禁駕。繼電器控制接口與汽車點火與電噴電路相連接,通過單片機編程可控制汽車啟動。汽車電噴控制電路如圖5所示[7]。

圖4外置存儲器電路圖

圖5汽車電噴控制電路

2.3顯示電路

顯示部分采用SMC1602液晶屏進行顯示,該液晶顯示器以其低功耗、體積小、顯示內容豐富、超薄、輕巧的優點,在袖珍式儀表和低功耗應用系統中得到越來越廣泛的應用[8]。芯片工作電壓為4.5~5.5V,工作電流為2.0 mA,在本設計中采用5.0 V供電。液晶屏與單片機的接口電路如圖6所示,其中J2的3腳為背光引腳,R9和R10電阻用于調節背光亮度。J2的4、5和6腳分別接液晶的RS、E/W和E控制引腳,J2的7-14引腳為數據引腳。在1602液晶屏中顯示某位字符的程序如下:

void L1602_char(uchar hang,uchar lie,char sign)

{

uchar a;

if(hang == 1) a = 0x80;

if(hang == 2) a = 0xc0;

a = a + lie - 1;

enable(a);

write(sign);

}

2.4MQ-3傳感器電路

人飲酒后,呼出的氣體含有酒精分子,通過檢測被測人呼氣酒精濃度,就可以判定其飲酒程度。另外氣體濃度檢測簡單易行,本設計中采用MQ-3酒精傳感器。檢測對象的血液酒精濃度由人體血液酒精含量與呼出氣體中的酒精濃度之間的比值關系計算得出。我國對酒駕的判定界限為100~300mg/L,當檢測到酒精濃度小于200 mg/L時,發動機可以正常啟動;而當檢測到濃度超過200 mg/L時,發動機電源切斷,發動機不能正常啟動。酒精傳感器的工作原理是根據人飲酒后血液里的酒精濃度值與呼出氣體的酒精濃度值有一個固定的比例關系,公式如下:

血液酒精濃度(mg/L)=2 200*呼所酒精濃度(mg/L)

圖6液晶電路設計

由于MQ-3該傳感器的輸出信號為毫伏級電壓信號,因此需要對該信號進行放大后再經模/數轉換傳遞給控制單元作進一步分析處理,其工作原理如圖7所示。進行A/D轉換的程序如下:

圖7 MQ-3傳感器電路

uchar GetADVal()

{

uint i;

ADC_CONTR&=0xf7;

for(i=250;i>0;i--);//待輸入電壓穩定后開始轉換

ADC_CONTR |= 0x08; //ADC_Start=1, 啟動轉換

while((ADC_CONTR&0x10)==0); //等待轉換結束ADC_FLAG=1

ADC_CONTR&=0xe7;

return ADC_RES;

}

2.5GSM模塊電路

無線通信模塊選用的是MC55i模塊,單片機通過串口發送AT命令給MC55i模塊,對其進行控制。當傳感器檢測到的酒精濃度超出安全范圍,MC55i無線模塊隨之啟動。通過移動基站的Cell-Id定位法,獲取車輛當前位置的信息,再利用GPRS模塊把相關信息通過短信發送給家人,并通過GPRS上傳到交管部門,便于采取相應的處理措施。AT+CREG指令控制MC55i模塊進行基站定位,獲取車輛的當前的位置信息。短消息編碼采用Unicode中文編碼。在發送短信時,對常用漢字進行裁剪,將常用漢字的字庫存入單片機FLASH中,漢字字符通過查表,將碼制置換為Unicode編碼,隨后設置短信協議為PDU模式,發送中文漢字。PDU模式不僅支持中文短信,也能發送英文短信。在PDU模式中,可以采用三種編碼方式來對發送的內容進行編碼,它們是7-bit編碼、8-bit編碼和UCS2編碼(也就是16-bit編碼)。7-bit編碼用于發送普通的ASCII字符,它將一串7-bit的字符(最高位為0)編碼成8-bit的數據,每8個字符可“壓縮”成7個;8-bit編碼通常用于發送數據消息,比如圖片和鈴聲等;UCS2編碼用于發送Unicode字符。PDU串表面上是一串ASCII碼,由0~9、A~F這些數字和字母組成。它們是8位字節的十六進制數,或者BCD碼十進制數。PDU串不僅包含可顯示的消息本身,還包含很多其他信息,如SMS服務中心號碼、目標號碼、回復號碼、編碼方式和服務時間等。

將要發送的信息根據AT命令協議壓縮成一個PDU串,然后將該PDU串通過串口發送給GSM模塊,最后由GSM模塊發送給目標手機(這里指的是監控中心的手機號碼),整個發送過程要結合上面所講的發送PDU結構來進行,具體函數包括:gsmEncode7bit()、gsmEncode8bit()、gsmEncodeUcs2()、gsmInvertNumbers()等。用函數gsmEncodePdu ()可將原始信息壓縮成PDU串的功能。以上函數都已包含在這個程序中,具有程序如下:

int gsmEncodePdu(const SM_PARAM* pSrc, char* pDst)

{

int nLength; // 內部用的串長度

int nDstLength; // 目標PDU串長度

unsigned char buf[256]; // 內部用的緩沖區

nLength = strlen(pSrc->SCA);

buf[0] = (char)((nLength & 1) == 0 ? nLength : nLength + 1) / 2 + 1;

buf[1] = 0x91; // 固定: 用國際格式號碼

nDstLength = gsmBytes2String(buf, pDst, 2); nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst[nDstLength], nLength);

nLength = strlen(pSrc->TPA);

buf[0] = 0x11;

buf[1] = 0; // TP-MR=0

buf[2] = (char)nLength;

buf[3] = 0x91; // 固定: 用國際格式號碼

nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4);

nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst[nDstLength], nLength);

nLength = strlen(pSrc->TP_UD);

buf[0] = pSrc->TP_PID; // 協議標識(TP-PID)

buf[1] = pSrc->TP_DCS;

buf[2] = 0; // 有效期(TP-VP)為5分鐘

if(pSrc->TP_DCS == GSM_7BIT)

{

buf[3] = nLength; // 編碼前長度

nLength = gsmEncode7bit(pSrc->TP_UD, &buf[4], nLength+1) + 4;

}

else if(pSrc->TP_DCS == GSM_UCS2)

{

buf[3] = gsmEncodeUcs2(pSrc->TP_UD, &buf[4], nLength);

nLength = buf[3] + 4;

}

else

{

buf[3] = gsmEncode8bit(pSrc->TP_UD, &buf[4], nLength);

nLength = buf[3] + 4;

}

nDstLength += gsmBytes2String(buf, &pDst[nDstLength], nLength);

return nDstLength;

}

2.6供電電路

本設計采用USB接口供電,電源電壓5 V。同時,USB接口通過內含PL2303芯片的轉換電路對單片機進行程序編寫,以及與GPRS模塊通信。其電路原理如圖8所示。

圖8供電電路

2.7軟件設計

系統采用C語言進行編程,軟件設計的主流程如圖9所示。系統上電后,系統先進行初始化,然后傳感器會把檢測到的酒精濃度與設定到外置存儲器中的閾值進行比較,從而判斷酒精濃度是否超標。當檢測到濃度超過設定值200 mg/L時,系統通過繼電器切斷發動機電源,發動機不能正常啟動,同時把相關位置信息與酒駕信息發送給預先設定好的家人與當地交通部門。

圖9主程序流程圖

3結語

本文設計基于物聯網的酒駕自動檢測系統是采用STC12C5A16AD單片機作為主控系統。系統能夠自動對駕駛員酒精濃度檢測,根據檢測結果來控制發動機是否啟動,如果酒精含量超標則會發出聲光報警,并通過GPRS模塊向交通管理部門報警以及家人發送短消息。該系統體積小,功耗低,便于安裝等特點。測試結果表明,該系統可以實現很好的實時性和高精度,運行穩定,具有可靠、適應力強的特點,達到了良好的控制效果,具有較好的使用價值。

參 考 文 獻

[1]段現星,王曉侃.基于單片機控制的車載酒精濃度檢測儀設計[J].測控技術,2013,32(8): 5-7,11.

[2]李曉靜,劉書倫.基于物聯網的嵌入式酒駕智能辨識系統[J].制造業自動化,2012,34(21): 39-42.

[3]徐京蓮,韓峻峰,潘盛輝,等.基于多傳感器融合的車載酒精檢測系統設計[J].儀表技術與傳感器,2010(7): 109-111.

[4]郭東峰,李彥.基于物聯網的嵌入式酒駕自動檢測系統設計[J].計算機測量與控制,2013,21(3): 50-52.

[5]卓鄭安,朱文立,黃敏.基于GPRS的智能酒精濃度檢測儀設計與應用[J].實驗技術與管理,2013,30(5): 53-56.

[6]陳麗,朱瑞祥,云超.基于單片機的防酒后駕駛控制系統設計[J].傳感器與微系統,2009,28(2): 100-102.

[7]朱明,王亞坤,宋莉莉,等.基于MC55i的車載酒精檢測系統[J].儀表技術與傳感器,2012(6): 107-109.

[8]周鴻武.基于單片機的酒精濃度檢測儀設計[J].制造業自動化,2012,34(2): 153-155.

————————————————

收稿日期:2014-04-04

作者簡介:蘆芝萍(1977—),女,常州第四中學(中學一級),江蘇寶應人、本科、學士。主要研究方向為計算機應用。

while((ADC_CONTR&0x10)==0); //等待轉換結束ADC_FLAG=1

ADC_CONTR&=0xe7;

return ADC_RES;

}

2.5GSM模塊電路

無線通信模塊選用的是MC55i模塊,單片機通過串口發送AT命令給MC55i模塊,對其進行控制。當傳感器檢測到的酒精濃度超出安全范圍,MC55i無線模塊隨之啟動。通過移動基站的Cell-Id定位法,獲取車輛當前位置的信息,再利用GPRS模塊把相關信息通過短信發送給家人,并通過GPRS上傳到交管部門,便于采取相應的處理措施。AT+CREG指令控制MC55i模塊進行基站定位,獲取車輛的當前的位置信息。短消息編碼采用Unicode中文編碼。在發送短信時,對常用漢字進行裁剪,將常用漢字的字庫存入單片機FLASH中,漢字字符通過查表,將碼制置換為Unicode編碼,隨后設置短信協議為PDU模式,發送中文漢字。PDU模式不僅支持中文短信,也能發送英文短信。在PDU模式中,可以采用三種編碼方式來對發送的內容進行編碼,它們是7-bit編碼、8-bit編碼和UCS2編碼(也就是16-bit編碼)。7-bit編碼用于發送普通的ASCII字符,它將一串7-bit的字符(最高位為0)編碼成8-bit的數據,每8個字符可“壓縮”成7個;8-bit編碼通常用于發送數據消息,比如圖片和鈴聲等;UCS2編碼用于發送Unicode字符。PDU串表面上是一串ASCII碼,由0~9、A~F這些數字和字母組成。它們是8位字節的十六進制數,或者BCD碼十進制數。PDU串不僅包含可顯示的消息本身,還包含很多其他信息,如SMS服務中心號碼、目標號碼、回復號碼、編碼方式和服務時間等。

將要發送的信息根據AT命令協議壓縮成一個PDU串,然后將該PDU串通過串口發送給GSM模塊,最后由GSM模塊發送給目標手機(這里指的是監控中心的手機號碼),整個發送過程要結合上面所講的發送PDU結構來進行,具體函數包括:gsmEncode7bit()、gsmEncode8bit()、gsmEncodeUcs2()、gsmInvertNumbers()等。用函數gsmEncodePdu ()可將原始信息壓縮成PDU串的功能。以上函數都已包含在這個程序中,具有程序如下:

int gsmEncodePdu(const SM_PARAM* pSrc, char* pDst)

{

int nLength; // 內部用的串長度

int nDstLength; // 目標PDU串長度

unsigned char buf[256]; // 內部用的緩沖區

nLength = strlen(pSrc->SCA);

buf[0] = (char)((nLength & 1) == 0 ? nLength : nLength + 1) / 2 + 1;

buf[1] = 0x91; // 固定: 用國際格式號碼

nDstLength = gsmBytes2String(buf, pDst, 2); nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst[nDstLength], nLength);

nLength = strlen(pSrc->TPA);

buf[0] = 0x11;

buf[1] = 0; // TP-MR=0

buf[2] = (char)nLength;

buf[3] = 0x91; // 固定: 用國際格式號碼

nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4);

nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst[nDstLength], nLength);

nLength = strlen(pSrc->TP_UD);

buf[0] = pSrc->TP_PID; // 協議標識(TP-PID)

buf[1] = pSrc->TP_DCS;

buf[2] = 0; // 有效期(TP-VP)為5分鐘

if(pSrc->TP_DCS == GSM_7BIT)

{

buf[3] = nLength; // 編碼前長度

nLength = gsmEncode7bit(pSrc->TP_UD, &buf[4], nLength+1) + 4;

}

else if(pSrc->TP_DCS == GSM_UCS2)

{

buf[3] = gsmEncodeUcs2(pSrc->TP_UD, &buf[4], nLength);

nLength = buf[3] + 4;

}

else

{

buf[3] = gsmEncode8bit(pSrc->TP_UD, &buf[4], nLength);

nLength = buf[3] + 4;

}

nDstLength += gsmBytes2String(buf, &pDst[nDstLength], nLength);

return nDstLength;

}

2.6供電電路

本設計采用USB接口供電,電源電壓5 V。同時,USB接口通過內含PL2303芯片的轉換電路對單片機進行程序編寫,以及與GPRS模塊通信。其電路原理如圖8所示。

圖8供電電路

2.7軟件設計

系統采用C語言進行編程,軟件設計的主流程如圖9所示。系統上電后,系統先進行初始化,然后傳感器會把檢測到的酒精濃度與設定到外置存儲器中的閾值進行比較,從而判斷酒精濃度是否超標。當檢測到濃度超過設定值200 mg/L時,系統通過繼電器切斷發動機電源,發動機不能正常啟動,同時把相關位置信息與酒駕信息發送給預先設定好的家人與當地交通部門。

圖9主程序流程圖

3結語

本文設計基于物聯網的酒駕自動檢測系統是采用STC12C5A16AD單片機作為主控系統。系統能夠自動對駕駛員酒精濃度檢測,根據檢測結果來控制發動機是否啟動,如果酒精含量超標則會發出聲光報警,并通過GPRS模塊向交通管理部門報警以及家人發送短消息。該系統體積小,功耗低,便于安裝等特點。測試結果表明,該系統可以實現很好的實時性和高精度,運行穩定,具有可靠、適應力強的特點,達到了良好的控制效果,具有較好的使用價值。

參 考 文 獻

[1]段現星,王曉侃.基于單片機控制的車載酒精濃度檢測儀設計[J].測控技術,2013,32(8): 5-7,11.

[2]李曉靜,劉書倫.基于物聯網的嵌入式酒駕智能辨識系統[J].制造業自動化,2012,34(21): 39-42.

[3]徐京蓮,韓峻峰,潘盛輝,等.基于多傳感器融合的車載酒精檢測系統設計[J].儀表技術與傳感器,2010(7): 109-111.

[4]郭東峰,李彥.基于物聯網的嵌入式酒駕自動檢測系統設計[J].計算機測量與控制,2013,21(3): 50-52.

[5]卓鄭安,朱文立,黃敏.基于GPRS的智能酒精濃度檢測儀設計與應用[J].實驗技術與管理,2013,30(5): 53-56.

[6]陳麗,朱瑞祥,云超.基于單片機的防酒后駕駛控制系統設計[J].傳感器與微系統,2009,28(2): 100-102.

[7]朱明,王亞坤,宋莉莉,等.基于MC55i的車載酒精檢測系統[J].儀表技術與傳感器,2012(6): 107-109.

[8]周鴻武.基于單片機的酒精濃度檢測儀設計[J].制造業自動化,2012,34(2): 153-155.

————————————————

收稿日期:2014-04-04

作者簡介:蘆芝萍(1977—),女,常州第四中學(中學一級),江蘇寶應人、本科、學士。主要研究方向為計算機應用。

while((ADC_CONTR&0x10)==0); //等待轉換結束ADC_FLAG=1

ADC_CONTR&=0xe7;

return ADC_RES;

}

2.5GSM模塊電路

無線通信模塊選用的是MC55i模塊,單片機通過串口發送AT命令給MC55i模塊,對其進行控制。當傳感器檢測到的酒精濃度超出安全范圍,MC55i無線模塊隨之啟動。通過移動基站的Cell-Id定位法,獲取車輛當前位置的信息,再利用GPRS模塊把相關信息通過短信發送給家人,并通過GPRS上傳到交管部門,便于采取相應的處理措施。AT+CREG指令控制MC55i模塊進行基站定位,獲取車輛的當前的位置信息。短消息編碼采用Unicode中文編碼。在發送短信時,對常用漢字進行裁剪,將常用漢字的字庫存入單片機FLASH中,漢字字符通過查表,將碼制置換為Unicode編碼,隨后設置短信協議為PDU模式,發送中文漢字。PDU模式不僅支持中文短信,也能發送英文短信。在PDU模式中,可以采用三種編碼方式來對發送的內容進行編碼,它們是7-bit編碼、8-bit編碼和UCS2編碼(也就是16-bit編碼)。7-bit編碼用于發送普通的ASCII字符,它將一串7-bit的字符(最高位為0)編碼成8-bit的數據,每8個字符可“壓縮”成7個;8-bit編碼通常用于發送數據消息,比如圖片和鈴聲等;UCS2編碼用于發送Unicode字符。PDU串表面上是一串ASCII碼,由0~9、A~F這些數字和字母組成。它們是8位字節的十六進制數,或者BCD碼十進制數。PDU串不僅包含可顯示的消息本身,還包含很多其他信息,如SMS服務中心號碼、目標號碼、回復號碼、編碼方式和服務時間等。

將要發送的信息根據AT命令協議壓縮成一個PDU串,然后將該PDU串通過串口發送給GSM模塊,最后由GSM模塊發送給目標手機(這里指的是監控中心的手機號碼),整個發送過程要結合上面所講的發送PDU結構來進行,具體函數包括:gsmEncode7bit()、gsmEncode8bit()、gsmEncodeUcs2()、gsmInvertNumbers()等。用函數gsmEncodePdu ()可將原始信息壓縮成PDU串的功能。以上函數都已包含在這個程序中,具有程序如下:

int gsmEncodePdu(const SM_PARAM* pSrc, char* pDst)

{

int nLength; // 內部用的串長度

int nDstLength; // 目標PDU串長度

unsigned char buf[256]; // 內部用的緩沖區

nLength = strlen(pSrc->SCA);

buf[0] = (char)((nLength & 1) == 0 ? nLength : nLength + 1) / 2 + 1;

buf[1] = 0x91; // 固定: 用國際格式號碼

nDstLength = gsmBytes2String(buf, pDst, 2); nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst[nDstLength], nLength);

nLength = strlen(pSrc->TPA);

buf[0] = 0x11;

buf[1] = 0; // TP-MR=0

buf[2] = (char)nLength;

buf[3] = 0x91; // 固定: 用國際格式號碼

nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4);

nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst[nDstLength], nLength);

nLength = strlen(pSrc->TP_UD);

buf[0] = pSrc->TP_PID; // 協議標識(TP-PID)

buf[1] = pSrc->TP_DCS;

buf[2] = 0; // 有效期(TP-VP)為5分鐘

if(pSrc->TP_DCS == GSM_7BIT)

{

buf[3] = nLength; // 編碼前長度

nLength = gsmEncode7bit(pSrc->TP_UD, &buf[4], nLength+1) + 4;

}

else if(pSrc->TP_DCS == GSM_UCS2)

{

buf[3] = gsmEncodeUcs2(pSrc->TP_UD, &buf[4], nLength);

nLength = buf[3] + 4;

}

else

{

buf[3] = gsmEncode8bit(pSrc->TP_UD, &buf[4], nLength);

nLength = buf[3] + 4;

}

nDstLength += gsmBytes2String(buf, &pDst[nDstLength], nLength);

return nDstLength;

}

2.6供電電路

本設計采用USB接口供電,電源電壓5 V。同時,USB接口通過內含PL2303芯片的轉換電路對單片機進行程序編寫,以及與GPRS模塊通信。其電路原理如圖8所示。

圖8供電電路

2.7軟件設計

系統采用C語言進行編程,軟件設計的主流程如圖9所示。系統上電后,系統先進行初始化,然后傳感器會把檢測到的酒精濃度與設定到外置存儲器中的閾值進行比較,從而判斷酒精濃度是否超標。當檢測到濃度超過設定值200 mg/L時,系統通過繼電器切斷發動機電源,發動機不能正常啟動,同時把相關位置信息與酒駕信息發送給預先設定好的家人與當地交通部門。

圖9主程序流程圖

3結語

本文設計基于物聯網的酒駕自動檢測系統是采用STC12C5A16AD單片機作為主控系統。系統能夠自動對駕駛員酒精濃度檢測,根據檢測結果來控制發動機是否啟動,如果酒精含量超標則會發出聲光報警,并通過GPRS模塊向交通管理部門報警以及家人發送短消息。該系統體積小,功耗低,便于安裝等特點。測試結果表明,該系統可以實現很好的實時性和高精度,運行穩定,具有可靠、適應力強的特點,達到了良好的控制效果,具有較好的使用價值。

參 考 文 獻

[1]段現星,王曉侃.基于單片機控制的車載酒精濃度檢測儀設計[J].測控技術,2013,32(8): 5-7,11.

[2]李曉靜,劉書倫.基于物聯網的嵌入式酒駕智能辨識系統[J].制造業自動化,2012,34(21): 39-42.

[3]徐京蓮,韓峻峰,潘盛輝,等.基于多傳感器融合的車載酒精檢測系統設計[J].儀表技術與傳感器,2010(7): 109-111.

[4]郭東峰,李彥.基于物聯網的嵌入式酒駕自動檢測系統設計[J].計算機測量與控制,2013,21(3): 50-52.

[5]卓鄭安,朱文立,黃敏.基于GPRS的智能酒精濃度檢測儀設計與應用[J].實驗技術與管理,2013,30(5): 53-56.

[6]陳麗,朱瑞祥,云超.基于單片機的防酒后駕駛控制系統設計[J].傳感器與微系統,2009,28(2): 100-102.

[7]朱明,王亞坤,宋莉莉,等.基于MC55i的車載酒精檢測系統[J].儀表技術與傳感器,2012(6): 107-109.

[8]周鴻武.基于單片機的酒精濃度檢測儀設計[J].制造業自動化,2012,34(2): 153-155.

————————————————

收稿日期:2014-04-04

作者簡介:蘆芝萍(1977—),女,常州第四中學(中學一級),江蘇寶應人、本科、學士。主要研究方向為計算機應用。

猜你喜歡
單片機檢測系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 国产成+人+综合+亚洲欧美| 99精品国产电影| 国内精品久久九九国产精品| 国产欧美另类| 九月婷婷亚洲综合在线| 久久亚洲中文字幕精品一区| 亚洲另类色| 免费人成在线观看视频色| 夜夜操天天摸| 欧美五月婷婷| 人妻夜夜爽天天爽| 色哟哟精品无码网站在线播放视频| 毛片国产精品完整版| 夜夜操天天摸| 国产免费久久精品99re丫丫一| 欧美在线国产| 国产在线八区| 欧美视频在线观看第一页| 97精品国产高清久久久久蜜芽| 高清无码不卡视频| 国产精品美人久久久久久AV| 国产你懂得| 欧美精品不卡| 国产尹人香蕉综合在线电影| 69精品在线观看| 久久国产精品波多野结衣| 黄色网址免费在线| 国产精品视频久| 人妻精品久久无码区| 亚洲成AV人手机在线观看网站| 成人午夜福利视频| 人妻一区二区三区无码精品一区 | 日韩av无码精品专区| 免费又爽又刺激高潮网址| 久久96热在精品国产高清| 人妻精品久久久无码区色视| 全部免费毛片免费播放| 国产精品自在拍首页视频8| www.亚洲一区| 欧美精品三级在线| 夜精品a一区二区三区| 亚洲精品午夜天堂网页| 99999久久久久久亚洲| 99久久国产精品无码| 18禁高潮出水呻吟娇喘蜜芽| 91黄色在线观看| 伊人色在线视频| 另类专区亚洲| 99视频在线观看免费| 国产精品一区不卡| 日韩 欧美 小说 综合网 另类| 国产精品久久久久无码网站| 欧美日韩国产精品综合| 亚洲欧美综合另类图片小说区| 国产高清在线精品一区二区三区| 尤物视频一区| 久久网综合| 57pao国产成视频免费播放| 亚洲日本中文字幕天堂网| 国产精品所毛片视频| 青青操视频在线| 亚洲国产精品无码AV| 国产黄在线免费观看| 亚洲日韩精品无码专区| 国产乱视频网站| 国产成人1024精品| 999国产精品永久免费视频精品久久| 国产精品v欧美| 精品国产自在在线在线观看| 97亚洲色综久久精品| 99国产在线视频| 欧美a级在线| 男女性午夜福利网站| 九色在线视频导航91| 在线观看国产精品日本不卡网| 福利国产在线| 有专无码视频| 国产精品区视频中文字幕| 黄色三级毛片网站| 亚洲欧美日韩久久精品| 亚洲精品自产拍在线观看APP| 日本手机在线视频|