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

基于Arduino Web Server的紅外家電控制

2015-10-28 09:02:32韋潛梁京章楊兆陽(yáng)
電視技術(shù) 2015年10期
關(guān)鍵詞:頁(yè)面指令按鈕

韋潛,梁京章,楊兆陽(yáng)

(廣西大學(xué)電氣學(xué)院,廣西南寧530004)

基于Arduino Web Server的紅外家電控制

韋潛,梁京章,楊兆陽(yáng)

(廣西大學(xué)電氣學(xué)院,廣西南寧530004)

利用Arduino Web Server技術(shù)針對(duì)傳統(tǒng)家電如何低成本地升級(jí)為智能家電,設(shè)計(jì)了一種通過網(wǎng)頁(yè)界面控制紅外家電的控制系統(tǒng)。該系統(tǒng)主要由Arduino Mega2560開發(fā)板、Arduino Ethernet Shield模塊、萬(wàn)能紅外模塊以及繼電器模塊組成,實(shí)現(xiàn)了通過網(wǎng)頁(yè)界面對(duì)紅外家電控制和對(duì)開關(guān)電器的電源通斷控制。該系統(tǒng)設(shè)計(jì)簡(jiǎn)單可靠且硬件成本較低,易于實(shí)現(xiàn),并通過實(shí)驗(yàn)驗(yàn)證了預(yù)期的功能。

Arduino;網(wǎng)頁(yè)控制;智能家電

【本文獻(xiàn)信息】韋潛,梁京章,楊兆陽(yáng).基于Arduino Web Server的紅外家電控制[J].電視技術(shù),2015,39(10).

在互聯(lián)網(wǎng)、信息技術(shù)不斷發(fā)展的今天,智能家電的發(fā)展越來(lái)越成熟,各種終端(如PC、平板PC、手機(jī)等)對(duì)家電的集中控制和遠(yuǎn)程控制技術(shù)日益完善。這些技術(shù)在很大程度上滿足了人們對(duì)家電便利化、信息化的需求。但是市場(chǎng)上的智能家電產(chǎn)品因系統(tǒng)結(jié)構(gòu)復(fù)雜,硬件價(jià)格昂貴,安裝入戶麻煩,限制了智能家居產(chǎn)品的普及。其中基于嵌入式技術(shù)作為服務(wù)平臺(tái)的解決方案最為流行[1-4],這種解決方案雖然功能齊全,但是硬件價(jià)格比較昂貴,不為廣大消費(fèi)者所接受。而控制端多采用應(yīng)用程序控制,針對(duì)每一種終端系統(tǒng)(如Windows、Linux、IOS等)都得設(shè)計(jì)配套應(yīng)用軟件,安裝繁瑣且互不兼容。

針對(duì)解決此類問題,本文提出了一種基于使用Arduino Mega2560單片機(jī)以及周邊模塊設(shè)計(jì)出了一種簡(jiǎn)單廉價(jià)的采用網(wǎng)頁(yè)控制的智能家電紅外和電源開關(guān)控制系統(tǒng)方案。該方案簡(jiǎn)單、低成本且不需要對(duì)傳統(tǒng)家電做任何改造處理,主要用于解決控制如電視、空調(diào)、電扇等可接受紅外信號(hào)的家電,以及如燈、電熱水器等單純開關(guān)電器的電源通斷。網(wǎng)頁(yè)控制的應(yīng)用也大大降低操作的復(fù)雜性,并具有很好的兼容性,可在任意終端如PC、手機(jī)、平板PC上通過使用瀏覽器操作。筆者在實(shí)驗(yàn)室搭建了實(shí)驗(yàn)平臺(tái),并通過了對(duì)空調(diào)和電視機(jī)頂盒的控制實(shí)驗(yàn)。

1 系統(tǒng)設(shè)計(jì)

