缔冠期刊网

基于NodeMCU固件平台的RGB三色灯远程控制设计与实现

2022-06-09

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所示。

 

 

 

 

图1 系统整体架构图

Fig.1 The overall system architecture diagram

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所示。

 

 

 

 

图2 ESP8266无线通信模块硬件连接

Fig.2 ESP8266 wireless communication module

hardware connection

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所示。

 

 

 

 

图3 RGB三色灯硬件连接电路

Fig.3 RGB trichromatic lamp hardware

connection circuit

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所示。

 

 

 

 

 

 

 

 

图4 WIFI路由连接流程

Fig.4 WIFI router connection process

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所示。

 

 

 

 

 

 

 

 

 

图5 WIFI模块网络数据通信流程

Fig.5 WIFI module network data communication process

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 手机端云平台控制RGB三色灯

Fig.6 Mobile terminal cloud platform control RGB

trichromatic lamp

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应用工程技术与系统研究.

论文中心更多

期刊百科
期刊投稿 期刊知识 期刊审稿 核心期刊目录 录用通知 期刊版面费 投稿期刊推荐 学术问答
基础教育
小学语文 中学语文 小学数学 中学数学 小学英语 中学英语 物理教学 化学教学 生物教学 政治教学 历史教学 地理教学 科学教学 音乐教学 美术教学 体育教学 信息技术 班主任管理 校长管理 幼教 教育管理 微课教学 作文教学 德育教学 教学设计
医学论文
内科医学 外科医学 预防医学 妇科医学 检测医学 眼科医学 临床医学 药学论文 口腔医学 中西医 中医学 外科 护理 基础医学 急救医学 老年医学 医学实验 儿科医学 神经医学 兽医学 肿瘤医学 综合医学
职业教育
教育学原理 电影文学教育 学前教育 教育学管理 高等教育学 教育技术学 职业技术教育 成人教育学 特殊教育学 教育心理学 家庭教育 教育毕业 中专中职教育 教学设计 国学教育 学术研究 大学教育
药学卫生
社区门诊 医药学 医患关系 医院管理 疾病预防 保健医学 公共卫生 医学教育
文科论文
农业经济 工商管理毕业 会计毕业 行政管理 法律毕业 市场营销 经济毕业 汉语言文学 财务管理 物流管理 人力资源 旅游管理 国际贸易 物业管理 新闻学 企业管理 金融银行 社会科学 食品安全 办公档案 审计学 税务税收学 外国文学 哲学
理科论文
机电毕业 土木工程 计算机毕业 电气毕业 建筑毕业 电子商务 工程毕业 设计毕业 机械制造 汽车毕业 园林毕业 农学毕业 数控毕业 软件技术 水利工程 环境生态 畜牧渔业 化工毕业 科技创新 石油矿藏
论文格式
开题报告 论文题目 摘要关键词 目录提纲 论文致谢 参考文献 附录其他 论文答辩
职业论文
教育论文 经济论文 科技论文 财会论文 管理论文 医学论文 法学论文 文学论文 工业论文 建筑论文 农业论文 水利论文 计算机论文 社科论文 机械论文 生态环境 中西文化

先发表后付款 不成功可退款

权威机构认证 专注期刊10余年 1000余家杂志社长期合作

缔冠期刊网

首页 网站地图 返回顶部
Copyright © 1998- 缔冠期刊网