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

基于NodeMCU固件平臺的RGB三色燈遠程控制設計與實現

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

王浩++王東

摘 要:隨著無線通信技術的快速發展,基于WIFI無線通信的物聯網應用應運而生。本文設計一種基于ESP8266的WIFI通信模塊在NodeMCU物聯網固件平臺上,利用Lua腳本語言編程實現RGB三色燈的無線控制功能,并通過ESP8266的WIFI通信模塊的STA通信方式連接路由器和云平臺服務器進行通信,實現云平臺遠程無線控制。實驗結果表明:該系統操作方便和可靠性強,應用范圍廣等優勢,具有一定的應用前景。

關鍵詞:ESP8266;NodeMCU;WIFI;RGB三色燈

中圖分類號:TP273 文獻標識碼:A

1 引言(Introduction)

隨著無線網絡通信技術和自動控制技術的迅速發展,人們對遠程智能控制產品的開發和應用需求不斷擴大,希望借助WIFI無線通信方式與智能化產品交互,并通過云平臺實現對遠程設備的無線控制。本文提出一種在ESP8266WiFI芯片之上運行NodeMCU固件平臺,利用Lua腳本語言實現RGB三色燈的遠程控制設計方案。通過NodeMCU物聯網固件平臺上的應用開發,使ESP8266WIFI模塊開機自動連接路由器,連接物聯網云平臺服務器,登錄設備,監聽服務器發送消息,并根據不同的消息遠程控制RGB三色燈。

2 總體設計(The overall design)

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

3 系統的硬件設計(The hardware design of the

system)

3.1 NodeMCU固件平臺的硬件設計

NodeMCU固件平臺的硬件載體是ESP8266WIFI無線通信模塊,它是一款超低功耗的UART-WIFI透傳模塊,其硬件接口豐富,可支持UART、IIC、PWM、GPIO和ADC等接口,主要實現串口透傳[2],PWM調控及GPIO控制等功能,另外ESP8266模塊支持STA/AP/STA+AP三種通信模式,本文主要使用GPIO控制功能和STA模式,通過ESP8266模塊可將用戶的物理設備連接到WIFI無線網絡上,再通過路由器連接互聯網,最后手機或電腦通過互聯網實現對設備的遠程控制,ESP8266無線通信模塊硬件連接如圖2所示。

3.2 RGB三色燈硬件設計

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

4 系統的軟件設計(System software design)

系統的軟件部分主要是利用Lua腳本語言在NodeMCU固件平臺上進行腳本編寫實現相關功能,這里包括WIFI路由連接功能、RGB三色燈的輸出引腳控制功能、WIFI模塊網絡數據通信功能,以及云平臺服務器數據通信功能。

4.1 WIFI路由連接功能程序設計

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

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

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

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

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

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

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

print("IPunavaiable,Waiting...")

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

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

4.2 RGB三色燈的輸出引腳控制功能程序設計

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

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

gpio.mode(LEDB,gpio.OUTPUT);//將藍色燈所對應的NodeMCU引腳設置輸出模式gpio.write(LEDR, gpio.HIGH);//將紅色燈所對應NodeMCU引腳輸出為高電平,代表不點亮

gpio.write(LEDG, gpio.HIGH);//將綠色燈所對應NodeMCU引腳輸出為高電平,代表不點亮

gpio.write(LEDB, gpio.HIGH);//將藍色燈所對應NodeMCU引腳輸出為高電平,代表不點亮

4.3 WIFI模塊網絡數據通信功能程序設計

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

4.4 云平臺服務器數據通信

本文選用貝殼物聯云平臺作為云端服務器,它的通信方式主要以TCP協議為主,UDP協議為輔的形式進行通訊。在TCP協議的基礎上,可以直接使用TCP或者websocket建立長連接,定時發送心跳數據,保持設備在線,在線期間設備與服務器可進行Json字符串格式數據進行通訊,并實現實時更新,這里使用的用戶與設備間溝通指令格式如下:

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

M:固定(Method)。

Say:固定,溝通指令。

ID:固定。

xx1:可變,發送目標的唯一通訊ID。

C:固定(content)。

xx2:可變(數據類型自定,符合Json字符穿要求即可),發送指令內容

本系統主要功能代碼如下:

Local function run()

localcu=net.createConnection(net.TCP)//通過TCP連接云平臺服務器

