【ESP32】ESP32 Arduino Modbus TCP主站程序

ESP32 Arduino Modbus TCP主站程序

安装库

代码

c 复制代码
#include <WiFi.h>
#include <Modbus.h>
#include <ModbusIP_ESP8266.h>
 
const char* ssid = "A000";
const char* password = "KONGTIAO";
IPAddress remote(10,35,0,123);  // Address of Modbus Slave device
const int serverPort = 502;
ModbusIP mb; 
 
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nConnected to WiFi");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
 
  mb.client();//设置esp32为主机
}
 
const int LOOP_COUNT = 10;
uint16_t res = 0;
uint8_t show = LOOP_COUNT;

void loop() {
  if (mb.isConnected(remote)) {   // Check if connection to Modbus Slave is established
    mb.readHreg(remote, 0, &res);  // Initiate Read Coil from Modbus Slave
  } else {
    mb.connect(remote);           // Try to connect if no connection
  }
  mb.task();                      // Common local Modbus task
  delay(1000);                     // Pulling interval
  Serial.println(res);
 
}
/**
uint16_t readHreg(IPAddress ip, uint16_t offset, uint16_t* value, uint16_t numregs = 1, cbTransaction cb = nullptr, uint8_t uint = MODBUSIP_UNIT);
uint16_t readIreg(IPAddress ip, uint16_t offset, uint16_t* value, uint16_t numregs = 1, cbTransaction cb = nullptr, uint8_t uint = MODBUSIP_UNIT);

uint16_t readHreg(uint8_t slaveId, uint16_t offset, uint16_t* value, uint16_t numregs = 1, cbTransaction cb = nullptr);
uint16_t readIreg(uint8_t slaveId, uint16_t offset, uint16_t* value, uint16_t numregs = 1, cbTransaction cb = nullptr);
*/
相关推荐
星寂樱易李4 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
pengyi8710155 小时前
独享IP池自动化维护方案,智能检测自动延长使用寿命
网络协议·tcp/ip·自动化
随身数智备忘录8 小时前
什么是设备管理体系?设备管理体系包含哪些核心模块?
网络·数据库·人工智能
第五文修8 小时前
手机OTG转TTL网口实现ping功能
网络·智能手机
德思特8 小时前
通过 Wireshark 抓取串口命令
网络协议·测试工具·wireshark
云边云科技_云网融合9 小时前
企业大模型时代的网络架构五层演进:从连接到智能的范式重构
网络·重构·架构
KnowSafe10 小时前
2026年SSL证书市场便宜且安全的SSL证书调研
网络协议·安全·ssl
xhbh66610 小时前
代理ARP (Proxy ARP) 是如何实现跨网段通信的?在Linux下如何配置?
服务器·网络·智能路由器·端口映射·映射
数智化管理手记12 小时前
精益生产3步实操,让现场从混乱变标杆
大数据·运维·网络·人工智能·精益工程
XiYang-DING12 小时前
【Java EE】TCP—可靠传输
网络·tcp/ip·java-ee