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

基于無線射頻的智能家居控制系統設計與實現

2013-05-11 00:45:40余小華鄭魏平
微型電腦應用 2013年10期
關鍵詞:指令單片機系統

余小華 鄭魏平

0 引言

智能家居是一門新興的綜合性交叉學科。智能家居可以定義為一個過程或一個系統,利用先進的計算機技術、網絡通訊技術、綜合布線技術,將與家庭生活有關的各種子系統,有機地結合在一起。智能家居的目標是用各種方法或設備使家居生活實現自動化、智能化,使家居變得更加舒適、安全和有效,從而提高人們的生活質量。

隨著移動互聯網絡的迅猛發展,目前3G網絡基本覆蓋全國,人們通過平板電腦和智能手機隨時隨地接入網絡,感受到網絡帶給我們的便捷。因此利用移動網絡或者GSM短信功能實現遠程監視和控制功能的優勢非常明顯[1]。智能家居已成為現代家庭裝修的大勢所趨。

1 智能家居控制系統方案的設計

本系統包含三大模塊:智能家電控制模塊,溫濕度監控模塊,遠程監控模塊。針對智能家居系統的需求分析,系統的總體設計,如圖1所示:

圖1 系統設計原理圖

利用SIM300 GSM模塊、nRF24l01射頻芯片與STC12C5A60S2單片機以及路由器組建基于微型Linux系統的核心控制器,同時利用nRF24l01射頻芯片、單片機和繼電器模塊組成控制終端,通過nRF24l01芯片以2.4G頻率將各從機與控制器進行無線組網。

用戶可通過網絡可視化軟件下發指令或者手機發送短信指令到核心控制器,核心控制器解析短信或控制指令并通過無線射頻模塊發送指令到指定的終端,終端收到指令后將根據指令控制繼電器的耦合和分離實現用電器的開啟與關閉,并將控制后的狀態反饋給核心控制器,控制器將實時狀態通過網絡或者短信告知用戶控制成功與否,從而實現對智能家居的遠程控制。

2 系統硬件的設計

前面通過對家居系統進行需求分析確定了本設計的總體方案。本節將在總體方案設計的基礎上實現系統的硬件電路。系統由五大模塊電路組成:GSM模塊與單片機STC12C5A60S2的串口2通信構成的GSM收發控制終端電路、路由器的模擬串口與單片機STC12C5A60S2的串口1通信構成的網絡控制終端電路、無線射頻芯片與單片機STC12C5A60S2的模擬SPI接口通信構成無線射頻數據傳輸控制電路、繼電器模塊與單片機STC89C52RC和無線射頻芯片構成家電控制電路、溫濕度傳感模塊與單片機STC12C5A60S2的I/O通信構成環境監測電路[2]。

(1)單片機。本系統核心控制主機采用STC12C5A60S2單片機,STC12C5A60S2單片機是一款功能比較強大的單片機,它擁有兩個全雙工串行通信接口,具有60K在系統可編程Flash存儲器。滿足核心主機程序量大,通信接口多的要求。在本系統中,串口1連接路由器,串口2連接GSM模塊,實現同步控制。從機節點采用STC89C52RC單片機,該單片機是一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案[3]。

(2)GSM模塊。GSM模塊采用SIM300模塊,SIM300是小體積即插即用模組中完善的三頻/四頻*GSM/GPRS解決方案。使用工業標準界面,使得具備GSM/GPRS 900/1800/1900MHz功能的SIM300以小尺寸和低功耗實現語音、SMS、數據和傳真信息的高速傳輸。SIM300使用串口通訊的方式和外部連接,通過串口數據的交換我們就可以使得SIM300模塊去執行命令了。以下是與本設計短信收發有關的AT指令,如表1所示:

表1 短消息AT指令

(3)無線射頻芯片。無線射頻傳輸模塊主要采用nRF24L01芯片,nRF24L01是由NORDIC生產的工作在2.4GHz~2.5GHz的ISM頻段的單片無線收發器芯片。無線收發器包括:頻率發生器、增強型“SchockBurst”模式控制器、功率放大器、晶體振蕩器、調制器和解調器。輸出功率頻道選擇和協議的設置可以通過SPI接口進行設置。幾乎可以連接到各種單片機芯片,并完成無線數據傳送工作。具有極低的電流消耗:當工作在發射模式下發射功率為0dBm時,電流消耗為11.3mA,接收模式時為12.3mA,掉電模式和待機模式下,電流消耗更低[4-6]。

