ESP8266透明串口转MQTT模块使用说明


ESP8266透明串口转MQTT模块使用说明
更新历史
日期 撰写 备注
2023.9.2 YTH

ESP8266透明串口转MQTT模块开发

模块功能

 在ESP-01S模块基础上进行了程序升级,串口数据直接转MQTT传输,支持OneNET,百度云,腾讯云等,无需关注AT指令集。

在这里插入图片描述

2 串口驱动

如果已经安装了CH340驱动程序,跳过本步骤。
参考连接。
https://www.wch.cn/videos/ch340.html
在这里插入图片描述

3 快速验证功能

3.1 模块默认功能:
1)Dev->模块->(onenet 或者 终端):
数据格式例如: {“LED”:1}

2)(onenet 或者 终端) ->模块-> Dev:
主题例如: cmd/mb
数据格式例如: {“LED”:1}
3.2 手机开启热点
Ssid:easy
PWD:12345678

3.3 云端查看
1)登录OneNET
https://open.iot.10086.cn/passport/login/
用户名:R1XB67t5YWoSBF
密码: @yan123456

  1. 进入测试项目
    https://open.iot.10086.cn/develop/mqtt/product/#/device/list?pid=614404
    3.4 串口调试器
    在这里插入图片描述

4 修改ESP8266参数

*4.1 硬件环境准备
如果配置了模块手机热点(请关闭手机热点),如果配置了模块连接路由器(请断电路由器)。

4.2 PC连接WIFI路由 “TTT01-xxxx”
这个动作可能需要比较长的等待。
4.3 登录ESP8266

HTTP:192.168.4.1

在这里插入图片描述
4.4 配置参数
序号 参数名 值 备注
1 串口参数 9600,19200,38400,115200 n,8,1
默认8个数据位,1个停止位,无校验位。
2 路由网络 不用中文,不留空格
3 路由密码 8位及以上
4 远程主机
5 远程端口 OneNET 旧版的为6002
6 用户ID 参考各个云平台的要求。
7 用户名
8 用户密码
9 订阅主题 #为通配符
10 发布主题 没有通配符
11 心跳包 单位:毫秒

修改完参数,“保存参数”,模块会自动上电重启。

5 MCU编程参考

无需特殊操作,直接操控串口,注意数据格式为json格式。双引号要用转义字符“\”,例如Char myData[]=”{\“led\”:1}”
以下以51单片机为例,说明如何编程。

  1. 发布数据
void SendByte(unsigned char ch)
{
     SBUF=ch;
     While(TI==0);
     TI=0;
}

void Publish(char *strPlayload)
{
      char ch;
      While(1)
     {
         ch= *(strPlayload++)
         if(ch==0)break;
         SendByte (ch)
     }
}

void main(void)
{
   while(1)
  {
     char  myData[]={\“led\”:1}Publish(myData)
   }

}

  1. 接收数据
#define MAX 100
unsigned char g_recvBuf[MAX];
int g_index;
int g_OldIndex;

void Recv Clear (void)
{
   g_index=0;
   g_OldIndex=0;
}

void usart_isr()interrupt 4
{
	if(RI)
	{
	   if(g_index<MAX)
	   {
	       g_recvBuf[g_index++]=SBUF;
	   }
	   RI=0;
	}
}


int Recv_Ok(void)
{
	if(g_index>0)
	{
	   Delay(100);
	   If(g_OldIndex!= g_index)
	   {
	       g_OldIndex= g_index;
	       Return 1;
	   }
	   return 0;//100ms没有新数据接收,表示接收完成。
	}
	return 1;
}
void ProgFun()
{
	//对g_recvBuf进行处理

}

void main(void)
{
	Recv Clear ();
	
	while(1)
	{
	    EA=1;
	    ES=1;
	    if(Recv_Ok()==0)
	    {
	        //接收数据处理。
	        ProgFun();
	        Recv Clear ();
	    }
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值