亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NodeMCU固件平臺(tái)的RGB三色燈遠(yuǎn)程控制設(shè)計(jì)與實(shí)現(xiàn)

        2017-06-30 19:24:53王浩王東
        軟件工程 2017年5期

        王浩++王東

        摘 要:隨著無線通信技術(shù)的快速發(fā)展,基于WIFI無線通信的物聯(lián)網(wǎng)應(yīng)用應(yīng)運(yùn)而生。本文設(shè)計(jì)一種基于ESP8266的WIFI通信模塊在NodeMCU物聯(lián)網(wǎng)固件平臺(tái)上,利用Lua腳本語言編程實(shí)現(xiàn)RGB三色燈的無線控制功能,并通過ESP8266的WIFI通信模塊的STA通信方式連接路由器和云平臺(tái)服務(wù)器進(jìn)行通信,實(shí)現(xiàn)云平臺(tái)遠(yuǎn)程無線控制。實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)操作方便和可靠性強(qiáng),應(yīng)用范圍廣等優(yōu)勢(shì),具有一定的應(yīng)用前景。

        關(guān)鍵詞:ESP8266;NodeMCU;WIFI;RGB三色燈

        中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A

        1 引言(Introduction)

        隨著無線網(wǎng)絡(luò)通信技術(shù)和自動(dòng)控制技術(shù)的迅速發(fā)展,人們對(duì)遠(yuǎn)程智能控制產(chǎn)品的開發(fā)和應(yīng)用需求不斷擴(kuò)大,希望借助WIFI無線通信方式與智能化產(chǎn)品交互,并通過云平臺(tái)實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備的無線控制。本文提出一種在ESP8266WiFI芯片之上運(yùn)行NodeMCU固件平臺(tái),利用Lua腳本語言實(shí)現(xiàn)RGB三色燈的遠(yuǎn)程控制設(shè)計(jì)方案。通過NodeMCU物聯(lián)網(wǎng)固件平臺(tái)上的應(yīng)用開發(fā),使ESP8266WIFI模塊開機(jī)自動(dòng)連接路由器,連接物聯(lián)網(wǎng)云平臺(tái)服務(wù)器,登錄設(shè)備,監(jiān)聽服務(wù)器發(fā)送消息,并根據(jù)不同的消息遠(yuǎn)程控制RGB三色燈。

        2 總體設(shè)計(jì)(The overall design)

        為了提高傳統(tǒng)燈光照明控制系統(tǒng)的靈活性和可擴(kuò)展性,使燈光照明控制系統(tǒng)更加智能化,本系統(tǒng)以ESP8266WIFI無線通信處理模塊為載體,通過運(yùn)行含有對(duì)ESP8266WIFI硬件操作API函數(shù)等相關(guān)功能[1],以構(gòu)建NodeMCU固件平臺(tái),然后利用Lua腳本語言分別ESP8266WIFI無線通信處理模塊的WIFI路由功能、RGB三色燈的輸出引腳控制功能,以及和云平臺(tái)服務(wù)器進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)通信功能進(jìn)行編程,最后將ESP8266WIFI無線通信處理模塊連接路由器,實(shí)現(xiàn)通過云平臺(tái)服務(wù)器遠(yuǎn)程控制硬件設(shè)備。系統(tǒng)的整體架構(gòu)如圖1所示。

        3 系統(tǒng)的硬件設(shè)計(jì)(The hardware design of the

        system)

        3.1 NodeMCU固件平臺(tái)的硬件設(shè)計(jì)

        NodeMCU固件平臺(tái)的硬件載體是ESP8266WIFI無線通信模塊,它是一款超低功耗的UART-WIFI透?jìng)髂K,其硬件接口豐富,可支持UART、IIC、PWM、GPIO和ADC等接口,主要實(shí)現(xiàn)串口透?jìng)鱗2],PWM調(diào)控及GPIO控制等功能,另外ESP8266模塊支持STA/AP/STA+AP三種通信模式,本文主要使用GPIO控制功能和STA模式,通過ESP8266模塊可將用戶的物理設(shè)備連接到WIFI無線網(wǎng)絡(luò)上,再通過路由器連接互聯(lián)網(wǎng),最后手機(jī)或電腦通過互聯(lián)網(wǎng)實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制,ESP8266無線通信模塊硬件連接如圖2所示。

        3.2 RGB三色燈硬件設(shè)計(jì)

        RGB三色燈硬件模塊主要采用5050RGB共陽發(fā)光二極管,其工作電壓紅色為2.0—2.2V、藍(lán)色為3.0—3.3V、綠色為3.0—3.3V、工作電流為60mA,發(fā)光角度很寬,可達(dá)到120度[3]。這里將RGB三色燈中的三個(gè)引腳通過電阻連接至3.3V,另外三個(gè)引腳分別連接至ESP8266無線通信模塊中的GPIO14、GPIO13和GPIO12三個(gè)引腳,一旦將GPIO14、GPIO13和GPIO12三個(gè)引腳上的任何一個(gè)引腳輸出低電平,都將點(diǎn)亮RGB中對(duì)應(yīng)的發(fā)光二極管[4]。RGB三色燈硬件連接電路如圖3所示。

        4 系統(tǒng)的軟件設(shè)計(jì)(System software design)

        系統(tǒng)的軟件部分主要是利用Lua腳本語言在NodeMCU固件平臺(tái)上進(jìn)行腳本編寫實(shí)現(xiàn)相關(guān)功能,這里包括WIFI路由連接功能、RGB三色燈的輸出引腳控制功能、WIFI模塊網(wǎng)絡(luò)數(shù)據(jù)通信功能,以及云平臺(tái)服務(wù)器數(shù)據(jù)通信功能。

        4.1 WIFI路由連接功能程序設(shè)計(jì)

        為了能夠讓ESP8266無線通信模塊連接WIFI無線路由器,這里需要利用Lua腳本語言編寫WIFI路由連接程序,主要包括WIFI工作模式設(shè)置,station模式下的ssid和password設(shè)置,以及通過開啟定時(shí)器進(jìn)行station模式下路由AP連接[4],如果連接WIFI路由成功,則通過無線路由器的DHCP功能獲取客戶端IP地址[5],具體通信流程如圖4所示。

        WIFI路由連接主要功能代碼如下:

        wifi.setmode(wifi.STATION)//設(shè)置WIFI工作模式

        wifi.sta.config("無線網(wǎng)名稱","密碼")//配置SSID和Password

        wifi.sta.connect()//連接路由

        tmr.alarm(0,1000,tmr.ALARM_AUTO,function()//開啟定時(shí)器

        if wifi.sta.getip()==nil then//連接路由失敗

        print("IPunavaiable,Waiting...")

        else tmr.stop(0)//連接路由成功,關(guān)閉定時(shí)器

        print("Configdone,IPis"..wifi.sta.getip())//獲取IP地址

        4.2 RGB三色燈的輸出引腳控制功能程序設(shè)計(jì)

        由于ESP8266模塊所運(yùn)行的NodeMCU固件中含有對(duì)GPIO的輸入、輸出和中斷三種模式的設(shè)置選擇[6],為了利用Lua腳本語言控制任意一個(gè)燈的開和關(guān)兩個(gè)狀態(tài),這里需要在Lua編程中將ESP8266無線通信模塊中的GPIO14、GPIO13和GPIO12三個(gè)物理引腳映射NodeMCU固件中LEDB(IO5)、LEDR(IO7)和LEDG(IO6)三個(gè)引腳,并選擇為輸出模式。另外,在系統(tǒng)啟動(dòng)初始化階段,為了將RGB三色燈都處于關(guān)閉狀態(tài),根據(jù)前面的電路連接,需要將這三個(gè)引腳的IO口初始化為高電平輸出,主要功能代碼如下:

        gpio.mode(LEDR,gpio.OUTPUT);//將紅色燈所對(duì)應(yīng)的NodeMCU引腳設(shè)置輸出模式gpio.mode(LEDG,gpio.OUTPUT);//將綠色燈所對(duì)應(yīng)的NodeMCU引腳設(shè)置輸出模式

        gpio.mode(LEDB,gpio.OUTPUT);//將藍(lán)色燈所對(duì)應(yīng)的NodeMCU引腳設(shè)置輸出模式gpio.write(LEDR, gpio.HIGH);//將紅色燈所對(duì)應(yīng)NodeMCU引腳輸出為高電平,代表不點(diǎn)亮

        gpio.write(LEDG, gpio.HIGH);//將綠色燈所對(duì)應(yīng)NodeMCU引腳輸出為高電平,代表不點(diǎn)亮

        gpio.write(LEDB, gpio.HIGH);//將藍(lán)色燈所對(duì)應(yīng)NodeMCU引腳輸出為高電平,代表不點(diǎn)亮

        4.3 WIFI模塊網(wǎng)絡(luò)數(shù)據(jù)通信功能程序設(shè)計(jì)

        在物聯(lián)網(wǎng)快速發(fā)展的時(shí)代,設(shè)備與平臺(tái)服務(wù)器的連接交互的信息越來越多,為了將ESP8266無線通信模塊連接RGB三色燈之后,通過TCP方式連接云平臺(tái)服務(wù)器,并最終實(shí)現(xiàn)智能手機(jī)遠(yuǎn)程控制,這里需要使用帶有cjson數(shù)據(jù)通信處理協(xié)議的NodeMCU固件實(shí)現(xiàn)數(shù)據(jù)信息傳輸與交互[7],固件中的cjson是在物聯(lián)網(wǎng)領(lǐng)域數(shù)據(jù)傳輸中較為常用的協(xié)議,這里智能手機(jī)發(fā)出的控制命令通過云端服務(wù)器之后,云服務(wù)器以cjson格式將數(shù)據(jù)傳輸至ESP8266無線通信模塊中,通過decode函數(shù)進(jìn)行解碼,轉(zhuǎn)換成數(shù)字、字符串或者table數(shù)據(jù)類型的控制命令實(shí)現(xiàn)對(duì)設(shè)備的控制[8],然后將控制狀態(tài)信息(如燈已打開或者關(guān)閉狀態(tài)信息)通過encode()函數(shù)進(jìn)行編碼,將數(shù)字、字符串或者table數(shù)據(jù)類型轉(zhuǎn)換成cjson格式傳輸至云端服務(wù)中,具體WIFI模塊網(wǎng)絡(luò)數(shù)據(jù)通信流程如圖5所示。

        4.4 云平臺(tái)服務(wù)器數(shù)據(jù)通信

        本文選用貝殼物聯(lián)云平臺(tái)作為云端服務(wù)器,它的通信方式主要以TCP協(xié)議為主,UDP協(xié)議為輔的形式進(jìn)行通訊。在TCP協(xié)議的基礎(chǔ)上,可以直接使用TCP或者websocket建立長(zhǎng)連接,定時(shí)發(fā)送心跳數(shù)據(jù),保持設(shè)備在線,在線期間設(shè)備與服務(wù)器可進(jìn)行Json字符串格式數(shù)據(jù)進(jìn)行通訊,并實(shí)現(xiàn)實(shí)時(shí)更新,這里使用的用戶與設(shè)備間溝通指令格式如下:

        {"M":"say","ID":"xx1","C":"xx2"}\n,參數(shù)說明如下:

        M:固定(Method)。

        Say:固定,溝通指令。

        ID:固定。

        xx1:可變,發(fā)送目標(biāo)的唯一通訊ID。

        C:固定(content)。

        xx2:可變(數(shù)據(jù)類型自定,符合Json字符穿要求即可),發(fā)送指令內(nèi)容

        本系統(tǒng)主要功能代碼如下:

        Local function run()

        localcu=net.createConnection(net.TCP)//通過TCP連接云平臺(tái)服務(wù)器

        cu:on("receive",function(cu,c)//收到云平臺(tái)服務(wù)器cjson格式的數(shù)據(jù)信息

        r=cjson.decode(c)//解碼cjson格式數(shù)據(jù)

        if r.M=="say"then

        if r.C=="play"then

        gpio.write(LEDG,gpio.LOW)//通過控制引腳,點(diǎn)亮RGB三色燈中的綠色燈

        ok,played=pcall(cjson.encode,{M="say",ID=r.ID,

        C="LEDturnon!"})//將燈狀態(tài)信息編碼為cjson格式數(shù)據(jù)

        cu:send(played.."\n")//發(fā)送至云平臺(tái)服務(wù)器

        end

        end

        end)

        5 系統(tǒng)測(cè)試(The system test)

        為了驗(yàn)證WIFI模塊TCP連接云平臺(tái)服務(wù)器之后,Android手機(jī)通過2G/3G連接云服務(wù)器進(jìn)行遠(yuǎn)程控制RGB三色燈,這里選擇貝殼物聯(lián)云平臺(tái),手機(jī)端APP通過發(fā)出“Play”或者“Stop”,遠(yuǎn)程控制開燈和關(guān)燈,如圖6所示的手機(jī)端控制界面。

        6 結(jié)論(Conclusion)

        文中基于ESP8266WiFI芯片上運(yùn)行的NodeMCU固件平臺(tái),通過Lua腳本語言編程及云平臺(tái)通信,實(shí)現(xiàn)移動(dòng)終端設(shè)備通過2G/3G方式遠(yuǎn)程控制RGB三色燈。實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)操作方便和通信可靠,具有一定的應(yīng)用前景。

        參考文獻(xiàn)(References)

        [1] Komkrit Chooruang,Pongpat Mangkalakeeree.Wireless Heart Rate Monitoring System Using MQTT[J].Procedia Computer Science,2016,86:160-163.

        [2] Pavel Masek,et al.Implementation of True IoT Vision:Survey on Enabling Protocols and Hands-On Experience[J].International Journal of Distributed Sensor Networks,2016,2016:1-18.

        [3] T.A.Abdulrahman,et al.Design,Specification and Implementation of a Distributed Home Automation System[J].Procedia Computer Science,2016,94:473-478.

        [4] 姜仲,劉丹.ZigBee技術(shù)與實(shí)訓(xùn)教程[M].北京:清華大學(xué)出版社,2014:137-140.

        [5] 王浩,浦靈敏.物聯(lián)網(wǎng)技術(shù)應(yīng)用開發(fā)[M].北京:中國(guó)水利水電出版社,2015:113-115.

        [6] 張少軍.無線傳感器網(wǎng)絡(luò)技術(shù)及應(yīng)用[M].北京:中國(guó)電力出版社,2010:156-160.

        [7] 高守瑋,吳燦陽.ZigBee技術(shù)實(shí)踐教程[M].北京:北京航空航天出版社,2009:128-134.

        [8] 潘偉.基于ZigBee技術(shù)的無線傳感網(wǎng)絡(luò)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(9):24-27.

        作者簡(jiǎn)介:

        王 浩(1971-),男,碩士,副教授.研究領(lǐng)域:物聯(lián)網(wǎng)工程應(yīng)用研究.

        王 東(1969-),男,博士,教授.研究領(lǐng)域:RFID應(yīng)用工程技術(shù)與系統(tǒng)研究.

        国产三级不卡一区不卡二区在线 | 果冻蜜桃传媒在线观看| 偷窥偷拍一区二区三区| 亚洲av天堂免费在线观看| 亚瑟国产精品久久| 波多野结衣有码| 国产人妖赵恩静在线视频| 国产香蕉一区二区三区在线视频| 国产妇女乱一性一交| 久久久精品久久久国产| 久久青青草原国产毛片| 亚洲av麻豆aⅴ无码电影 | 在线a人片免费观看国产| 中文字幕日本在线乱码| 亚洲日韩中文字幕在线播放| www国产精品内射熟女| 久久夜色精品国产亚洲噜噜| 亚洲一区中文字幕一区| 狠狠躁18三区二区一区| 又黄又爽又色的视频| 无码AV无码免费一区二区| 国产精品熟女少妇不卡| 波多野结衣爽到高潮大喷| 又爽又黄禁片视频1000免费| 国产喷白浆精品一区二区| 大量漂亮人妻被中出中文字幕| 亚洲国产精品毛片av不卡在线| 亚洲国产福利精品一区二区| 99精品又硬又爽又粗少妇毛片| 中文字幕亚洲综合久久天堂av| 高潮迭起av乳颜射后入| 中文字幕精品久久一区二区三区 | 精品人妻一区二区视频| 亚洲av色影在线| 国产私人尤物无码不卡| 亚洲精品乱码久久久久久金桔影视| 99re久久精品国产| 伊人色综合九久久天天蜜桃| 亚洲精品视频中文字幕| 水蜜桃精品一二三| 国产日韩欧美911在线观看|