【正点原子 D20 WiFi 模块】介绍、配置、工程测试
【正点原子 D20 WiFi 模块】介绍、配置、工程测试
本文介绍了正点原子 D20 WiFi 模块的相关信息,包括参数资源、功能特点、模式配置、上位机等,并通过 MQTT 透传实现相关工程测试、Home Assistant 平台数据上传等。
介绍
ATK-D20 是由正点原子团队(ALIENTEK)自主研发的一款高性能 2.4GHz WiFi DTU 模块,主要用于实现串口设备通过 WiFi 无线方式接入网络。
- 该模块支持 AP(接入点)、STA(客户端)两种联网模式,可灵活适应不同的网络接入环境。
- 通过配置,串口设备可借助 ATK-D20 快速连接至局域网或互联网,实现与远程服务器之间的双向数据通信,广泛适用于工业自动化、物联网终端、远程监控等场景。
- 模块支持 TCP、UDP、HTTP、MQTT、原子云等多种通信协议,支持 AT 指令控制、注册包、心跳包、Modbus 采集等功能,极大地方便了二次开发与系统集成。
外观

侧面

硬件接口


功能特点
- 支持 AP(接入点)、STA(客户端)双模式切换
- 支持多种工作模式:NET(TCP 客户端/TCP 服务器/UDP 客户端/UDP 服务器)/HTTP/MQTT
- 支持接入云服务器平台:原子云/阿里云/OneNET
- 支持自动轮询采集任务功能,可选自定义轮询和 Modbus 轮询,最大支持 64 条命令
- NET 模式支持 4 个网络连接同时在线
- 支持动态域名和 IP 地址访问
- 支持注册包/心跳包功能
- HTTP 模式下支持 GET 和 POST 请求,并且支持请求头参数配置等功能
- 支持多种配置方式:AT 指令、透传指令、上位机
- 支持自动重连、掉线监测、内置看门狗、确保稳定可靠
- 支持串口时间与长度打包机制,串口数据缓存每路连接为 4KB
- 支持多路数据分发功能
- 支持实时时间查询功能
- 支持多种固件升级模式:本地升级、远程升级和自动更新固件
- 支持 5~28V 宽电压供电,满足各种场合
指示灯

NET
- 灯灭:模块未工作
- 灯亮 200ms/灯灭 1800ms:没有连接上 WiFi(STA 模式)
- 灯亮 250ms/灯灭 250ms:数据通讯状态
LINK
MQTT
- 未连接:LINK 亮 50ms/灭 1s
- 连接成功:LINK 常亮
原子云
- 未连接:LINK 亮 50ms/灭 1s
- 连接成功:LINK 常亮
模式
设备支持两种工作模式:STA(客户端)模式 和 AP(接入点)模式。
STA 模式
STA(客户端)模式下,设备以 Wi-Fi 客户端身份接入已有的无线局域网,借此访问局域网或互联网。
此模式支持以下功能模式
- ① 网络(NET)模式
- ② HTTP 模式
- ③ MQTT 模式
- ④ 阿里云模式
- ⑤ OneNET 模式
- ⑥ 原子云模式(新版/旧版)
AP 模式
在 AP(接入点) 模式下,设备自身作为无线热点,供其他终端(如手机、电脑)连接进行本地通信或参数配置
- ①AP 模式
上位机介绍
DTU 配置软件是为正点原子 ATK-D20 定制的一款多功能上位机软件。
-
具备多种功能
- 串口收发数据功能;
- 提供一键配置与查询按钮操作;
- 定位信息地图展示功能;
- 自定义 AT 指令发送框;
- AT 指令帮助手册;
- 固件升级等。
-
上位机在
资料包-2,软件资料-1,配置软件文件夹下。

硬件连接
在使用前,需要先准备以下硬件资源:
- 一套 ATK-D20 产品;
- 外部供电电源(可使用 5V/1A 的适配器);
- 一块 DTU 测试板或 USB 转 TTL 串口工具;
- 一根全频段天线(产品配套)
接线图

| D20 | USB to TTL | Note |
|---|---|---|
| RX | TXD | Receive |
| TX | RXD | Transmit |
| GND | GND | Ground |
| + | 电源正极 | Positive |
| - | 电源负极 | Negative |
连接上位机
-
USB 转 TTL 串口工具数据线连接至电脑 USB 端口;
-
打开上位机
ATK-D2x配置软件; -
软件串口参数配置,COM 选择串口设备端口号;
-
出厂默认串口参数为:
-
波特率 115200
-
停止位 1
-
数据位 8
-
奇偶校验位 NONE
-
-
打开串口。
WiFi 连接
打开串口后,首先连接无线网络
- 进入 WiFi 配置 页面;
- 选择 STA(客户端) 模式;
- 填写 WiFi 名称(SSID) 和密码;
- 点击上方
保存所有参数按钮; - 点击
重启使配置生效。

