卜彥君 劉志強(qiáng) 田雪 謝一博
摘要:文章對(duì)比了無(wú)線串口和工業(yè)、生活中常見(jiàn)的無(wú)線通信方式,提出構(gòu)建基于無(wú)線串口的物聯(lián)網(wǎng)數(shù)據(jù)傳輸網(wǎng)絡(luò)。在一定的理論基礎(chǔ)下,進(jìn)行了真實(shí)場(chǎng)景中的單點(diǎn)傳輸和星型組網(wǎng)測(cè)試,而且通過(guò)編寫(xiě)程序?qū)崿F(xiàn)了單片機(jī)自組網(wǎng)的測(cè)試,實(shí)驗(yàn)效果良好。關(guān)鍵詞:無(wú)線串口;組網(wǎng)測(cè)試;數(shù)據(jù)傳輸
目前常用的無(wú)線通信技術(shù)有藍(lán)牙,WiFi,ZigBee等[1],其中藍(lán)牙是一種用于替代某些電子設(shè)備上使用電纜或連線的短距離無(wú)線連接技術(shù),傳輸距離約10 m; WiFi與藍(lán)牙技術(shù)一樣,同屬于在辦公室和家庭中使用的短距離無(wú)線技術(shù),該技術(shù)使用的是2.4 GHz附近的頻段,傳輸距離約100 m;ZigBee是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無(wú)線通信技術(shù),傳輸距離約100 m。在考慮敏捷開(kāi)發(fā)、超長(zhǎng)傳輸距離、低功耗、穿透能力等綜合因素時(shí),無(wú)線串口有著明顯的優(yōu)勢(shì),所以本課題使用無(wú)線串口搭建數(shù)據(jù)采集網(wǎng)絡(luò)。
1 工作原理
串口是計(jì)算機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)交換的重要介質(zhì),串行通信也因其線路簡(jiǎn)單、操作靈活,在工程中有著廣泛的應(yīng)用。無(wú)線數(shù)據(jù)傳輸網(wǎng)絡(luò)就是計(jì)算機(jī)與無(wú)線串口之間的通信鏈路,通過(guò)E32-TTL-100模塊,并配以天線,經(jīng)過(guò)CP210X驅(qū)動(dòng)可實(shí)現(xiàn)計(jì)算機(jī)之間數(shù)據(jù)的無(wú)線傳輸。其數(shù)據(jù)傳輸流程如圖1所示。
發(fā)送方:計(jì)算機(jī)上的COM 口與串口調(diào)試助手連接后,通過(guò)USB-T2將數(shù)據(jù)以十六進(jìn)制形式傳給E32-TTL-100無(wú)線模塊,模塊根據(jù)當(dāng)前的工作狀態(tài),在若干時(shí)間片后,將數(shù)據(jù)打包發(fā)送。
接收方:無(wú)線串口通過(guò)解析比對(duì)發(fā)送方的地址和信道,對(duì)收到的數(shù)據(jù)進(jìn)行逐幀校驗(yàn),校驗(yàn)通過(guò)的數(shù)據(jù)通過(guò)USB-T2傳輸?shù)酱谡{(diào)試助手以文本顯示[2]。
2 工作模式
模塊有4種工作模式,由引腳M0和M1設(shè)置,詳情如表1所示。
3 數(shù)據(jù)傳輸網(wǎng)絡(luò)的構(gòu)建
3.1 單點(diǎn)傳輸
單點(diǎn)傳輸可采用透明傳輸或定向傳輸兩種工作方式,透明傳輸把接收和發(fā)送兩端的串口信道設(shè)置相同即可,定向傳輸需要設(shè)置接收和發(fā)送雙方的地址和信道,同時(shí)要設(shè)置模塊的標(biāo)志位。就是把兩個(gè)無(wú)線模塊的信道值設(shè)置成相同的,它們就可以進(jìn)行通信,進(jìn)而進(jìn)行數(shù)據(jù)傳輸,達(dá)到定點(diǎn)傳輸?shù)哪康摹?/p>
3.2 星型組網(wǎng)
星型組網(wǎng)是一個(gè)一主多從的網(wǎng)絡(luò)架構(gòu),用戶可以給每一個(gè)從機(jī)規(guī)定一個(gè)地址和信道,并在發(fā)送數(shù)據(jù)時(shí)指定目的地址和信道,收到數(shù)據(jù)的從機(jī)判斷地址是否與自身匹配,若不匹配則直接丟棄,若匹配,則作出相應(yīng)的動(dòng)作。
星型組網(wǎng)測(cè)試以內(nèi)蒙古工業(yè)大學(xué)金川校區(qū)為例,該校區(qū)包含高大建筑物17棟,占地約0.7 km2,對(duì)角線距離分別為584 m和888 m。實(shí)驗(yàn)當(dāng)天氣候干燥,風(fēng)速4級(jí),氣溫零攝氏度。實(shí)驗(yàn)時(shí)4名同學(xué)分別位于校區(qū)的四角,每人手持筆記本和無(wú)線串口模塊,就位后我們進(jìn)行了兩組測(cè)試。如圖2右側(cè)所示,兩兩之間互相發(fā)送數(shù)據(jù),平均延時(shí)約0.1s。如圖2左側(cè)所示,一名同學(xué)位于學(xué)校中心建筑物,其他3名以其為中心輻射在不同的方向,然后進(jìn)行數(shù)據(jù)傳輸。兩組實(shí)驗(yàn)中每人都能收到其他3人的數(shù)據(jù),且數(shù)據(jù)傳輸延時(shí)較低,這表明金川校區(qū)可采用基于無(wú)線串口的物聯(lián)網(wǎng)數(shù)據(jù)傳輸網(wǎng)絡(luò)[3-4]。
3.3 單片機(jī)自組網(wǎng)
單片機(jī)自組網(wǎng)是由PC機(jī)、單片機(jī)和無(wú)線串口組成的一個(gè)組網(wǎng)。他們之間是通過(guò)PC機(jī)把寫(xiě)好的程序由USB串口下載到單片機(jī)里,然后單片機(jī)與無(wú)線串口通過(guò)他們的TXD和RXD相連接而完成通信。下面是單片機(jī)自組網(wǎng)通信程序。
(1)串口初始化程序void initSer()
{
TMOD=TMOD|Ox20;//T1定時(shí)器模式,工作方
式2
THl=0Xfd;// 256-(11059200/(32*12*9600))
TLl=0xfd;
SM0=0;//屬于SCON寄存器
SM1=1;//串口工作方式1,10位異步,波特率
可改
REN=1;//允許串口接收
ES=1;//開(kāi)串口中斷
EA=1;//開(kāi)總中斷
TR1=1;//啟動(dòng)定時(shí)器
}
(2)發(fā)送一個(gè)字節(jié)數(shù)據(jù)void sendChar(uchar Value)
{
SBUF = Value;
sendFlag = 1;//設(shè)置發(fā)送標(biāo)志位,發(fā)一字節(jié)就置位
while(sendFlag);//直到發(fā)完數(shù)據(jù),將sendFlag清零
后,才退出sendChar函數(shù)
}
(3)主函數(shù)void main(void)
{
initSer();while ⑴
{
while(receFlag)//單片機(jī)串口收到任意數(shù)據(jù)后,開(kāi)始發(fā)送數(shù)據(jù){
sendStr();
receFlag=0;
此單片機(jī)自組網(wǎng)首先通過(guò)sendStr()函數(shù)把所要發(fā)送的數(shù)據(jù)發(fā)送到單片機(jī)緩沖區(qū),然后單片機(jī)把所收到的數(shù)據(jù)轉(zhuǎn)發(fā)給無(wú)線出口,無(wú)線串口分析接收的數(shù)據(jù),通過(guò)和自己先前設(shè)置好的地址和信道進(jìn)行校驗(yàn),正確后,把數(shù)據(jù)轉(zhuǎn)發(fā)給另一個(gè)無(wú)線串口,然后把收到的數(shù)據(jù)在PC機(jī)上的串口調(diào)試助手得以顯示。
4 結(jié)語(yǔ)
本文研究了無(wú)線串口的通信方式和工作模式,并在真實(shí)環(huán)境中進(jìn)行了組網(wǎng)測(cè)試,實(shí)驗(yàn)中數(shù)據(jù)傳輸穩(wěn)定,穿透能力強(qiáng),誤碼率和延時(shí)都很低。通過(guò)對(duì)比實(shí)驗(yàn)前期的準(zhǔn)備工作,發(fā)現(xiàn)無(wú)線串口確實(shí)使用方便,對(duì)專業(yè)背景要求較低。
[參考文獻(xiàn)]
[1]金純,羅祖秋.ZigBee技術(shù)基礎(chǔ)及案列分析[M].北京:國(guó)防工業(yè)出版社,2008.
[2]薛衛(wèi)強(qiáng).基于物聯(lián)網(wǎng)的無(wú)線環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與軟件的實(shí)現(xiàn)[D].秦皇島:燕山大學(xué),2013.
[3]黃建清,王衛(wèi)星.基于無(wú)線傳感器網(wǎng)絡(luò)的水產(chǎn)養(yǎng)殖水質(zhì)監(jiān)測(cè)系統(tǒng)開(kāi)發(fā)與試驗(yàn)[J].農(nóng)業(yè)工程學(xué)報(bào),2013(4):183-190.
[4]楊小牛,褸才.軟件無(wú)線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.