作者：回到未来
时间：2025-05-01
邮箱：375091377@qq.com
QQ：375091377
 
1.此模块基于米思齐官方库的AVR库，通过AI协助修改而成（都是修改了引用库的不同），所以不能跟官方的模块同时存在。
2.此模块由于传感器众多，无法一一测试，无法保证所有代码都有效。
3.因代码是AVR修改而成，因个人能力不足无法成功让所有的传感器都成功，所以把不能成使用的模块都隐藏了，请谅解。

修复内容：
修复433MHz设置引脚代码不跟随变化（这也是导致米思齐3.0导入后不能用的原因）。

删除内容：

1.删除了执行器，因库无法兼容，而且部分内容与ESP8266的内容相同。
2.删除了显示屏Nokia5110，因库无法兼容。
3.删除了LCD1264与ESP8266的内容相同。

增加内容：
1.增加传感器：电流检测传感器INA226，六轴传感器MPU6500，激光测距传感器VL53L0X，血氧传感器MAX30105（同样适用MAX30102），温湿度传感器AHT20与AHT30（使用AHT20库即可）。
2.在网络里，修改MQTT为通用MQTT增强库。此库可以与EMQX对接的Home Assistan进行通讯和解析。
3.在网络里，增加一键AP配网，此库基于官方修改，保留配网模式和升级选项，有设置超时退出配网模式功能，增加离线运行功能。
4.在网络里，增加修改板官方mixio_MQTT客户端，具有断网重连功能。
5.在控制里增加PWM频率设置功能。
6.在控制里增加重启模块。
7.在控制里增加16位串口输出（移植天问软件输出方式）。
8.在算法里增加电池容量的计算，具体使用方法在右下角的例程--INA226电量检测（这里感谢网友：艾迪生的代码共享）。
特别注意：没有特殊情况下不要使用初始化框，框住传感器！！！
这会改变代码的位置，导致报错。


2025-5-13更新：
（一）一键配网增加热点AP的设置：
1.默认不填写，默认的AP名称是ESP-MAC地址（与官方一样）
2.AP热点可以设置中文或者其他，方便区分。
（二）优化断网阻止程序：
1.直接使用判断网络是否掉线来阻止程序的运行。
2.该程序的写法与用判断（如果网络状态=3）一样：
（三）通用MQTT增强版优化：
1.客户端集成自动订阅所有主题，所以删除相应的手动代码
2.增加MQTT服务器断开检测


2025-5-21更新：
1.在控制内新增重启模块，弥补ESP32没有重启的模块：
   注释：在米思齐2.0的ESP8266的控制内有重启模块，使用的代码是：
void loop() {

 ESP.restart();
}

米思齐3.0的版本代码是：
void(* resetFunc) (void) = 0;
void setup() {
}
void loop() {
  resetFunc();
}
代码试图通过调用一个空指针函数来实现重启，可能会导致不可预测的行为。
2.在其他功能里面新增2个模块：
1.HA的yaml配置：
 用于Home Assistan的yaml文件编辑使用，更快更方便的编写。
2.ESPnow增强版（同时可以连接网络）：
1.模块可以让ESPxx使用ESPnow通讯，同时可以连接WIFI网络受控。
2.可能码冲突的问题，不能使用AP模式配网。

目前发现的问题：
1.ESP8266只能对ESP8266同时使用WIFI和ESPnow，同样ESP32系列只能对ESP32系列同时使用WIFI和ESPnow。
2.如果同时烧录WIFI和ESPnow后发现ESPnow不起作用的话，单独烧录一次ESPnow相应的代码后再同时烧录WIFI和ESPnow。

2025-6-3更新：
1.传感器MPU6500增加角度的获取。由于Arduino IDE里的示例没有角度获取的说明，在写模块的时候以为没有该功能，最近发现MPU6050有，测试发现MPU6500同样可以实现。
2.修正PCF8574传感器的引脚下拉问题，由于前期没有注意，让引脚下拉映射成了ESP8266的引脚了。
2025-6-5更新：
在控制内新增PWM频率设置模块，弥补没有PWM频率设置模块：
1.增加pwm频率设置模块，为了满足某些特定情况下需要设置pwm频率的情况，比如用于调光灯，默认是1000Hz，设置更高的频率可以避免闪烁问题。范围只能是100Hz ~ 90000Hz。