將硬件通過網(wǎng)線接入局域網(wǎng)后,可以訪問其IP地址進(jìn)入網(wǎng)頁(yè)控制頁(yè)面。通過該網(wǎng)頁(yè)控制可將家電紅外遙控器上的多個(gè)按鍵一一進(jìn)行解碼、記錄存儲(chǔ),并發(fā)射出去控制家電。也可以通過該網(wǎng)頁(yè)控制家電電源的通斷。系統(tǒng)主要包括的模塊:Arduino Mega2560單片機(jī)開發(fā)板、Arduino Ethernet Shield以太網(wǎng)模塊、紅外模塊、繼電器模塊。

Arduino單片機(jī)模塊通過串行外設(shè)接口(Serial Peripher-al Interface,SPI)與Arduino Ethernet Shield模塊進(jìn)行通信連接;并通過串口3-Serial3與星科—紅外學(xué)習(xí)型模塊TRD001進(jìn)行通信連接。單片機(jī)模塊的5 V供電輸出串聯(lián)一個(gè)10 kΩ電阻接到一個(gè)LED正極,編號(hào)4引腳接到LED負(fù)極。單片機(jī)模塊3.3 V電壓輸出口接到紅外學(xué)習(xí)型模塊的3.3 V供電接口,且Gnd引腳與紅外學(xué)習(xí)型模塊G引腳連接。

5 V供電電源接到繼電器模塊線圈一段,另一端分別接上Arduino單片機(jī)編號(hào)為7,8的引腳。

Arduino Ethernet Shield模塊的網(wǎng)線接口接入網(wǎng)線,網(wǎng)線另一頭接入交換機(jī)或者是路由器,將整個(gè)系統(tǒng)接入局域網(wǎng)中。系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)圖

2 硬件系統(tǒng)設(shè)計(jì)

2.1單片機(jī)控制模塊

采用搭載了主控芯片為ATmega2560的Arduino Mega2560單片機(jī)開發(fā)板,供電電壓為5 V供電,可以對(duì)其他模塊供電,輸出電壓為3.3 V和5 V,電流最大為50 mA。此芯片負(fù)責(zé)對(duì)Ethernet模塊的初始化,向Ethernet模塊寫入HTML代碼生成靜態(tài)網(wǎng)頁(yè),并監(jiān)聽HTTP上的GET請(qǐng)求。同時(shí)根據(jù)GET請(qǐng)求對(duì)紅外模塊和繼電器模塊進(jìn)行相應(yīng)的操作。

2.2Arduino Ethernet Shield模塊

Arduino Ethernet Shield模塊是專門為Arduino單片機(jī)開發(fā)板定制的以太網(wǎng)模塊,有專用的引腳對(duì)接。通過該模塊可以設(shè)定IP地址、MAC物理地址以及端口號(hào)。該模塊可以接收由Arduino單片機(jī)發(fā)送的HTML代碼生成一個(gè)靜態(tài)網(wǎng)頁(yè),并作為網(wǎng)頁(yè)服務(wù)器允許同一網(wǎng)段的終端通過瀏覽器訪問該網(wǎng)頁(yè),且可以監(jiān)聽GET請(qǐng)求來(lái)處理響應(yīng)命令。

2.2.1啟用網(wǎng)頁(yè)服務(wù)器

首先將模塊與Arduino單片機(jī)對(duì)應(yīng)引腳相連。

然后設(shè)定網(wǎng)卡地址和端口,在對(duì)Arduino的編程中,調(diào)用<Ethernet.h>庫(kù)文件。用byte mac[]={0x00,0xAA,0xBB,0xCC,0xDE,0x02}語(yǔ)句設(shè)定模塊網(wǎng)卡的物理地址,用IPAddress ip(192,168,1,200)語(yǔ)句設(shè)定IP地址,用EthernetServer server(80)語(yǔ)句設(shè)定端口之后,調(diào)用Ethernet.begin(mac,ip)語(yǔ)句啟動(dòng)設(shè)定。

最后寫入網(wǎng)頁(yè),對(duì)定義一個(gè)類EthernetClient(庫(kù)文件已有類)的對(duì)象client,并通過調(diào)用client.print()方法來(lái)向Arduino Ethernet Shield模塊寫入HTML代碼。如寫入一個(gè)名為L(zhǎng)eran按鈕的代碼為[5]:

