littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于Arduino的1Wire网络设备监控与控制系统

项目简介

本项目是名为Tiny-OWC(Tiny OneWire Controller)的开源项目,基于Arduino开发。主要用于家庭地暖系统的控制,同时具有较高通用性,可用于其他场景。设备由TTGO T-display ESP32微控制器和用于与Maxim/Analog Devices 1-Wire设备通信的电路构成。能每15秒对1-Wire总线上的温度传感器采样,当温度超出预设范围,会向执行器发送信号控制房间供暖开关。

项目的主要特性和功能

  1. 设备扫描识别:扫描1-Wire网络连接设备,识别其类型和状态。
  2. 用户交互配置:通过TTGO LCD显示屏展示设置与状态,用户可通过网页配置设备参数,如温度阈值和执行器状态。
  3. 网络通信功能:支持MQTT协议与MQTT代理通信,进行数据交换和接收控制命令;支持将传感器读数定期发送到InfluxDB存储和查询。
  4. 自动化控制:依据设备状态和预设阈值,自动调整执行器状态,实现加热或冷却系统自动开关控制。
  5. 日志调试功能:通过串行监视器显示日志信息,便于调试和监控项目运行状态。
  6. 安全稳定保障:具备看门狗重置功能,防止ESP32程序因故障挂起或崩溃。

安装使用步骤

编译上传固件

  1. 确保计算机已安装Platform.io开源生态系统,若已安装,打开Platform.io终端运行pio upgrade --dev确保为最新版本。
  2. 用USB - C电缆连接计算机与ESP32微控制器。
  3. 在项目根文件夹运行以下命令编译并上传软件到ESP32: platformio run -t buildfs platformio run -t uploadfs platformio run -t upload

设置WiFi

  1. 首次启动Tiny - OWC控制器(或闪存已被擦除),需配置WiFi设置并绑定到WiFi接入点。Tiny - OWC会创建名为“Tiny - OWC_<某个唯一ID>”的接入点。
  2. 用计算机或智能手机连接该接入点,在网页浏览器访问http://172.217.28.1/setup/config
  3. 在页面选择家庭接入点,输入密码并点击“Apply”。若设备未自动保存设置并重启,可按下Tiny - OWC控制器上的重置按钮。

扫描设备

按下TTGO板上下部白色按钮(黑色重置按钮旁边)初始化扫描,显示屏显示“Scanning 1 - wire...”,扫描时间约一分钟,取决于设备数量。扫描完成后,LCD显示找到的设备列表。再次按下下部白色按钮确认并保存设备到闪存,或按下上部白色按钮取消扫描且不保存。

配置MQTT

  1. 确保WiFi连接正常,浏览到控制器的设置网页(http:///mqtt_settings)。
  2. 输入MQTT代理(服务器)的IP地址和端口,按需设置“Publish topic”和“Command topic”,或使用默认值。
  3. 保存设置并允许控制器重启。若正常,LCD显示屏应显示“WiFi: OK”和“MQTT: OK”。

配置InfluxDB

在设置页面的“InfluxDB”选项卡输入连接参数,启用将传感器读数定期发送到InfluxDB的功能。

擦除闪存

若Tiny - OWC控制器出现故障,仅重启无法解决,通过USB电缆将控制器连接到计算机,运行platformio run -t erase擦除所有设置和固件,之后重复“编译上传固件”和“设置WiFi”步骤。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】