本帖最后由 沙漠之痕 于 2018-11-7 12:40 编辑
打开开发工具,前面已经介绍如何安装,创建桌面快捷方式,在桌面打开如图所示软件图标(我的是win10系统,不清楚在其他系统下是什么样子的) 烧写固件成功后,就可以编写自己的lua程序进行测试了... 首先正确连接串口模块与wifi控制器;串口模块的RX接我wifi控制器的TX; 串口模块的TX接wifi控制器的RX;串口模块的5V接wifi控制器的5V; 串口模块的GND接wifi控制器的GND。 烧写完固件后打开开发工具”ESPlorer.jar” , 连接好串口,在开发工具中正确打开连接wifi控制器的串口, 按下wifi控制器上的复位按钮开发工具上会提示“Formatting file system. Please wait... ” 此时只有等待.... 当开发工具上的串口打印信息再次提示”lua: cannot open init.lua” 时, wifi模块可以正常的下载lua程序
通过提示信息可知Wifi模块默认的lua文件是init.lua 所以单文件只有一个init.lua文件操作GPIO 下面创建一个init.lua文件 首先看下怎么使用print()在串口打印信息; Init.lua文件: print("hello 8266") Init.lua文件结束
我们还可以使用另一种方式打印信息: init.lua文件: str = "hello 8266" print(str) init.lua文件结束
下面开始写控制继电器的程序: 控制继电器吸合,并通过串口打印”relay open” init.lua 文件 gpio.mode(1, gpio.OUTPUT) gpio.write(1, 1) print("relay open") init.lua 文件结束
为什么要使用gpio.write(1,1)呢,控制继电器不是GPIO5吗? 因为模块是通过IO索引号查找GPIO的对应关系如下图:
那么我使用一个变量存储这个IO索引号, 修改GPIO时只需要改这个变量就可以了;同理继电器状态是不是也可以使用一个变量保存 我们试着去关闭继电器通过指示灯和串口打印查看: init.lua文件: relay = 1 RelayStat = "relay close" gpio.mode(relay, gpio.OUTPUT) gpio.write(relay, 0) print(RelayStat ) init.lua文件结束 我们同样创建一个空白文档,命名为init.lua Esp8266控制GPIO的函数操作文档参考: nodemcu点readthedocs点io/en/master/en/modules/gpio/#gpiomode
这里我们使用GPIO的输出模式控制继电器 通过原理图可知控制继电器需要相应的GPIO输出输出高电平;这里的gpio.HIGH就是1;也就是设置输出高电平
交流QQ: 1813763867 QQ群:455163546
|