char*buttonLabel="Leran":

client.print("<a href="/?status="):

client.print(buttonLabel):

client.print(""><input type="button"value=""):

2.2.2監(jiān)聽GET請(qǐng)求

調(diào)用server.begin()方法讓其開始監(jiān)聽請(qǐng)求。當(dāng)在控制網(wǎng)頁(yè)點(diǎn)擊對(duì)應(yīng)按鈕或下拉選單時(shí),Arduino Ethernet Shield模塊會(huì)接收到對(duì)應(yīng)的GET請(qǐng)求。Arduino Mega2560單片機(jī)內(nèi)編程調(diào)用server.available()方法可以判斷是否有監(jiān)聽到命令,如果有則調(diào)用server.read()將命令復(fù)制到字符串變量readString內(nèi),通過判斷該字符串的內(nèi)容來(lái)判斷是何種命令。如點(diǎn)擊Learn按鈕時(shí),字符串變量readString內(nèi)會(huì)存入“GET/?status=Learn”。

2.3獲取網(wǎng)頁(yè)操作指令

當(dāng)在控制網(wǎng)頁(yè)點(diǎn)擊對(duì)應(yīng)按鈕或下拉選單時(shí),Arduino Ethernet Shield模塊會(huì)接收到對(duì)應(yīng)的GET請(qǐng)求。Arduino Mega2560單片機(jī)內(nèi)編程調(diào)用server.available()方法可以判斷是否有監(jiān)聽到命令,如果有則調(diào)用server.read()將命令存入字符串變量readString內(nèi),通過判斷該字符串的內(nèi)容來(lái)判斷是何種命令。如點(diǎn)擊Leran按鈕時(shí),readString內(nèi)會(huì)存入GET/?status=Learn字符串。

2.4紅外學(xué)習(xí)、儲(chǔ)存、發(fā)射模塊

星科-紅外學(xué)習(xí)型模塊TRD001是一款串口型全功能紅外學(xué)習(xí)控制模塊,可以學(xué)習(xí)16~80 kHz載波頻率的遙控器,涵蓋了大部分的遙控。該模塊核心為STM32F101C8,模塊為驅(qū)動(dòng)電壓為3.3 V,采用USART2_TX、USART2_RX串口進(jìn)行通信。

2.4.1學(xué)習(xí)指令

1)向模塊發(fā)送{0xAA,0xHH,0xLL,0xLL,0xHH,0xAA}(HH為鍵值高8位,LL為鍵值低8位)的數(shù)據(jù),命令模塊進(jìn)入學(xué)習(xí)狀態(tài)。

2)模塊返回?cái)?shù)據(jù){0xAA,0xHH,0xLL,0xLL,0xHH,0xAA},通知Arduino已經(jīng)進(jìn)入學(xué)習(xí)狀態(tài)。

3)學(xué)習(xí)成功后返回“OK”,此時(shí)紅外解碼數(shù)據(jù)未存入模塊內(nèi)。

2.4.2測(cè)試指令

1)向模塊發(fā)送{0x05,0xFF,0xFF,0xFF,0xFF,0x05}的數(shù)據(jù),命令模塊發(fā)送當(dāng)前學(xué)習(xí)的紅外遙控指令以用來(lái)驗(yàn)證學(xué)習(xí)的指令是否正確。

2)指令外發(fā)完畢后返回“OK”。

2.4.3保存指令

1)向模塊發(fā)送{0x0A,0xFF,0xFF,0xFF,0xFF,0x0A}的數(shù)據(jù),命令模塊保存當(dāng)前學(xué)習(xí)的紅外指令。

2)指令保存完畢后返回“OK”。2.4.4控制指令

1)向模塊發(fā)送{0x5A,0xHH,0xLL,0xLL,0xHH,0x5A}的數(shù)據(jù),命令模塊將已保存的對(duì)應(yīng)紅外指令發(fā)送出去。

2)指令發(fā)送完畢后返回“OK”。

引腳定義如表1所示。

表1 引腳定義

2.5繼電器模塊

