现在我有一个需求,WIFI模块控制一个继电器,我要做的是如果内部程序跑乱了,造成了内部程序复位重启,那么控制继电器的状态不能改变

如果是设备断电了,然后又来电了,我需要的是继电器一定要是断开才好。不能加额外的电路,只能在程序中做判断

其实  内部程序跑乱了,造成了内部程序复位重启     和   设备断电了,然后又来电了     然后都是重新执行程序,不知道大家是如何做的

我的思路是。。。

先说一下WIFI模块的一个很大的优点,

大家有没有注意WIFI模块的引脚,假设配置了一个引脚为高电平,无论内部如何的利用软件复位,这个引脚都会保持高电平

还有就是,WIFI模块如果是断电上电那么引脚一开始一定是低电平,但是必须是这样配置

local PowerResetPin =
gpio.mode(PowerResetPin, gpio.OUTPUT)
local PowerReset = false
if gpio.read(PowerResetPin) == then
PowerReset = false
print("PowerReset = false")
else
PowerReset = true
print("PowerReset = true")
end

最终我的方案是:

先读取引脚是不是低电平,如果是,就是说是断电上电然后执行的程序,如果不是,就是说内部复位重启然后执行的程序

其实是自己人为设置的那个引脚输出的高电平,看下面的程序

local PowerResetPin =
gpio.mode(PowerResetPin, gpio.OUTPUT)
local PowerReset = false
if gpio.read(PowerResetPin) == then
PowerReset = false
print("PowerReset = false")
else
PowerReset = true
print("PowerReset = true")
end gpio.write(PowerResetPin, )

整个程序运行之前先运行上面的程序

如果 PowerReset = false  说明是内部程序复位重启然后执行的程序

如果 PowerReset = true   说明是断电上电然后执行的程序

好了就是这么简单,主要还是因为WIFI引脚有这个特点,软件复位可以保持住状态

九,ESP8266 判断是断电上电(强制硬件复位)之后运行的内部程序还是内部软件复位之后运行的程序(基于Lua脚本语言)的更多相关文章

  1. ESP8266使用详解--基于Lua脚本语言

    这些天,,,,今天终于看到了希望,,,天道酬勤 先说实现的功能...让ESP8266连接无线网,然后让它建立服务器,,我的客户端连接上以后,发给客户端发数据模块打印到串口,,往ESP8266串口里发数 ...

  2. 一,ESP8266下载和刷固件(基于Lua脚本语言)

    用自己的小板测试...... 安排上呢 一, ESP8266下载和刷固件(Lua开发----体验一下lua开发的魅力所在) 二, 控制一个灯亮灭 三, TCP服务器 四, TCP客户端 五, UDP ...

  3. 二,ESP8266 GPIO和SPI和定时器和串口(基于Lua脚本语言)

    https://www.cnblogs.com/yangfengwu/p/7514336.html 我们写lua用这个软件 如果点击的时候提示安装,,安装就行,,如果没有提示呢可以,按照下面链接的提示 ...

  4. 三,ESP8266 SPI(基于Lua脚本语言)

    https://www.cnblogs.com/yangfengwu/p/7520260.html 重点是说SPI通信协议,,,, 不要害怕协议因为协议是人规定的,,刚好我也是人......规定的协议 ...

  5. 八,ESP8266 文件保存数据(基于Lua脚本语言)

    https://www.cnblogs.com/yangfengwu/p/7533845.html 应该是LUA介绍8266的最后一篇,,,,,,下回是直接用SDK,,然后再列个12345...... ...

  6. 五,ESP8266 TCP服务器多连接(基于Lua脚本语言)

    https://www.cnblogs.com/yangfengwu/p/7524326.html 一些时间去准备朋友的元器件了... 接着写,,争取今天写完所有的文章,,因为答应了朋友下周5之前要做 ...

  7. 六,ESP8266 TCP Client(基于Lua脚本语言)

    今天不知道是不是让我姐挺失望.......很多时候都不知道自己努力的方向对不对,,以后能不能带给家人最美好的期盼...... Init.lua 没啥改变,,就改了一下加载Client.lua gpio ...

  8. 四,ESP8266 TCP服务器(基于Lua脚本语言)

    我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,....... 配置模块作为TCP服务器然后呢咱们连接服务器发指令控制LED亮灭 控制的指令呢咱就配 ...

  9. ESP8266 LUA脚本语言开发: 准备工作-为方便学习(统一使用本人编译的固件)

    前言 注:为了咱后期统一起来,所以统一使用我编译的LUA固件 一,固件打开了SmartConfig / AirKiss 配网功能 二,打开了SSL 三,其它模块化程序 刷空固件 一,为了保证固件是干净 ...

随机推荐

  1. CSS效果:CSS实用技巧制作三角形以及箭头效果

    实现如图所示的三角形图标: html代码如下: <div class="arrow-up"></div> <div class="arrow ...

  2. ActiveReports公开课开启报名,学习如何解决中国式复杂报表难题

    ActiveReports实战教学 90分钟解决中国式复杂报表六大需求 [开课时间]4月19日 [主讲老师]葡萄城资深报表专家 [培训方式]网络在线公开课 报名地址

  3. recovery 升级过程执行自定义shell命令

    有时候我们需要,在升级的过程中,执行一些shell命令,来完成我们的一些需求,利用升级过程,进行一些特殊化的操作,思路如下: 第一: 把我们需要执行的命令,写成一个test.sh脚本,然后在recov ...

  4. Cockpit subscriptions on CentOS 7 - This system is not registered with an entitlement server. You can use subscription-manager to register.

    下午安装 cockpit 时,使用 yum 工具的时候哦,出现如下信息: This system is not registered with an entitlement server. You c ...

  5. Tell Me About Yourself Example 1

    Tell Me About Yourself Employers ask this question because they want to know you have the relevant e ...

  6. 【待完成】[MapReduce_9] MapReduce 的 Shuffle 机制

    0. 说明 待补充...

  7. January 30th, 2018 Week 05th Tuesday

    The things you own end up owning you. 你占有的东西终将会占有你. When we are longing for something, we would be w ...

  8. system函数的应用

    system函数的两个简单应用 1.调用cmd命令.例:(打开计算器) #include <stdlib.h> int main() { system("calc"); ...

  9. el-table-column v-if条件渲染报错h.$scopedSlots.default is not a function

    我们在实际项目中经常会遇到el-table-column条件渲染出现报错的情况 报错内容: h.$scopedSlots.default is not a function 究其原因,是因为表格是el ...

  10. 一个CSS值转REM的Sublime Text插件

    CSSREM 一个CSS的px值转rem值的Sublime Text 3自动完成插件. 插件效果如下: 安装 下载本项目,比如:git clone https://github.com/flashli ...