项目简介
本项目是名为Tiny-OWC(Tiny OneWire Controller)的开源项目,基于Arduino开发。主要用于家庭地暖系统的控制,同时具有较高通用性,可用于其他场景。设备由TTGO T-display ESP32微控制器和用于与Maxim/Analog Devices 1-Wire设备通信的电路构成。能每15秒对1-Wire总线上的温度传感器采样,当温度超出预设范围,会向执行器发送信号控制房间供暖开关。
项目的主要特性和功能
- 设备扫描识别:扫描1-Wire网络连接设备,识别其类型和状态。
- 用户交互配置:通过TTGO LCD显示屏展示设置与状态,用户可通过网页配置设备参数,如温度阈值和执行器状态。
- 网络通信功能:支持MQTT协议与MQTT代理通信,进行数据交换和接收控制命令;支持将传感器读数定期发送到InfluxDB存储和查询。
- 自动化控制:依据设备状态和预设阈值,自动调整执行器状态,实现加热或冷却系统自动开关控制。
- 日志调试功能:通过串行监视器显示日志信息,便于调试和监控项目运行状态。
- 安全稳定保障:具备看门狗重置功能,防止ESP32程序因故障挂起或崩溃。
安装使用步骤
编译上传固件
- 确保计算机已安装Platform.io开源生态系统,若已安装,打开Platform.io终端运行
pio upgrade --dev
确保为最新版本。 - 用USB - C电缆连接计算机与ESP32微控制器。
- 在项目根文件夹运行以下命令编译并上传软件到ESP32:
platformio run -t buildfs platformio run -t uploadfs platformio run -t upload
设置WiFi
- 首次启动Tiny - OWC控制器(或闪存已被擦除),需配置WiFi设置并绑定到WiFi接入点。Tiny - OWC会创建名为“Tiny - OWC_<某个唯一ID>”的接入点。
- 用计算机或智能手机连接该接入点,在网页浏览器访问http://172.217.28.1/setup/config。
- 在页面选择家庭接入点,输入密码并点击“Apply”。若设备未自动保存设置并重启,可按下Tiny - OWC控制器上的重置按钮。
扫描设备
按下TTGO板上下部白色按钮(黑色重置按钮旁边)初始化扫描,显示屏显示“Scanning 1 - wire...”,扫描时间约一分钟,取决于设备数量。扫描完成后,LCD显示找到的设备列表。再次按下下部白色按钮确认并保存设备到闪存,或按下上部白色按钮取消扫描且不保存。
配置MQTT
- 确保WiFi连接正常,浏览到控制器的设置网页(http://
/mqtt_settings)。 - 输入MQTT代理(服务器)的IP地址和端口,按需设置“Publish topic”和“Command topic”,或使用默认值。
- 保存设置并允许控制器重启。若正常,LCD显示屏应显示“WiFi: OK”和“MQTT: OK”。
配置InfluxDB
在设置页面的“InfluxDB”选项卡输入连接参数,启用将传感器读数定期发送到InfluxDB的功能。
擦除闪存
若Tiny - OWC控制器出现故障,仅重启无法解决,通过USB电缆将控制器连接到计算机,运行platformio run -t erase
擦除所有设置和固件,之后重复“编译上传固件”和“设置WiFi”步骤。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】