繼電器模塊為(C3A6)2路繼電器擴(kuò)展板5 V版,可以控制各種家用電器開關(guān)。控制電壓為5 V。受控電壓電流最大負(fù)載為AC:250 V/10 A;DC:30 V/10 A。

2.6系統(tǒng)供電結(jié)構(gòu)

電源采用5 V供電對(duì)Arduino Mega2560單片機(jī)開發(fā)板和繼電器模塊供電。從Arduino Mega2560單片機(jī)開發(fā)板引出的3.3 V引腳和Gnd地引腳對(duì)紅外模塊供電。系統(tǒng)各模塊供電電路結(jié)構(gòu)圖如圖2所示。

圖2 系統(tǒng)供電結(jié)構(gòu)圖

3 軟件設(shè)計(jì)

Arduino單片機(jī)模塊啟動(dòng)后,初始化Arduino串口Serial和串口Serial3波特率為9 600,對(duì)Arduino Ethernet Shield模塊進(jìn)行初始化,設(shè)置其網(wǎng)卡物理地址MAC為{0x00,0xAA,0xBB,0xCC,0xDE,0x02},IP地址為192.168.1.200。向Arduino Ethernet Shield模塊寫入HTML代碼,生成HTML頁(yè)面,該頁(yè)面有選擇按鍵的下拉選單和“Learn”、“Send”和“On/off”按鈕,分別對(duì)應(yīng)學(xué)習(xí)、發(fā)射紅外以及控制繼電器通斷功能。

當(dāng)同一局域網(wǎng)內(nèi)的終端瀏覽器訪問http://192.168.1.200的頁(yè)面,并點(diǎn)擊對(duì)應(yīng)的按鈕或者是下拉選單時(shí),觸發(fā)GET請(qǐng)求。Arduino接收到GET請(qǐng)求時(shí),判斷命令種類。轉(zhuǎn)發(fā)相對(duì)應(yīng)的命令至紅外模塊或者是改變相應(yīng)的引腳電壓控制繼電器的關(guān)斷。訪問的初始頁(yè)面如圖3所示。

1)在網(wǎng)頁(yè)中點(diǎn)擊Select下拉選單,并點(diǎn)擊key0選項(xiàng)時(shí)。系統(tǒng)會(huì)監(jiān)聽到“GET/?status=key0”請(qǐng)求,將對(duì)0號(hào)按鍵進(jìn)行操作。默認(rèn)操作為0號(hào)鍵。

2)在網(wǎng)頁(yè)中點(diǎn)擊Learn按鈕時(shí)。系統(tǒng)會(huì)監(jiān)聽到“GET/?status=Learn”請(qǐng)求,判斷是相應(yīng)鍵的操作,如果是0鍵,則向紅外模塊發(fā)送{0xAA,0x00,0x01,0x01,0x00,0xAA}指令使其進(jìn)入學(xué)習(xí)狀態(tài)。并重寫HTML網(wǎng)頁(yè)生成“yes”按鈕等待測(cè)試指令。此時(shí)使用家電遙控器對(duì)準(zhǔn)紅外模塊按下按鍵,如果紅外模塊接收到外信號(hào),系統(tǒng)LED會(huì)點(diǎn)亮,等待進(jìn)入測(cè)試。等待測(cè)試頁(yè)面如圖4所示。

圖3 初始頁(yè)面(截圖)

3)在網(wǎng)頁(yè)中點(diǎn)擊Test按鈕時(shí),系統(tǒng)會(huì)監(jiān)聽到“GET/?status=Test”請(qǐng)求,通過向紅外模塊發(fā)送命令{0x05,0xFF,0xFF,0xFF,0xFF,0x05}來(lái)將之前記錄的紅外信號(hào)發(fā)射到電器上,看是否起作用。并重寫HTML網(wǎng)頁(yè)生成“yes”和“no”的按鈕,讓用戶選擇是否控制家電成功。判斷頁(yè)面如圖5所示。

4)在網(wǎng)頁(yè)中點(diǎn)擊No按鈕時(shí),系統(tǒng)會(huì)監(jiān)聽到“GET/?status=No”請(qǐng)求,寫入HTML初始頁(yè)面,供用戶選擇再學(xué)習(xí)。

