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

sonoma下下来的ios固件在哪个位置 sonoff 刷固件_ci

sonoma下下来的ios固件在哪个位置 sonoff 刷固件_固件_02

固件项目地址: https://github.com/xoseperez/espurna ,发帖时最新的版本为 1.12.1。 简体中文翻译由本人完成,基于最新版固件。英文版固件下载地址:https://github.com/xoseperez/espurna 中文版:

sonoff-basic-chs-1.12.1.zipespurna-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. 连接开关、编程器和电脑,打开命令提示符,切换到解压到的位置,执行:

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

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