ESPurna项目
ESPurna简介
今天为大家介绍的是`ESPurna`固件。其实在之前介绍彩光灯带时,就很想向大家推荐这个固件了。这个固件出色的地方在于其极高的稳定性、漂亮而易用的界面和其极为人性化的一些隐藏设定,另外,可也以接入各类传感器。为什么说适合新手呢?看图就明白了。
项目地址:https://github.com/xoseperez/espurna
使用方法
固件烧录方法
以下是无需 Arduino 和 PlatformIO 的刷机方法:
-
如果你已经刷好了 Tasmota,直接在 Tasmota 的固件更新界面上传下载好的固件 (bin),重启以后就变成 ESPurna 了
-
没有 Python 的话需要先安装 Python,请在 https://www.python.org/downloads/windows/ 下载;(安装后须重新启动)
- 打开命令提示符,执行
pip install pyserial
-
下载附件esptool.zip,解压到方便使用的位置,也可以使用nodemcu-pyflasher ,下载工具有很多,本质上都是基于esptool封装的,选择自己合适的即可
-
连接开关、编程器和电脑,打开命令提示符,切换到解压到的位置,执行(D:\Downloads\espurna.bin 是固件的地址):
等待烧写完成python esptool.py -b 115200 --port COM3 write_flash --flash_freq 80m --flash_mode dout 0x000000 D:\Downloads\espurna.bin
如果刷机后没有出现热点,尝试长按按钮10秒恢复设置;默认密码是 fibonacci,(IP:http://192.168.4.1 后台默认用户:admin,默认密码:fibonacci 可以自己改为:admin,密码:admin888)可在配置文件修改;进入管理页面,这里推荐使用chrome,其他浏览器不排除提示密码错误的问题。
修改配置
接下来着重介绍一下固件里值得修改的选项,这里推荐使用vscode+platform,功能要比ArduinoIDE强大很多
- 修改刷机后的默认设置
- 传感器针脚设置
- 传感器防抖动
- DHT22 的小数位数
- 接入多个传感器(温湿度、光照、人体、物理开关)
- 禁用好心办坏事的崩溃检测
下面从文件入手介绍各个可修改的项目。(前面为设置项,后面是推荐修改为的值,不是原来的值)
defaults.h
只有一处建议修改:这是设置默认指示灯状态为“继电器状态”,相信大多数人都会使用这种模式吧。
#define LED1_MODE LED_MODE_FOLLOW
general.h
(1)默认管理员密码。不受强密码规则限制。注意:如果这里设置少于8位,平时使用没有问题,但是开关处在热点模式时,连接密码也是这个,所以开关就连不上了。
#define ADMIN_PASS "fibonacci"
#define WEB_FORCE_PASS_CHANGE 0
#define SYSTEM_CHECK_ENABLED 0
#define WIFI1_SSID "wuxianwang"
#define WIFI1_PASS "mimamima"
#define NTP_TIME_OFFSET 8
sensors.h
接下来还有一些重要设置,这些设置决定了编译完成的固件所支持的传感器类型。
首先请搜索“_SUPPORT”,找到你需要接入的传感器,把后面的数字改为 1!
例如,要接入光线传感器,则为:
#define BH1750_SUPPORT 1
(1)
#define SENSOR_READ_INTERVAL 6 // 默认的读取间隔
#define SENSOR_READ_MIN_INTERVAL 0 // 最小的读取间隔(可以通过TELNET和审查元素修改)
#define SENSOR_READ_MAX_INTERVAL 3600 // 最大的读取间隔
#define TEMPERATURE_MIN_CHANGE 0.0
#define HUMIDITY_MIN_CHANGE 0.2