5)在網(wǎng)頁(yè)中點(diǎn)擊Yes按鈕時(shí),系統(tǒng)會(huì)監(jiān)聽到“GET/?status=Yes”請(qǐng)求,通過向紅外模塊發(fā)送命令{0x0A,0xFF,0xFF,0xFF,0xFF,0x0A}來(lái)將之前學(xué)到的紅外信號(hào)永久保存下來(lái)以供長(zhǎng)期使用。并寫入HTML初始頁(yè)面,供用戶選擇再學(xué)習(xí)別的按鍵,或是使用已記錄紅外信號(hào)的按鍵。

圖4 測(cè)試頁(yè)面(截圖)

6)在網(wǎng)頁(yè)中點(diǎn)擊Send按鈕時(shí),系統(tǒng)會(huì)監(jiān)聽到“GET/?status=Send”請(qǐng)求,判斷是對(duì)哪個(gè)鍵的操作,如果是0鍵,則向紅外模塊發(fā)送{0x5A,0x00,0x00,0x00,0x00,0x5A}指令,來(lái)命令紅外模塊將0號(hào)鍵對(duì)應(yīng)的存儲(chǔ)器學(xué)習(xí)儲(chǔ)存的紅外指令發(fā)送出去,并重寫初始HTML頁(yè)面。

7)在網(wǎng)頁(yè)中點(diǎn)擊On/off按鈕時(shí),系統(tǒng)會(huì)監(jiān)聽到“GET/?status=On/off”請(qǐng)求,通過控制6,7引腳的電平來(lái)控制繼電器的通斷,并重寫初始HTML頁(yè)面。

程序流程如圖6所示。

圖5 判斷頁(yè)面(截圖)

圖6 系統(tǒng)流程圖

4 測(cè)試結(jié)果

通過實(shí)驗(yàn)成功實(shí)現(xiàn)了控制數(shù)字電視機(jī)頂盒,以及控制美的電扇的開關(guān)、調(diào)速和繼電器的通斷。實(shí)驗(yàn)中分別學(xué)習(xí)了電視的“更換下一個(gè)頻道”、“更換上一個(gè)頻道”、“調(diào)高音量”、“調(diào)低音量”,并發(fā)射紅外對(duì)電視進(jìn)行控制;學(xué)習(xí)了美的遙控風(fēng)扇的“開”、“關(guān)”、“調(diào)速”等紅外信號(hào),并對(duì)電風(fēng)扇進(jìn)行相應(yīng)控制。硬件實(shí)物如圖7所示。

圖7 實(shí)物圖

5 結(jié)論

本文設(shè)計(jì)并實(shí)驗(yàn)了一種基于Arduino Web Server技術(shù)的紅外家電控制系統(tǒng),集合了Arduino技術(shù)和Web技術(shù),實(shí)現(xiàn)了紅外家電的便利遠(yuǎn)程控制。經(jīng)過實(shí)驗(yàn),功能全部實(shí)現(xiàn),符合設(shè)計(jì)要求。為傳統(tǒng)家電過渡升級(jí)到智能家電提供了一個(gè)新的解決方案。

[1]趙津,朱三超.基于Arduino單片機(jī)的智能避障小車設(shè)計(jì)[J].自動(dòng)化與儀表,2013(5):1-4.

[2]劉南君,毛培宏.基于Arduino Mega2560單片機(jī)的簡(jiǎn)易智能割草機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[J].安徽農(nóng)業(yè)科學(xué),2012,40(36):17899-17901.

[3]南春輝,李博,武穎.基于Web技術(shù)的嵌入式智能家居系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2013,37(3):86-89.

[4]LUBBERS P,ALBERS B,SALIM F.HTML5程序設(shè)計(jì)[M].2版.劉靖,李杰,劉淼,譯.北京:人民郵電出版社,2012.

[5]Tamberg.Web Controlled Arduino LED[EB/OL].[2014-07-04]. http://www.instructables.com/id/Arduino-Web-LED/.