2025-6-8更新：
1.修正传感器SHT30地址不跟随设置变化的问题，此问题在AVR就如此。
2.因兼容性问题，删除传感器HTU21D中的一种初始化方式。
3.修正传感器MLX90614地址没有在代码中显示的问题。

2025-6-15更新：
1.传感器里增加传感器AHT20与AHT30的支持（使用AHT10的库也可以支持AHT20与AHT30，只是群里有人问有没有AHT30的库，做完后发现AHT10与AHT20、AHT30库通用）。
2.控制里增加16位串口输出（移植天问软件输出方式）。

2025-6-17更新：
在传感器里面可更改名字是为了在IIC总线上接入多个传感器读取数据用的。
1.更新传感器AHT20可以改名字的选项。
2.更新传感器MPU6500可以改名字的选项。
3.更新传感器SHT30可以改名字的选项。
4.修复通用MQTT增强版不会断网重连问题：
在循环里直接增加判断MQTT是否断开：
void loop(){
  		client.loop();
     		if (!client.connected()) {
         reconnectMQTT();
     }
2025-6-18更新：
1.网友反馈：通用MQTT增强版可以使用不同的账号，使用同一个客户端ID，经测试发现使用同一个客户端ID会导致无法通讯（用户和密码是用于登录服务器，客户端ID是服务器用来区分不同的设备）。
2.为了避免不可预测的BUG删除通用MQTT增强版引用了一个WIFI库。

2025-6-20更新：
1.调整传感器INA226模块的显示，合并成一个模块。
2.在算法里增加电池容量的计算，具体使用方法在右下角的例程--INA226电量检测。
2025-6-21更新：
1.恢复执行器里的步进电机，有网友反馈这个库比较好用。顺带修复了一个BUG。
2.修复433Hz不能显示的问题（原因是之前加入过ESPNOW后删除，可能是误删内容了）
2025-6-23更新：
一. 在控制里增加ESP32的PWM设置：
实际上官方的PWM设置也是有的如下，只是这个描述很多人无法理解。

注释：
1.分辨率（PWM Resolution）：它决定了能控制占空比的精细程度。越高分辨率越好，			但有一个限制条件：如果你设置分辨率为 16 位（65536 步），但频率设为 1MHz，那么每		个周期只有 1 微秒，根本来不及完成这么多步计数！
精度需求: 如果你的应用需要非常精细地控制占空比，则应选择较高的分辨率（如 12 或 16 位）。如果只是简单的开/关控制或粗略调节，则较低的分辨率（如 8 位）就足够了。
频率要求: 高分辨率意味着每个周期内有更多的计数值，这可能会影响你能够达到的最大频率。如果你的应用需要高频 PWM 输出，那么你可能需要降低分辨率以确保能达到所需的频率。
2.通道：ESP32有16 个硬件通道（就是16个信号发生器），每个通道可以设置不同的频率和分辨率，多个引脚可以共用一个通道，输出相同 PWM 波形。可以同时输出多个不同频率/占空比的 PWM 信号给不同的引脚。
3.在不同分辨率的情况下，需要相同的占空的情况下设置不同的数值。我的版本改良了需要计算的问题，更方便使用。
二.在通信里增加低功耗蓝牙
低功耗蓝牙说明：
1. 由于ESP32系列大部分不支持A2DP：A2DP是经典蓝牙的一部分，用于高质量的音频传输，开发此模块时没想到有什么应用场景，就直接开发成类似ESPNOW的使用方法了
2. 2个模块蓝牙通讯需要一个成为服务端，一个是客户端。
    首先：烧录服务端并记下服务端的名称，保持模块上电状态。然后客户端烧录扫描模块，
    等待烧录完成，等待窗口打印出服务端名称下的MAC地址，把地址填写入客户端。
剩下的就如类似ESPNOW的使用方法了。
三.ESPNOW增加功率调节功能
为了兼顾功耗，将ESPNOW设置成可调节发射功率功能，低功耗意味着发射距离受限。

2025-6-25更新：
1.修复低功耗蓝牙不能执行命令的问题
2025-6-25更新：
1.修复低功耗蓝牙客户端无法直接把消息返回的问题。
2025-6-29更新：
1.修复蓝牙服务端死机问题。
2.修正PWM的细节：
ESP32 有16个独立的PWM生成器可设置范围（占空比50%下测试）：
8位分辨率：5~310000Hz
10位分辨率：5~310000Hz
16位分辨率：5~310000Hz
ESP32-S3有8个独立的PWM生成器可设置范围（占空比50%下测试）：
8位分辨率：5~156000Hz
10位分辨率：5~156000Hz
16位分辨率：5~156000Hz
ESP32-C3有 6个独立的PWM生成器。
ESP32-S2有16个独立的PWM生成器。

2025-7-8更新：
1.再次对PWM设置的优化：
 之前把设置占空比映射成了0~100，虽然方便了设置，但是丢失了更小精度的调节。映射后相当 7位分辨率的设置。
  重新调整让模块可以设置更高精度需求。
2.网络里增加ping测试工具。
3.修复了传感器HTU21D不能获取温度的问题。
2025-7-10更新
1.传感器-时钟模块里增加本机开机时间的模块

2025-7-18更新
1.把ESPNOW集成到网络里，再也不需要区分是ESP8266或者ESP32了，跟随导入的开发板不同显示不同。
2.PWM控制也跟随导入的开发板不同显示不同。

2025-7-19更新
1.更新一键配网，解决OTA升级问题。
  由于之前的一键配网需要在无法连接网络的情况下才能进行，还是不方便进行升级。此次更新后，更方便的进行OTA升级。
在网络连接后，浏览器登录单片机的IP地址进行升级，列如：
http://192.168.1.100/update

1. Firmware 是用来更新程序代码。
2. FileSystem 是用来更新文件系统内容，比如：项目依赖于一些静态文件（如网页资源）。
2025-7-21更新
1.更新一键配网：
1.加入了非堵塞代码，配置WIFI密码的时候，如果程序不需联网的，不需要再等待就开始执行。
2.为了安全性，增加设置OTA网页账号密码，如不需要请设置空。
3.如果OTA账号密码忘记，请离开当前网络（或者关闭路由器）重启ESP在配置WIFI网页即可升级。
4.已知bug：第一次配置WIFI密码，在不断电重启的情况下无法登录OTA网页，需要断电重启才能进行。
2025-7-24更新
1.更新一键配网：
  增加清除WIFI配置信息的积木。
2025-7-25更新
1.优化ESPNOW模块，可以使用多个积木向多个设备发送消息。
2.优化了一个电池电量计算的错误。
2025-7-29更新
1.优化ping工具的细节
2025-8-1更新
1.翻译了传感器里的AS608指纹传感器：
2.在指纹传感器里的示例里都增加了局部声明P（官方的库原本也是没有的，不增加声明也是无法编译成功）：


2025-8-12更新
1.由于二维码在ESP32上无法编译成功，所有只保留ESP8266上显示。

2025-10-12更新
1. 修正INA226最大电流显示的问题
2. 增加INA226接线图

2025-10-13更新
1.把WIFI一键AP配置改成不允许初始化框框住
2.把WIFI一键AP配置的配置页面改成中文
3.在控制中增加多功能按键的扩展，比如防抖时间，单击时间、长按时间、是否长按、多次按键后执行。
2025-10-14更新
1.在算法里增加3种滤波的算法（这里再次感谢网友：艾迪生的代码共享）。
2.修复反馈的MQTT增强版不显示的问题，初步判断是需要一件更新米思齐，如果还是无法显示，但是需要使用的话，需要使用其他文件夹里的单独安装包。
2025-10-16更新
1.通讯里的I2C和SPI增加引脚的设置
2025-10-28更新
修正传感器内SHT30无法编译的问题
2025-11-1更新

1.替换显示器里的TFT驱动程序，改成了LovyanGFX驱动库。
2.集成LVGL部分控件
2025-11-13更新
1.修复LVGL编辑器的路径问题
2.控制里新增基于时间的防抖积木---此积木可以反向使用，当被触发后超时多少再执行xx

2025-11-21更新
1.控制里增加任务管理器
2025-12-17更新
1.修复TFT驱动使用数字模块输入-1导致代码生成（-1）的问题。这样可以使用数字模块输入-1不使用引脚了。
2025-12-25更新
1.修复任务管理器在多个任务积木的时候生成多余的代码BUG。
2.通用MQTT里增加了支持MQTT TLS的连接客户端。此客户端可以使用EMQX官网每月的额度。
2025-12-28更新
1.修复LovyanGFX驱动库在ESP8266下无法编译的问题，同时优化了滚动显示占用内存的问题。

2026-1-13更新
1.在一键配网中增加已保存的WIFI名称积木和信号强度积木。
2.在通用MQTT中增加homeassist自动发现的积木。
3.在显示器中增加数码管TM16XX系列库（未验证）。

2026-1-19更新
1.修复LovyanGFX驱动库滚动文字在屏幕上残留的问题

2026-1-22更新
1.修复LVGL文字滚动的BUG
2.更新传感器INA226的库版本，增加IIC引脚的设置。
2026-1-25更新
1.修复LovyanGFX驱动库XPT2046不能设置引脚的问题。
2.在通信里增加红外功能
2026-1-25更新

1.修复MQTT里的HA自动发现的BUG。

2026-2-8更新
1.修复MQTT里的HA自动发现的BUG。
2.在通信里增加ESP32CAN库的支持。
3.在网络里增加检索json的功能。
2026-2-11更新
1.修复传感器里的BH1750设置工作模式时无法编译的问题。

2026-3-8更新
1.删除显示里的OLED库。
2.新增ESP32睡眠模式库。
3.新增ST7305显示库。
4.新增XL9555 - IO扩展库。
5.修复串口16进制可以接入变量。
6.修复ESP32CAN库无法生成代码。
7.查询IIC通信地址无法生成代码的问题。
8.修复解析json无法生成代码的问题。
9.增加了一些案例。
10.修复全局变量里一个积木无法生成代码的问题。

2026-3-11更新
1.修正LovyanGFX一些UI上的细节和代码生成重复内容的问题。

2026-3-12更新
1.修复MQTT里TLS连接积木在ESP32下编译报错的问题，同时处理其他细节问题。
2.修复TM166XX显示编译错误的问题。
3.修复VL53L0X译错误的问题。
4.新增8种滤波算法。

2026-3-14更新
1.在显示里增加U8G2通用库。

2026-3-15更新
1.16进制串口输出改成软串口。
2.修复LovyanGFX驱动库在设置滚动y坐标不为0时有残影现象。

2026-3-18更新
1.传感器SHT30增加自定义设置IIC引脚

2026-3-26更新
1.修复Json解析在ESP8266下报错

2026-3-30更新
1.优化了U8G2显示库的部分功能

2026-4-4更新
1.简化任务管理器的UI界面，更简单的操作，
2.存储里增加SD卡和MAX98357，可以组成一个播放SD卡MP3播放器
3.增加IINMP441

2026-4-8更新
1.修复滤波算法在某些情况下出现错误的问题。
2.完善SD卡的积木，并且修复了打开文件的错误。
3.MAX98357在米思齐3.0下编译报错的问题。

2026-4-10更新
1.优化解析json的积木

2026-4-24更新
显示器里的TFT增加图片显示的功能

2026-4-28更新
1.修复任务管理器无法执行多次的问题。

2026-5-1更新
优化HA自动发现的一些细节和描述

2026-5-7更新
增加海凌科的雷达传感器LD2450

2026-5-11更新
1.修复MQTT可能与库兼容导致无法打开的问题。
2.修复多功能按键编译报错的问题。

2026-5-15更新
1.修复TFT显示驱动库在某些情况下无法控制背光灯的问题

2026-5-25更新
1.删除了红外发射不兼容的积木。
2.修复LovyanGFX驱动库在设置英文字体时编译错误。

2026-5-31更新
1. 优化一键配网掉线重连的方案
2.修复LovyanGFX驱动库在某些情况下编译失败的问题。
3.其他优化

2026-6-5更新：
1.红外库IRremoteESP8266更新到最新2.9.0版本（包含空调控制）。

2026-6-11更新：
1.修正INA226在ESP8266下编译失败。
2.在ESP8266下隐藏ESP32CAN
3.增加SGP30传感器

2026-6-17更新：
1.增加SD卡和LovyanGFX显示驱动库选择SPI控制器，避免冲突。