(4)溫濕度傳感器。本系統采用的DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性和卓越的長期穩定性[7-9]。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此,該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。產品為4針單排引腳封裝,連接方便。

3 系統軟件的設計

本設計采用順序執行的方式將各個軟件子模塊置于主程序的大循環中。當有外部觸發時能進入相應的子程序執行相應的功能。系統軟件總設計流程,如圖2所示:

圖2 系統軟件設計流程圖

3.1 短消息收發程序的設計

單片機對SIM300模塊的控制采用AT指令。單片機可以通過正確的AT指令對SIM300模塊進行初始化和短消息的接收發送。對短消息的控制共有兩種模式:PDU模式和Text模式。Text模式不支持中文,因此,本系統使用PDU模式進行短消息的接收和發送。單片機通過以下系列AT指令對短消息進行控制。

3.1.1 接收短信息

SIM300初始化:首先設置PDU格式讀出短信AT+CMGF=0,設置0代表PDU模式,是回車符號,也就是0x0d。指令正確則模塊返回OK,是回車換行符號。然后讀取第一條短信AT+CMGR=1,我們將得出字符串分解如下:

0891683108200075F12410A8?短信中心號碼(固定不變);2125105308558353?發送方源號碼;0008?表示使用Unicode編碼;31508061441323?發送時間13年5月8日16時44分31秒;0E?信息長度;4E3B4EBA003A?飛信特有的昵稱名;5F00542F706F0031?短信內容(開啟燈1)Unicode編碼。

3.1.2 發送短消息

用PDU模式發送短消息,則首先發送短消息數據長度。AT+CMGS=。等待SIM300模塊返回ASCII字符'>',則可以將PDU數據輸入,PDU數據以(也就是0x1a)作為結束符。短消息發送成功,模塊返回OK。發送數據格式例如,需要發送漢字“燈1已開啟!”到手機13580553835,則首先發送數據串AT+CMGS=27,然后等待ASCII字符'>',然后輸入PDU數據。

發送短信關鍵代碼:

Uart2Sends("AT+CMGF=0 ");//發送指令指定發送的是中文短信;

NRFDelay(1000);//延時1秒;Uart2Sends("AT+CMGS=27 ");//發送長度;

Uart2Sends("0011000D91");//短信包頭;Uart2Sends(pt);//源發送指令號碼;

Uart2Sends("0008A00C706F00315DF2517395EDFF01");//燈1已關閉!

R_S_Byte(0x1a);//回車符

3.2 無線射頻數據傳輸程序的設計

本系統中,各控制器均沒有硬件的SPI接口,所以只有通過通用的I/O口來模擬,由于硬件上已經把nRF24L01的SPI連接到了P0.1~P0.6口,當MCU欲與nRF24L01進行通信時,通過P0口模擬nRF24L01的SPI總線時序來完成。本系統中nRF24L01工作模式為增強型ShockBurstTM,這種模式可以使得雙向鏈接協議執行起來更為容易、有效。典型的雙向鏈接為發送方要求終端設備在接收到數據后有應答信號,以便于發送方檢測有無數據丟失一旦數據丟失則通過重新發送功能將丟失的數據恢復。同時也使得系統的程序編制會更簡單,并且穩定性也會更高。增強型的ShockBurstTM模式可以同時控制應答及重發功能而無需增加MCU工作量。

3.2.1 nRF24L01數據發送程序的設計

數據發送前對SPI通信接口初始化,然后,將NRF24L01寄存器配置為發送狀態,接著寫入接收端地址、要發送內容、啟動NRF24L01發送,根據應答信號判斷是否發送成功,不成功則重復地址和內容寫入并發送的步驟。

發送數據通過SPI通信送入NRF24L01的數據寄存器。

CE=0;

NRFWriteTxDate(W_REGISTER+TX_ADDR,RxAddr0,TX_ADDR_WITDH);//寫寄存器指令+接收地址使能指令,接收地址,地址寬度

NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,RxAddr0,TX_ADDR_WITDH);//為了應答接收設備,接收通道0地址和發送地址相同

NRFWriteTxDate(W_TX_PAYLOAD,TxDate,TX_DATA_WITDH);//寫入數據