韋潛(1989—),碩士生,主研網(wǎng)絡(luò)化控制與信息工程;

梁京章(1964—),碩士,教授、碩士生導(dǎo)師,研究方向?yàn)榫W(wǎng)絡(luò)化控制與信息工程;

楊兆陽(yáng)(1984—),碩士生,主研綜合自動(dòng)化。

Infrared-control System of Household Appliances Based on Arduino Web Server

WEI Qian,LIANG Jingzhang,YANG Zhaoyang
(Electrical College,Guangxi University,Nanning 530004,China)

To improve traditional household appliances into smart household appliance at low cost,the design is presented in this thesis with the help of a web-controlled system for infrared appliances based on Arduino web server technology.The system consisting of the Arduino Mega2560 development board,Arduino Ethernet Shield module,infrared recording and transmitting module and relay module realizes the control of infrared household appliances and switching device.It shows that this design is simple,reliable,low cost,and easy to realize.The system archieves expected function through experiment.

Arduino;web-controlled;smart household appliance

TP399

A

10.16280/j.videoe.2015.10.010

時(shí)雯

2014-08-19

猜你喜歡
頁(yè)面指令按鈕
這些按鈕能隨便按嗎?
大狗熊在睡覺
聽我指令:大催眠術(shù)
當(dāng)你面前有個(gè)按鈕
刷新生活的頁(yè)面
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
內(nèi)心不能碰的按鈕
坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
同一Word文檔 縱橫頁(yè)面并存
主站蜘蛛池模板: 久热re国产手机在线观看| 99久久99视频| 丝袜高跟美脚国产1区| 亚洲动漫h| 国产特级毛片| 91免费国产高清观看| 亚洲精品va| 国产成人精品一区二区免费看京| 视频一区亚洲| 午夜视频免费试看| 好吊色妇女免费视频免费| 精品三级网站| 一区二区三区国产| 国产亚洲精品97在线观看| 国禁国产you女视频网站| 青青青草国产| 婷婷五月在线视频| 成年网址网站在线观看| 操美女免费网站| 亚洲天堂精品在线| 亚洲Aⅴ无码专区在线观看q| 久久久久久久久18禁秘 | 色婷婷综合激情视频免费看| 国产幂在线无码精品| 666精品国产精品亚洲| 一区二区在线视频免费观看| 亚洲一区二区三区国产精品 | 99精品福利视频| 国产日韩欧美中文| 2020国产精品视频| 亚洲精品自拍区在线观看| 国产视频自拍一区| а∨天堂一区中文字幕| 无码一区中文字幕| 四虎永久在线精品国产免费 | 日本AⅤ精品一区二区三区日| 国内精品久久人妻无码大片高| 亚洲性视频网站| 国产精品浪潮Av| 呦系列视频一区二区三区| 久久99精品国产麻豆宅宅| 国产一国产一有一级毛片视频| 色网站在线视频| 亚洲va视频| 午夜欧美理论2019理论| 91视频免费观看网站| 国产91线观看| 色天天综合| 成人亚洲天堂| 国产成人精品男人的天堂下载| 亚洲高清在线天堂精品| 99ri精品视频在线观看播放| 刘亦菲一区二区在线观看| 五月天综合网亚洲综合天堂网| 精品福利网| www成人国产在线观看网站| 高清无码一本到东京热| 毛片久久网站小视频| 极品国产一区二区三区| 热九九精品| 免费jizz在线播放| 国产高清在线观看91精品| 久久a毛片| 啪啪啪亚洲无码| 福利片91| 欧美翘臀一区二区三区| 日韩福利视频导航| 九一九色国产| 欧美综合区自拍亚洲综合绿色| 欧美国产在线看| 亚洲精品福利网站| 亚洲成a人片在线观看88| 午夜激情福利视频| 亚洲成a人片在线观看88| 一区二区在线视频免费观看| 国产精品护士| 亚洲狼网站狼狼鲁亚洲下载| 网友自拍视频精品区| 素人激情视频福利| 欧美一级高清片久久99| 亚洲成人播放| 老色鬼欧美精品|