402096806
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 158 点
下载积分: 1371 分
在线时间: 21(小时)
注册时间: 2013-12-11
最后登录: 2024-10-21
查看402096806的 主题 / 回贴
楼主  发表于: 4天前
ModbusV103.ino.nodemcu.zip (220 K) 下载次数:24 ESP8266 MODBUS TCP转RTU //本程序用来作为MODBUS TCP从站(TCP SERVER模式),最多连接4个客户端,收到MODBUS TCP
//数据后软串口转发出去,串口采用MODBUS RTU模式,9600 N81格式,D1发送,D2接收。
//LED联网时慢闪,配网时快闪。有客户端接入后偶尔闪一下,无客户端接入的话,长亮。

//8266采用STA+AP模式,电脑可以两种连接方式和8266通讯。
//1,电脑先连上8266的AP,然后电脑再作为客户端连接8266的SERVER进行通讯
//2,电脑和8266都连上路

#include "main.h"

#define  VERSION   "V1.03"

void Led_On(void)                             //模块上二极管亮
{
   digitalWrite(Led, LOW);                    //高为关,低为开
   Led_State = true;
}

void Led_Off(void)                            //模块上二极管灭
{
   digitalWrite(Led, HIGH);                   //高为关,低为开
   Led_State = false;
}

bool autoConfig()                             //用之前的配网参数自动联网,联网时LED慢闪
{
  WiFi.mode(WIFI_STA);                        //STA模式
  WiFi.begin();
  for (int i = 0; i < 20; i++)                //20S还没连上网络的话返回错误
  {
    int wstatus = WiFi.status();              //读取网络状态
    if (wstatus == WL_CONNECTED)              //已经连上的话打印信息
    {
      Serial.println("AutoConfig Success");
      Serial.printf("SSID: %s\r\n", WiFi.SSID().c_str());
      Serial.printf("PSW:  %s\r\n", WiFi.psk().c_str());
      Serial.print("IP:   ");
      Serial.println(WiFi.localIP());         //得到IP地址
      return true;
    }
    else
    {
      Serial.print("AutoConfig Waiting......");
      Serial.println(wstatus);
      delay(1000);
      Led_Flag = !Led_Flag;
      digitalWrite(Led, Led_Flag);
    }
  }
  Serial.println("AutoConfig Faild!" );
  return false;
}

void smartConfig()                            //一键配网函数,这时LED快闪
{
  WiFi.mode(WIFI_STA);
  Serial.println("\r\nWaiting for Smartconfig");
  delay(2000);
  WiFi.beginSmartConfig();                    //等待配网

  while (1)                                   //死循环,直到配好网络
  {
    Serial.print(".");
    delay(400);
    Led_Flag = !Led_Flag;
    digitalWrite(Led, Led_Flag);
    if (WiFi.smartConfigDone())               //配网完成
    {
      Serial.println("SmartConfig Success");
      Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
      Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
      WiFi.setAutoConnect(true);              //设置自动连接
      break;
    }
  }

由器,然后进行通讯,需要的联系我免费私发。有些人把代码买钱,这些人真不要脸。

已经上次bin文件,使用esp826自带烧写软件烧写,使用安可信广播配网,,
————————————————

                         
                        
[ 此帖被402096806在2024-10-19 14:25重新编辑 ]
402096806
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 158 点
下载积分: 1371 分
在线时间: 21(小时)
注册时间: 2013-12-11
最后登录: 2024-10-21
查看402096806的 主题 / 回贴
1楼  发表于: 3天前
试一下有问题反馈一下
402096806
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 158 点
下载积分: 1371 分
在线时间: 21(小时)
注册时间: 2013-12-11
最后登录: 2024-10-21
查看402096806的 主题 / 回贴
2楼  发表于: 前天
ESP01S  4块钱包邮  ttl转485板子 2块钱一个。10块钱以内搞定一个MODBUS服务器。。但是买个成品也才40块钱。。。人生重在折腾。。。。。。。。。。。。。。。。。。。。。。。。。。。。