cu:on("receive",function(cu,c)//收到云平臺服務器cjson格式的數據信息

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

if r.M=="say"then

if r.C=="play"then

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

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

C="LEDturnon!"})//將燈狀態信息編碼為cjson格式數據

cu:send(played.."\n")//發送至云平臺服務器

end

end

end)

5 系統測試(The system test)

為了驗證WIFI模塊TCP連接云平臺服務器之后,Android手機通過2G/3G連接云服務器進行遠程控制RGB三色燈,這里選擇貝殼物聯云平臺,手機端APP通過發出“Play”或者“Stop”,遠程控制開燈和關燈,如圖6所示的手機端控制界面。

6 結論(Conclusion)

文中基于ESP8266WiFI芯片上運行的NodeMCU固件平臺,通過Lua腳本語言編程及云平臺通信,實現移動終端設備通過2G/3G方式遠程控制RGB三色燈。實驗結果表明:該系統操作方便和通信可靠,具有一定的應用前景。

參考文獻(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技術與實訓教程[M].北京:清華大學出版社,2014:137-140.

[5] 王浩,浦靈敏.物聯網技術應用開發[M].北京:中國水利水電出版社,2015:113-115.

[6] 張少軍.無線傳感器網絡技術及應用[M].北京:中國電力出版社,2010:156-160.

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

[8] 潘偉.基于ZigBee技術的無線傳感網絡研究[J].計算機技術與發展,2008,18(9):24-27.

作者簡介:

王 浩(1971-),男,碩士,副教授.研究領域:物聯網工程應用研究.

王 東(1969-),男,博士,教授.研究領域:RFID應用工程技術與系統研究.

主站蜘蛛池模板: 日韩精品少妇无码受不了| 欧美亚洲国产一区| 日本91视频| 国产不卡一级毛片视频| 天堂成人av| 四虎影视库国产精品一区| 看国产毛片| 欧美在线视频不卡第一页| 伊伊人成亚洲综合人网7777| 国产va欧美va在线观看| 无码AV高清毛片中国一级毛片| 91国内视频在线观看| 91午夜福利在线观看| 国产高清在线观看91精品| 午夜三级在线| 国产精品三级av及在线观看| 内射人妻无码色AV天堂| 国产二级毛片| 国产在线八区| 亚洲精品动漫| 欧美国产精品不卡在线观看| 亚洲欧美不卡中文字幕| 亚洲国产欧美国产综合久久 | 日韩一区二区三免费高清| 日韩欧美91| 人妻一区二区三区无码精品一区 | 五月婷婷伊人网| 四虎永久在线精品国产免费| 欧美精品啪啪| 四虎成人免费毛片| 日本亚洲成高清一区二区三区| 亚洲日韩AV无码一区二区三区人| 91麻豆精品国产高清在线| 国产精品对白刺激| 啊嗯不日本网站| 波多野结衣视频网站| 国产乱码精品一区二区三区中文| 最新国产成人剧情在线播放| 日本一区二区三区精品AⅤ| 99在线视频精品| 亚洲第一视频免费在线| 国产精品青青| 国产成人综合久久精品尤物| 91精品最新国内在线播放| 久久综合伊人 六十路| 欧美国产在线一区| 亚洲综合中文字幕国产精品欧美| 国产乱视频网站| 真人高潮娇喘嗯啊在线观看| 欧美三级日韩三级| 日韩高清在线观看不卡一区二区| 国内精品久久久久久久久久影视 | 成人在线综合| 亚洲国产天堂久久综合226114| 久久永久免费人妻精品| 国产精品一区二区不卡的视频| 亚洲最猛黑人xxxx黑人猛交| 狠狠ⅴ日韩v欧美v天堂| 国产91九色在线播放| 日韩在线播放中文字幕| 看av免费毛片手机播放| 2021国产精品自产拍在线| 国产XXXX做受性欧美88| 精品伊人久久久久7777人| 国产成人精品综合| 99久视频| 亚洲精品在线观看91| 一区二区三区四区精品视频 | 国产成人乱无码视频| 精品一区二区久久久久网站| 香蕉eeww99国产精选播放| 国产福利影院在线观看| 精品国产女同疯狂摩擦2| 亚洲色欲色欲www网| 国产91在线|中文| 少妇人妻无码首页| 99久久国产综合精品2023| 美女一区二区在线观看| 精品三级在线| 毛片免费视频| 国产一区亚洲一区| 久久综合亚洲鲁鲁九月天|