CE=1;NRFDelay(5);//保持10us秒以上

3.2.2 nRF24L01數據接收程序的設計

數據發送前對SPI通信接口初始化,然后將NRF24L01寄存器配置為接收狀態,接著寫入接收地址、儲存數組首地址,判斷是否收到數據(RX_DR為1時表示接收到數據),收到則讀出數據并處理。

接收數據通過SPI通信從NRF24L01中讀取出來:

if(RX_DR)//判斷是否接收到數據

{RX_P_NO=sta&0x0e;//獲取通道號CE=0;//待機NRFReadRxDate(R_RX_PAYLOAD,RevTempDate0,RX_DAT A_WITDH);

//從RXFIFO讀取數據通道0

NRFWriteReg(W_REGISTER+STATUS,0xff);//接收到數據后RX_DR,TX_DS,MAX_PT都置高為1,通過寫1來清楚中斷標

CSN=0;NRFSPI(FLUSH_RX);//用于清空FIFO!CSN=1;}

3.3 路由器的設置

因為路由器在本系統擔任網絡數據傳輸的重要角色,因此獨立出來說明。路由器自帶的系統為原廠固件,并不滿足系統設計的功能需要,所以需要把系統刷為OpenWrt,然后將路由器電路板中的TTL電平設置為虛擬串口與單片機進行通信,同同時在路由器配置TCPServer服務,為客戶端提供接口。

路由器固件更新后,連上外網,通過在線更新安裝插件:ser2net.ipk。這是一個可以通過個人PC向路由的指定端口發送數據,然后路由原封不動的將數據發送到路由的TTL接口的程序。

3.4 上位機程序的設計

為了使系統具有較好的用戶體驗,本系統給用戶提供一個具有良好人機交互界面的PC端軟件,軟件采用C/S架構設計,采用Visual Studio 2010作為開發工具,開發語言為C#,使用.NET Framework3.5類庫。運用socket技術、多線程技術保證與核心控制器的穩定通信。

3.4.1 Socket連接

所謂Socket通常也稱作“套接字”,應用程序通常通過“套接字”向網絡發出請求或者應答網絡請求。根據連接啟動的方式以及本地套接字要連接的目標,套接字之間的連接過程可以分為3個步驟:服務器監聽、客戶端請求、連接確認。

與核心控制器建立socket連接代碼:

Socket c=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//創建一個Socket對象

void tcpconnet()

{try{IPAddress ips=IPAddress.Parse(ControlIp.ToString());

//("192.168.1.1");

IPEndPoint ipe=new IPEndPoint(ips,Convert.ToInt32(Port.ToString()));

//把ip和端口轉化為aIPEndPoint實例

c.Connect(ipe);//連接到服務器

}

3.4.2 多線程的運用

每個正在系統上運行的程序都是一個進程。每個進程包含一到多個線程。進程也可能是整個程序或者是部分程序的動態執行。線程是一組指令的集合,或者是程序的特殊段,它可以在程序里獨立執行。也可以把它理解為代碼運行的上下文。所以線程基本上是輕量級的進程,它負責在單個程序里執行多任務。通常由操作系統負責多個線程的調度和執行。

本系統軟件是實時接收來自核心控制器的數據,所以需要新建一條后臺線程專門負責接收數據。新建線程及方法委托關鍵代碼如下:

System.Threading.Thread t=new System.Threading.Thread(new System.Threading.ThreadStart(ReceiveDataThread));

t.IsBackground=true;//后臺運行

t.Start();//啟動進程ReceiveDataThread;

3.4.3 攝像頭控件的調用

系統中采用的攝像頭具有云臺控制功能,廠家也提供了可進行二次開發的ocx控件,要調用該控件,需先向系統注冊控件,將控件放到工程目錄下,在運行中輸入命令:c:windowssystem egsvr32.exe+控件的絕對路徑,系統提示注冊成功后,則可在VS中的工具箱COM組件中找到該控件,再將其拉到程序界面中即可實現調用[10-11]。

連接監控代碼:

axS151_emu1.ConnectSvr("admin","admin","000697100364",CameraIp,yuntai,1,1,2);

axS151_emu1.SetPTSpeed(80,30);

云臺控制代碼:

axS151_emu1.PTZRControl("L1");//向左轉;

axS151_emu1.PTZRControl("R1");//向右轉;

axS151_emu1.PTZRControl("U1");//向上轉;

axS151_emu1.PTZRControl("D1");//向下轉;

axS151_emu1.SetPTRange(range);//設置云臺速度;

4 測試

本課題智能家居系統的測試首先以單元測試為主,在完成了各個功能模塊后對整個系統進行綜合測試,確定個模塊間的兼容性,以保證整個系統的性能和穩定性。在本章節中將對燈光/家電控制系統測試,溫濕度監測模塊測試,視頻監控測試,短信收發測試,PC端軟件測試。測試環境為室內常溫,電磁環境為城市密集居民區。

(1)移動電話向智能家居GSM模塊的電話號碼“1521****590”發送短信進行家電控制,短信指令主要有以下四個:開啟燈1,關閉燈1,開啟燈2,關閉燈2。

(2)利用PC端軟件,打開后能否連接上核心控制器,是否有報錯,能否連上視頻監控,能否獲取到溫濕度,能否對家電進行控制并顯示實時狀態。

測試前準備工作:首先把GSM模塊、單片機、路由器以及各個功能子模塊連接好,并確定各信號線連接正確且穩定;在SIM300模塊里裝SIM卡,手機號碼為1521****590。測試實驗環境,如圖3所示.

圖3 測試實驗環境圖

4.1 家電燈光控制系統的測試

測試條件:首先用手機編寫短信內容“開啟燈1”發送至1521****590,觀察家電控制模塊1上的繼電器旁邊的紅燈是否亮起。

測試結果:GSM接受模塊接收到“開啟燈1”指令后,從機1上繼電器旁邊的紅燈亮起,說明控制成功,同時手機收到反饋短信“燈1已開啟!”效果,如圖4所示:

圖4 短信控制家電效果圖

4.2 PC端控制軟件測試

測試條件:首先打開軟件看能否連接上核心控制器,獲取到當前的溫濕度。然后連接監控看能否連接成功,再而控制云臺,觀察云臺是否移動,最后點擊燈1,燈2的開關控制,觀察控制模塊是否控制成功。

測試結果:軟件打開后自動連接上核心控制器,并獲取到實時溫濕度,監控連接成功,云臺控制靈敏,燈光控制成功并準確收到反饋信息,效果,如圖5所示:

圖5 PC端控制軟件效果圖

4.3 PC端控制軟件與短信控制聯動測試

測試條件:首先打開PC端控制軟件開啟燈1,觀察控制模塊是否控制成功。然后用手機發送“關閉燈1”到GSM模塊,觀察燈1的狀態,是否關閉成功,在收到“燈1已關閉!”同時,看PC控制端燈1狀態是否已變為關閉。

測試結果:軟件打開后對燈1控制成功并準確顯示狀態信息,同時短信控制成功后,在收到反饋短信的同時,PC端燈1狀態實時更新。

5 總結

本設計以實用為理念,以節約成本為前提,以實際工作需要為目的,更多地從實際應用的角度考慮。本文在以下3方面做了一些嘗試性的工作并獲得了實用型專利號:利用nRF24l01射頻芯片進行組網,具有低功耗,低成本的優勢,符合當前社會節能減排的要求;利用使用OpenWrt系統的無線路由器作為主機,既可以實現控制系統的功能,還可以繼續當無線路由器使用,節省了成本的同時也使無線路由器得到高效利用;從節點體積較小,可以將其放置到86電盒中,在低成本的前提下,便于普通家庭進行改造變成智能家居,無需另外鋪設線路以及更換無線插座。舊物改造,符合綠色環保的主流;多種方式進行遠程監控,可以利用應用軟件、短信和訪問網頁多種方式進行遠程控制,滿足各種用戶的需求,保障系統不受時間和空間的限制。隨著科技的進步、時代的發展,相信智能家居系統發展會越來越迅速,實現的功能也越來越強大,期待著智能家居系統像手機一樣走進千家萬戶,讓每個人都能感受到科技給我們帶來的舒適,便捷的家庭生活。

[1]沈兆軍,毛敏.利用GSM短信息業務實現智能家居[J].微計算機信息,2006,01X:211-213.

[2]王琴放.單片機原理及應用[M].北京:電子工業出版社:1997:129-136.

[3]賈瑞生,鄭永果,孫紅梅.基于嵌入式系統的智能住宅網絡模型[J].微型機與應用,2003,22(8):205-225.

[4]于敬芝,侯義斌,黃樟欽,等.AmI環境下智能家居控制系統的設計與實現[J].計算機應用研究,2008,25(2):613-615.

[5]史佳佳,劉宴兵.多射頻無線網絡中多信道分配方法的研究[J].計算機應用研究,2012,29(6):2290-2292.

[6]劉余,孟小華.嵌入式智能家居終端通信模塊的設計與實現[J].計算機工程與設計,2010,31(8):1689-1692.

[7]FOSTER,K.R..A world awash with wireless devices:Radio-frequency exposure issues[J].IEEE Microwave Magazine,2013,14(2):73-84.

[8]ZHANG XING,FU YAOXIAN,WANG YINGGUAN,et al.Design and implementation of smart home monitoring system based on msp430[C]// 2012 IEEE Symposium on Electrical &Electronics Engineering(EEESYM):102-105.

[9]沙占友.集成化智能傳感器原理與應用[M].北京:電子工業出版社.2004.

[10]劉松,趙忠,孫學磊,等.遠程家庭智能監控系統設計[M].北京:高等教育出版社,2009,98-106.

[11]吳佳興,李愛國.基于ARM和ZigBee的智能家居系統[J].計算機工程與設計,2011,32(6):1987-1990

[12]劉從平,何雨箐,餐飲業油煙測試中需注意的問題,[J]《環境監測管理與技術》,2003年4月

猜你喜歡
指令單片機系統
聽我指令:大催眠術
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
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 精品国产黑色丝袜高跟鞋| 国产亚洲视频在线观看| 内射人妻无套中出无码| 人妻少妇久久久久久97人妻| 国内自拍久第一页| 欧美人与牲动交a欧美精品| 日韩在线影院| av在线手机播放| 国产高清色视频免费看的网址| 国产精品亚洲一区二区三区在线观看| 国产精品亚洲片在线va| 国产精品林美惠子在线播放| 99久久精品视香蕉蕉| 成人无码一区二区三区视频在线观看 | 91偷拍一区| 天天做天天爱夜夜爽毛片毛片| 欧美日韩在线国产| 无码精品国产dvd在线观看9久 | 欧美v在线| 波多野结衣一级毛片| 国产色网站| 亚洲AV电影不卡在线观看| 永久免费精品视频| 欧美第一页在线| 欧美综合区自拍亚洲综合绿色| 丰满少妇αⅴ无码区| 成人伊人色一区二区三区| 成人午夜在线播放| 国内精自视频品线一二区| 成人无码区免费视频网站蜜臀| 久久久久亚洲精品无码网站| 男女男精品视频| 日韩在线观看网站| 国产乱人伦AV在线A| 免费午夜无码18禁无码影院| 免费A∨中文乱码专区| av在线手机播放| 日本久久网站| 国产亚洲精品资源在线26u| 91啪在线| 国产最爽的乱婬视频国语对白| 国产第一页屁屁影院| 国产精品综合色区在线观看| 成年人国产视频| 亚洲男人的天堂久久香蕉网| 亚洲色精品国产一区二区三区| 精品一区二区三区波多野结衣| 国产午夜精品一区二区三区软件| 九色在线视频导航91| 国产爽爽视频| 一级成人a毛片免费播放| 99久久亚洲精品影院| 亚洲无码视频一区二区三区| 欧美人在线一区二区三区| 一级毛片视频免费| 国产日产欧美精品| 欧美午夜网| 国产成人免费高清AⅤ| 夜色爽爽影院18禁妓女影院| 色婷婷成人网| 国产成人精品三级| 国产精品免费p区| 在线国产综合一区二区三区| 无码国产偷倩在线播放老年人| 国产内射一区亚洲| 国产亚洲欧美日本一二三本道| 好紧好深好大乳无码中文字幕| 婷婷综合缴情亚洲五月伊| 99精品这里只有精品高清视频| 无码专区第一页| 亚洲熟妇AV日韩熟妇在线| 国产精品久久久久久久久kt| 欧美日韩国产综合视频在线观看| 亚洲欧洲日韩综合色天使| 精品91在线| 亚洲精品高清视频| A级全黄试看30分钟小视频| 国产一级α片| 国产亚洲视频播放9000| 情侣午夜国产在线一区无码| 无码精品一区二区久久久| 国产SUV精品一区二区6|