【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);
*/
相关推荐
加勒比之杰克2 小时前
从阻塞 IO 到 epoll:把 Linux 网络 IO 一次讲透
linux·网络·windows·select·多路转接·epoll·poll
Dynadot_tech2 小时前
完成注册的域名可以做什么?
网络·域名·dynadot·网站域名
有代理ip2 小时前
动态IP的安全性优化:策略升级与隐私保护实战指南
网络·网络协议·tcp/ip
CDN3602 小时前
高防 IP 回源 502/504 异常?源站放行与健康检查修复
网络·网络协议·tcp/ip
说实话起个名字真难啊2 小时前
Docker 入门之网络基础
网络·docker·php
LSL666_2 小时前
计算机网络——网络模型和TCP
网络·计算机网络
fqq33 小时前
Http方法详解
网络·网络协议·http
ꪶꪜ4453 小时前
vlan综合实验
linux·运维·网络
Bruce_Liuxiaowei3 小时前
HTTPie 完全指南:比 curl 更人性化的 HTTP 调试工具
网络·网络协议·http
亚空间仓鼠3 小时前
OpenEuler系统常用服务(八)
linux·运维·服务器·网络