littlebot
Published on 2025-04-09 / 2 Visits
0

【源码】基于Particle ArgonBoron的Modbus RTU控制器

项目简介

本项目是一个基于Particle Argon或Boron微控制器的通用Modbus RTU驱动固件,适用于RS - 485 Featherwing。借助Particle.io移动应用,用户能方便地将Modbus RTU设备连接到手机,实现控制与监控。

项目的主要特性和功能

  1. Modbus RTU通信:支持与Modbus RTU设备通信,默认设备ID为1,波特率9600,N81(无奇偶校验,8数据位,1停止位)。
  2. 硬件兼容性:兼容RS - 485 Featherwing和Particle Argon/Boron微控制器。
  3. 移动应用控制:可通过Particle.io移动应用设置和获取Modbus保持寄存器的值。
  4. 固件更新:支持通过WiFi或Cellular进行固件的编译和闪存更新。
  5. 事件监控:每分钟自动发布状态更新事件,用户能自定义状态报告中的寄存器。

安装使用步骤

硬件连接

  1. 将RS - 485 Featherwing连接到Modbus RTU设备,连接D1 <-> A和D2 <-> B。
  2. 将Boron或Argon插入RS - 485 Featherwing。
  3. 使用5.2 - 36v DC(300mA @ 5.2vdc,或150mA @ 24vdc)或通过USB端口为RS - 485 Featherwing供电。
  4. 使用Particle移动应用将Particle Boron(Cellular)或Argon(WiFi)连接到Particle云。

固件安装

  1. 复制本项目仓库。
  2. 安装Particle命令行工具
  3. 编辑src/particle-generic-modbus.ino文件,设置设备ID、波特率和奇偶校验。
  4. 编译并闪存固件: bash cd particle-generic-modbus particle flash device_name 或者,对于USB连接的Particle Boron: bash particle compile argon|boron --saveTo=out.bin particle serial list particle serial flash out.bin

设备控制与监控

  1. 打开Particle.io应用,通过以下命令控制设备:
  2. 获取第一个寄存器的值(无符号整数): bash GetOrSet_Register_Unsigned_regORregEQvalue_0_65535 0
  3. 设置寄存器8的值(无符号整数): bash GetOrSet_Register_Unsigned_regORregEQvalue_0_65535 8=25
  4. 每分钟自动发布状态更新事件到GenericModbus/status,用户可自定义状态报告中的寄存器。

下载地址

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