目录

前言

一、单片机物联网主流无线方案对比

二、WiFi 模组基础工作模式

三、BLE 低功耗蓝牙核心要点

四、MQTT 协议核心原理

五、物联网完整数据交互流程

六、模组开发通用流程

七、物联网项目高频避坑点

八、典型实战项目方向


前言

本篇作为系列第十篇进阶核心,从零讲解单片机主流无线通信方式:WiFi、BLE 低功耗蓝牙,以及物联网通用核心协议 MQTT,同时讲解云平台对接逻辑、数据上下行流程、实战避坑要点,是做智能设备、远程监控、智能家居项目的必修内容。

一、单片机物联网主流无线方案对比

嵌入式物联网短距离通信主流四种方案,新手无需全部掌握,按需选型即可,适配不同项目场景:

  1. WiFi 通信(ESP8266/ESP32) 传输速率高,可直接接入局域网、连接公网,支持 MQTT 上云。适合智能家居、远程数据采集,缺点功耗相对偏高。
  2. BLE 低功耗蓝牙(BT5.0/5.1) 功耗极低,适合电池供电设备,多用于手机和设备近场配对调试,传输距离较短,一般不直接接入公网。
  3. LoRa 远距离通信,抗干扰强,适合野外监测、农田采集,需要配套网关,成本更高。
  4. 4G/5G 模组 直接公网通信,无需本地路由器,适合户外无网线无 WiFi 场景,功耗和流量成本更高。

二、WiFi 模组基础工作模式

常用 ESP8266、ESP32 模组,一般包含三种基础工作模式

  1. AP 模式:模组自身作为热点,手机或电脑直接连接模组,实现点对点通信。多用于设备首次配网。
  2. STA 模式:模组连接路由器 WiFi,接入局域网,可访问外网,是产品正式使用的主流模式。
  3. AP+STA 混合模式:同时开启两种模式,兼顾配网与联网功能。

模组和主控单片机大多通过串口 AT 指令交互,主控发送指令控制模组联网、收发数据,也是新手入门最常用的开发方式。

三、BLE 低功耗蓝牙核心要点

BLE 和传统经典蓝牙最大区别在于低功耗,设备大部分时间休眠,定时广播数据包。

  1. 广播:设备向外发送名称、服务信息,手机扫描发现设备
  2. 连接:手机和蓝牙设备建立链路,进行双向数据传输
  3. GATT 协议:蓝牙数据交互标准,划分服务、特征值,读写数据都基于特征值操作

典型应用:手机 APP 读取传感器参数、修改设备配置、遥控器控制硬件。

四、MQTT 协议核心原理

MQTT 是物联网轻量级消息传输协议,专门针对弱网络、低算力嵌入式设备设计,也是云平台通用协议。 核心角色分为三类:

  1. 客户端:单片机模组、手机 APP
  2. 服务端(Broker 消息代理):云平台 MQTT 服务器
  3. 主题 Topic:数据收发的通道名称

核心机制:发布 / 订阅模式 设备向指定主题发布数据,其他订阅该主题的客户端即可接收消息,不需要两两建立连接。

支持 QOS 服务质量等级:

  • QOS0:最多一次,丢包不重传,适合高频非关键数据
  • QOS1:至少一次,保证送达,可能重复接收
  • QOS2:仅一次,严格保证单次接收,开销最大,重要指令使用

五、物联网完整数据交互流程

  1. 单片机采集传感器数据,完成滤波、数据打包
  2. 通过串口发送给 WiFi 模组
  3. 模组连接路由器,和云端 MQTT 服务器建立连接
  4. 设备发布数据包到指定上传 Topic
  5. 云平台接收、存储数据,支持网页 / APP 查看
  6. 云端下发控制指令至下行 Topic
  7. 设备订阅下行 Topic,接收指令,执行对应动作

六、模组开发通用流程

  1. 硬件接线:TX/RX 交叉连接,供电满足模组额定电压
  2. 串口初始化,调试 AT 指令,确认模组正常通信
  3. 配置 STA 模式,写入 WiFi 名称和密码,完成联网
  4. 配置 MQTT 参数:服务器地址、端口、设备 ID、用户名密码
  5. 订阅下行控制主题,定时上传设备数据
  6. 增加断线重连、心跳包机制,保证长时间稳定运行

七、物联网项目高频避坑点

  1. 模组供电电流不足,频繁重启、联网失败,模组需要独立稳压电源
  2. AT 指令末尾缺少回车换行,模组无法识别指令
  3. 心跳包未开启,长时间无数据交互,云平台主动断开连接
  4. 数据包过长,未做分包处理,出现数据截断、乱码
  5. 没有断线重连逻辑,断网后设备永久离线
  6. 明文传输重要数据,商用项目需要开启 TLS 加密

八、典型实战项目方向

  • 远程环境监测:温湿度采集,云端可视化展示
  • 智能家居控制:远程开关继电器、灯光
  • 电池便携设备:BLE 蓝牙手机调试参数
  • 工业数据远程上报

更多推荐