【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);
*/
相关推荐
艾莉丝努力练剑7 小时前
【AI大模型接入SDK】Gemini模型接入知识体系
java·开发语言·网络·人工智能·网络协议·学习·http
学linux的QQ蛋7 小时前
吃透传输层:UDP 无连接、TCP 可靠传输、套接字函数、粘包问题详解
单片机·tcp/ip·udp
Jay Kay7 小时前
RDMA中CQ为什么用轮询?——从CQ、Doorbell到GID的深度解析
运维·服务器·网络
SendTomo7 小时前
SendTomo 与 send.wang 全景对比评测与实战指南
网络·网络协议·tcp/ip·webrtc·p2p
Shadow(⊙o⊙)7 小时前
Linux网络——IP协议 子网 路由 IP的分片字段
服务器·网络·tcp/ip
时代的凡人7 小时前
Hub 和交换机的区别。
网络
Discipline~Hai8 小时前
Linux网络编程05-sqlite3数据库
linux·c语言·网络·数据库·sqlite·linux应用软件编程
Htr_8 小时前
GPT-6 Astra 使用指南:OpenAI 首个“关键级“网络安全模型的完整上手手册
网络·gpt
今夕资源网8 小时前
Windows 本地 HTTPS 配置教程:使用 CertTool 创建自签名证书并部署到宝塔
windows·网络协议·https
临沂GEO9 小时前
用好地域流量,提升内容自然搜索曝光
网络·python