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

2021-05-13 10:55

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

 

基于NodeMCU固件平台的RGB三色灯远程控制设计与实现(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:习近平青年教育思想及其对青年工作的启示

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: