(中文固件发布) 极其适合新手的 Sonoff 固件 - ESPurna

今天为大家介绍的是 ESPurna 固件。其实在之前介绍彩光灯带时,就很想向大家推荐这个固件了。这个固件出色的地方在于其极高的稳定性、漂亮而易用的界面和其极为人性化的一些隐藏设定,另外,可也以接入各类传感器。为什么说适合新手呢?看图就明白了。


在这里插入图片描述

在这里插入图片描述

固件项目地址: https://github.com/xoseperez/espurna ,发帖时最新的版本为 1.12.1。

简体中文翻译由本人完成,基于最新版固件。



英文版固件下载地址:https://github.com/xoseperez/espurna



中文版:

sonoff-basic-chs-1.12.1.zip
espurna-chs-1.12.1.zip


以下是无需 Arduino 和 PlatformIO 的刷机方法:

0. 如果你已经刷好了 Tasmota,直接在 Tasmota 的 固件更新界面上传下载好的固件 (bin),重启以后就变成 ESPurna 了!!!!

1. 没有 Python 的话需要先安装 Python,请在 https://www.python.org/downloads/windows/ 下载;(安装后须重新启动)
2. 打开命令提示符,执行
pip install pyserial

3. 下载附件

esptool.zip

,解压到方便使用的位置。

4. 连接开关、编程器和电脑,打开命令提示符,切换到解压到的位置,执行:

python esptool.py -b 115200 --port COM3 write_flash --flash_freq 80m --flash_mode dout 0x000000 D:\Downloads\espurna.bin

D:\Downloads\espurna.bin 是固件的地址)

这就完了?没错!!!

如果刷机后没有出现热点,尝试长按按钮10秒恢复设置; ==默认密码是 fibonacci ==,==(IP:http://192.168.4.1 后台默认用户:admin,默认密码:fibonacci----自己改:admin,密码:admin888)==可在配置文件修改;进入管理页面不要使用Edge浏览器! 不要使用Edge浏览器! 不要使用Edge浏览器!会一直提示密码错误。

接下来着重介绍一下 固件里值得修改的选项
(关于配置环境的问题,可以参阅固件作者写的文档,arduino弄起来比较简单但是我一直没有成功才不得不换用PlatformIO。)

  • 修改刷机后的默认设置
  • 传感器针脚设置
  • 传感器防抖动
  • DHT22 的小数位数
  • 接入多个传感器(温湿度、光照、人体、物理开关)
  • 禁用好心办坏事的崩溃检测

下面从文件入手介绍各个可修改的项目。(前面为设置项,后面是推荐修改为的值,不是原来的值)

1. defaults.h

只有一处建议修改:
#define LED1_MODE           LED_MODE_FOLLOW

这是设置默认指示灯状态为“继电器状态”,相信大多数人都会使用这种模式吧。

2. general.h

(1)
#define ADMIN_PASS              "fibonacci"

默认管理员密码。不受强密码规则限制。注意:如果这里设置少于8位,平时使用没有问题,但是开关处在热点模式时,连接密码也是这个,所以开关就连不上了。

(2)
#define WEB_FORCE_PASS_CHANGE   0

首次登录不强制修改密码。

(3)
#define SYSTEM_CHECK_ENABLED    0

禁用系统崩溃检查。以免系统开启自我保护模式,禁用大部分功能,导致必须重置。

(4)
#define WIFI1_SSID              "wuxianwang"
#define WIFI1_PASS              "mimamima"

自动连接WiFi。

(5)
#define NTP_TIME_OFFSET         8

设置中国时区。

3. sensors.h
这是重头戏了——传感器设置!
首先请搜索“_SUPPORT”,找到你需要接入的传感器,把后面的数字改为 1!
例如,要接入光线传感器,则为:
#define BH1750_SUPPORT                  1

并不是只能接一个,只要针脚够用,想接几个接几个!为了避免针脚冲突, 在相应传感器的 SUPPORT 项下面,会有 PIN 设置,设置传感器的针脚。

(1)
#define SENSOR_READ_INTERVAL                6               // 默认的读取间隔
#define SENSOR_READ_MIN_INTERVAL            0               // 最小的读取间隔(可以通过TELNET和审查元素修改)
#define SENSOR_READ_MAX_INTERVAL            3600            // 最大的读取间隔

(2)
#define TEMPERATURE_MIN_CHANGE              0.0            

#define HUMIDITY_MIN_CHANGE                 0.2               

温度和湿度的上报最小改变值,在此范围内变化时不会上报数据,防止数据抖动。



猜你喜欢

转载自blog.csdn.net/hjf0124/article/details/86503680