网络连接测试
信号强度检测
点击 查询信号强度 按钮
- 正常范围:0 ~ -50(信号好)
- 信号差:-50~-80
- 异常值:-128(无信号)
IP 模式检查
点击 IP 模式信息 按钮
- 正常:显示有效 IP 地址
- 异常:IP=0.0.0.0(未获取 IP)
- 忽略项:DNS=0.0.0.0
PING 测试
输入目标地址 bing.com ,点击 PING 请求 按钮
- 良好:丢包率 0%
- 基本可用:丢包率<100%
- 故障:丢包率 100%

固件升级
在网络连接的基础上,打开左侧 固件升级 菜单栏;
- 固件加载方式为
网络加载固件; - 点击
网络固件升级按钮;

- 待升级完成,自动重启,并输出 ATK-D20;
- 此时可查询固件信息参数等,固件升级完成。
工程测试
ATK-D20 默认为 NET 网络连接模式,这里使用 MQTT 工作模式。
通过 MQTT 协议,将单片机采集到的温湿度信息上传至 Home Assistant 智能家居平台。
MQTT 配置
-
检查硬件连接,打开 ATK-D2x配置软件,打开串口;
-
进入左侧
模式配置界面,工作模式选择 MQTT; -
填写 MQTT 服务器用户名、密码、ip地址、订阅主题、发送主题等信息;
-
点击上方
保存所有参数按钮,此时上位机自动发送 AT 指令,完成 MQTT 配置并自动重启;

MQTT 测试
这里使用 MQTTX 和串口助手进行 MQTT 透传测试。
MQTTX
使用 MQTTX 软件作为客户端进行数据接收。
- 新建连接,填写 MQTT 服务器地址、用户名信息等,点击 Connect 按钮;
- 新建订阅主题,输入 ATK-D20 上位机对应的发布主题信息;
- 在发送主题中输入 ATK-D20 上位机对应的订阅主题;
- 通过上位机和 MQTTX 软件可实现 MQTT 消息互传;

串口助手
使用串口调试助手进行 MQTT 透传测试
- 关闭上位机调试软件的串口连接;
- 打开串口调试助手,配置串口信息,打开串口;
- 串口助手发送消息,MQTTX 可实现接收、以及消息互传;

- 实现正常收发,可连接单片机实现项目应用。
Home Assistant
使用单片机串口发送数据至 ATK D20 并通过 MQTT 透传至 Home Assistant 平台。
硬件连接
实物图

连接方案
| MCU | ATK-D20 | Note |
|---|---|---|
| RX | TX | Receive data |
| TX | RX | Transmit data |
| GND | GND | Ground |
代码
这里使用 RP2350 单片机通过 AHT10 传感器采集环境温湿度数据,并通过串口发送至 ATK-D20 模块,D20 由 MQTT 透传发送至 Home Assistant 平台。
- RP2350 单片机代码如下
# main.py —— AHT10+OLED 本地显示,同时串口 JSON 输出给 ATK-D20 做 MQTT 透传
from machine import Pin, I2C, UART
import utime, aht10, ssd1306
import ujson# OLED 初始化
i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=400_000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
aht = aht10.AHT10(i2c, address=0x38)# 打开串口,波特率与 D20 配置一致(默认 115200)
uart = machine.UART(1, baudrate=115200, tx=8, rx=9)def display_TH(t, h):oled.fill(0)oled.text("Temperature: ", 0, 0)oled.text("{:.2f} C".format(t), 0, 15)oled.text("Humidity: ", 0, 35)oled.text("{:.2f} %".format(h), 0, 50)oled.rotate(0)oled.show()while True:temp = aht.temperature()humi = aht.humidity()# 1. 本地显示display_TH(temp, humi)print('Temp: {:.2f} C, Humi: {:.2f} %'.format(temp,humi))# 2. 打印到串口,D20 透传至 MQTTuart.write(ujson.dumps({"temp": round(temp, 2), "humi": round(humi, 2)}) + '\n')utime.sleep(2) # 2 s 上报一次
保存代码。
效果
连接硬件,运行程序,终端打印温湿度信息;

配置 HA 平台的 YAML 文件,根据主题添加相关参数;
mqtt:sensor:- name: "AHT10 温度"state_topic: "homeassistant/aht10"unit_of_measurement: "°C"value_template: "{{ value_json.temp }}"- name: "AHT10 湿度"state_topic: "homeassistant/aht10"unit_of_measurement: "%"value_template: "{{ value_json.humi }}"
进入概览页面,编辑仪表盘,添加对应的卡片即可;

总结
本文介绍了正点原子 D20 WiFi 模块的相关信息,包括参数资源、功能特点、模式配置、上位机等,并通过 MQTT 透传实现相关工程测试、Home Assistant 平台数据上传等,为该产品在工业物联网领域的开发设计和快速应用提供了参考。
