STM32中 ESP8266 MQTT ModBus RS482 介绍

1、ESP8266:

ESP8266 ------ Wi-Fi 无线网络模块

ESP8266 是一款带 Wi-Fi 功能的串口通信模块 ,可以让 STM32 通过它连接到无线网络(路由器)。

在 STM32 系统中的作用:

  • STM32 自身不带 Wi-Fi 功能;

  • ESP8266 通过 UART(串口) 与 STM32 通信;

  • STM32 发送 AT 指令给 ESP8266;

  • ESP8266 再负责联网,比如:

    • 连接 Wi-Fi;

    • 连接服务器;

    • 发送/接收网络数据。

典型用途:

  • 让 STM32 上传传感器数据到云端;

  • 实现远程控制(比如用手机控制 STM32 上的设备);

  • 和 MQTT 协议结合,用于物联网通信。

1、MQTT ------ 物联网通信协议

MQTT(Message Queuing Telemetry Transport) 是一种轻量级的网络通信协议 ,专为 物联网设备设计。

它是基于 发布/订阅(Publish/Subscribe)机制 的:

  • "客户端" 发布消息;

  • "服务器(Broker)" 转发给订阅该主题的客户端。

在 STM32 系统中的作用:

  • STM32 通过 ESP8266 上网;

  • 使用 MQTT 协议与云端(如阿里云、EMQX、百度云等)通信;

  • 实现数据上报、远程控制。

举例:

角色 内容
STM32 发布消息(比如温度值)到主题 home/temperature
手机APP 订阅同一个主题,就能实时看到温度
手机APP 发布消息 home/led
STM32 订阅 home/led,收到消息后控制灯亮灭

通过 ESP8266 将单片机获得WiFi功能,连接网络后,通过MQTT协议传递信号远程控制单片机。MQTT 让 STM32 设备能"说话"------能和云端、手机、电脑通过互联网交流。

3、RS485 ------ 物理通信接口标准

RS485 是一种 硬件通信标准(物理层) ,不是协议。基于硬件有线连接 ,串行通信方式

它规定了信号传输的电压、电平方式。

特点:

  • 使用 差分信号(A/B 两根线);

  • 抗干扰强、传输距离远(可达上千米);

  • 支持多机通信(一主多从)。

为什么要用****RS485

  • 传输距离远,再较低传递速度和良好的布线要求下, 可以满足 1200****米作用的传输距离。同 时可以通过【中继节点】可以延续更远的传递距离。
  • 传输速度较快,最高可达****10Mbps ==> 1.25 MB/s,使用最大速度,传递距离较短。
  • RS485 可以连接多个设备,理论单一设备可以同时连接 32个其他485****设备。每一个设备都 可以自定义设备地址编号,一般是从 0x01 ~ 0xXX。可以利用其他技术,将同一个 485 端口 上的设备,扩充到 128 台。
  • RS485 芯片通信成本和设备成本较低。

在 STM32 系统中的作用:

  • STM32 的 UART 口通过 RS485 转换芯片(如 MAX485) 与总线通信;

  • 通常用于 Modbus RTU 协议 的物理层;

  • 也可用于其他自定义的串口通信协议。

举例:

STM32 ---(UART TX/RX)---> MAX485 芯片 ---(A/B 差分线)---> 另一台设备

4、Modbus ------ 工业通信协议

Modbus 是一种经典的 工业通信协议,常用于 PLC、传感器、变频器 等工业设备之间的数据传输。

特点:

  • 简单可靠**:** ModBus 协议操作简单,组成简单,同时具备校验机制,可以满足设备与设备之间 通信的简单可靠性
  • 协议开放**:**既有通用协议版本,有预留可以编程的自主范围。
  • 协议支持广泛**:**当前 ModBus 协议底层传递电路层对应端口为 RS485,ModBus 协议不单单 支持 RS485 ,包括 RS232,PLC,传感器设备,执行器设备

ModBus 有三种协议版本

  • ModBus RTU**【使用最多】**数据紧凑型,高效数据传递模式,使用二进制编码表示数据内容 (8421 BCD编码)。在 RTU 模式下,一个字节可以对应两个字符。传递效率较高。
  • ModBus TCP 基于 TCP/IP 协议的 ModBus 可以用于网络端数据传递。
  • ModBus ASCII**【可视化较好,但是数据量大】**基于 ASCII 明文方式进行数据传递,参数形 式和其他编码一致,只不过在相同的数据发送量情况下,ASCII 需要占用的数据空间更多。

举例:

  • STM32 主机读取温湿度模块(从机)的数据;

  • 或 STM32 作为从机,接收上位机发来的控制指令。

Modbus 是一种"规定格式的语言",让 STM32 能和工业设备标准化通信。

ModBus 协议不仅能用在有线 RS485 上,也能在网络通信中使用。

总结 RS485 和 ModBus

RS485 是"线路标准",Modbus 是"通信规则"。Modbus 规定了 "数据长什么样" ,而 RS485 规定了 "数据怎么传过去"。

名称 类型 功能 典型连接方式 与 STM32 关系
ESP8266 硬件模块 Wi-Fi联网 UART 提供网络接口
MQTT 网络协议 云端通信 依赖 TCP/IP(Wi-Fi) 用于物联网数据传输
Modbus 通信协议 工业数据交换 依赖 RS485/UART 工业现场通信
RS485 硬件标准 差分信号传输 UART+MAX485芯片 提供物理通信能力
相关推荐
碧海银沙音频科技研究院几秒前
炬芯ATS3089X手表的HFP通话不自动路由到设备BT的问题解决
网络·人工智能·嵌入式硬件·算法
youcans_5 小时前
【STM32C5教程】(3)GPIO 按键输入实验
stm32·单片机·嵌入式硬件
俊基科技6 小时前
回音消不掉、底噪压不住、主板还对不上口?——A-59P 多功能语音处理模组技术解析
嵌入式硬件·回音消除·ai降噪模块
蓝天居士7 小时前
PY32F系列MCU在串口接收时跑飞的根因分析(2)
单片机·嵌入式硬件
wuyk55511 小时前
嵌入式驱动开发:量产级工程化实战(第9篇)——低功耗下的通信可靠性
c语言·驱动开发·stm32·单片机·嵌入式硬件
创界工坊工作室11 小时前
24-基于单片机的仓鼠养殖环境监控系统设计
stm32·单片机·嵌入式硬件·proteus
碧海银沙音频科技研究院11 小时前
基于炬芯ATS录音卡BLE控制协议
人工智能·嵌入式硬件·算法·语音识别
星恒讯工业路由器12 小时前
从5G-A到6G:工业通信网络的技术演进与产业落地
网络·物联网·5g·智能路由器·工业路由器·工业物联网·5g-a
comyccccc12 小时前
PCB走线设计秘籍:从载流到3D预览全解析学习笔记
单片机·嵌入式硬件
俊基科技12 小时前
A-59 工业级 AI 语音处理模组:100 dB 消回音 + 神经网络降噪的工程实践
嵌入式硬件·神经网络·硬件开发·语音模块·回音消除·拾音降噪