目 录
TTL-WiFi模块基于我司ESP32-C2 WiFi模块研发,引出串口TTL、EN、STATE等引脚。产品内置我司最新版本的串口透传固件可完成设备TTL端口到WiFi/云的数据实时透传,具备低功耗控制,状态指示等功能。本模块可直接取代原有的有线串口,实现嵌入式设备数据采集和控制。
TTL-WiFi模块特点如下:
- 完全兼容原有的蓝牙透传模块电气接口和物理接口;
- 内置工业级透传固件V3.0,可靠稳定,WEB界面配置;
- 基于ESP32-C2高性能WiFi模块,整体尺寸:20mm×12mm×3mm;
- 供电电压:3.3V,TTL 电压:3.3V(可兼容5.0V);
- 引出管脚:STATE,TXD、RXD、EN;
- 平均电流:80mA;WiFi数据发送时170mA;深度睡眠模式下20μA;
- 支持串口AT指令;
- 支持可再编程,OTA固件升级;
- 串口与WiFi数据实时无缝透传;
- 内置HTTP Web Server,支持网页配置各项参数;
- WiFi支持AP、STA、AP+STA三种模式;
- 支持WiFi STA模式下自动重连,TCP Client模式下自动重连;
- 串口支持设置波特率、数据位、奇偶校验、停止位、分包时间;
- 支持波特率(bps):300/600/1200/2400/4800/9600/19200/38400/57600/74800/115200/
230400/460800/921600/1843200/3686400;
- 支持AP使能、自定义SSID/密码、自定义IP和网段等;
- 自动扫描周边热点,支持STA使能、DHCP、自定义IP和网段等;
- 支持TCP Server、TCP Client、UDP Server、UDP Client和UDP局域网广播;
- 远程服务器地址支持DNS域名自动解析;
- 支持通过AT指令查看状态;
- 引出IO4表征WiFi状态。
- 工作温度范围:-40℃-125℃;
- 应用场景:智能家居、无线数据采集透传、智能小车控制、无线串口打印机、户外LED灯、工业控制等。
TTL-WiFi模块结构示意图如下:
图1. 1 TTL-WiFi模块结构图
抛开繁琐AT指令,简单Web页面配置,即可实现透传。
TTL-WiFi透传固件是深圳四博智联科技有限公司基于本公司产品ESPC2-01无线模块开发,实现了模块串口与WiFi数据的实时透传。经过我司潜心研发,其固件功能性、稳定性已经满足工业级别透传需求。本次固件大幅度优化了串口接收和发送性能,特别设计了WiFi STA模式下重连机制、TCP Client模式下重连机制,保证数据链路的稳定连接与传输。
研发的透传固件优化了网页配置界面,支持AP、STA、AP+STA配置方式,支持的串口波特率从300bps~3686400bps,支持TCP Server/Client,UDP Server/Client,UDP局域网广播等多种功能。同时兼容AT指令配置,是目前市场上最具有性价比的WiFi透传产品。
TTL-WiFi产品接口定义如下图所示。
图2.1 TTL-WiFi接口定义
产品按键及LED功能
表2.1 模块按键和LED灯功能
序 号 | 类型 | 功能说明 |
IO4 | LED | 可以外置LED显示Wi-Fi连接状态,低电平有效 |
注:固件下载时,先按SW1按钮,然后按SW2按钮,接着松开即可完成下载。(参考我司ESP-C2模块)
表2.2 LED灯含义
序 号 | LED灯指示 | 功能说明 |
1 | 常亮 | WiFi模块在STA或者STA+AP模式下,成功连接到无线路由器 |
2 | 慢闪 | IO口电平1秒钟变化一次;WiFi模块没有成功连接无线路由器; WiFi模块工作在AP模式下; WiFi模块工作是STA模式下,正在尝试连接无线路由器; WiFi模块工作是AP+STA模式下,正在尝试连接无线路由器; |
3 | 快闪 | 当按住SW1/Flash按键的时候; 当串口收到数据,或者网络收到数据转发到串口,LED灯会快速闪烁; |
4 | 常灭 | WiFi模块没有工作,可能供电不正常,非透传固件 |
产品管脚定义如下表所示。
表2.3 产品引脚功能定义
序 号 | Pin脚名称 | 类型 | 功能说明 |
1 | IO4 | I/O | GPIO4;内置透传固件,指示网络连接状态: STA模式下连上无线路由器,STATE输出低电平; |
2 | RXD | I/O | GPIO3; 模块内部已串联22Ω限流电阻,可接外部5.0V电平; 可⽤作烧写 Flash 时 UART Rx; |
3 | TXD | I/O | GPIO1; 模块内部已串联22Ω限流电阻,可接外部5.0V电平; 可⽤作烧写 Flash 时 UART Tx |
4 | GND | P | GND |
5 | VCC | P | 模块电源:3.3V |
6 | EN | I | 芯⽚使能端,⾼电平:有效,芯⽚正常⼯作;低电平:芯⽚关闭。 |
- 软件透传WEB配置使用说明
本产品内置HTTP Server,可以通过PC机或者手机等其他智能终端的浏览器进行配置,无需其他配置工具或者APP。在出厂设置中,固件默认工作在AP模式,WiFi模块主动发出来的热点名称为:“Doit_WiFi_xxxxxx”,其中“xxxxxx”是该模块的MAC地址后六位。可以使用带无线网卡的PC机或者智能手机/平板(支持Android和IOS、Windows Phone等)连接该热点。热点无密码。
图3. 2默认热点
连接成功后,使用浏览器输入产品默认IP地址:“192.168.4.1”。
图3. 3热点信息
打开配置页面进行配置,共有STATUS、MODULE、MORE三个界面,如下图所示。下面详细介绍。
图3. 4产品配置界面图
3.1 STATUS配置界面
图3. 5模块在STA下连接成功的状态
在状态页面中,显示了本模块的MAC地址、STA模式下的IP地址、WiFi连接状态、AP模式下的IP地址、系统运行时间等信息。其中:
“Wi-Fi Status”:显示的值有:“idle”、“connecting”、“wrong password”、“no ap found”、“connect failed”、“connected(rssi:xxx)”。若STA连接成功,会显示当前连接的信号强度(rssi值,该值为负数)。
“System Running Time”:显示设备上电运行时间。
3.2 MODULE配置界面
在“MODULE”下有二级菜单。可进行更多设置。
图3. 6 MODULE菜单
- &bsp; Serial(串口配置)
在串口设置页面可以设置串口的波特率、数据位数、奇偶校验位、停止位等,同时可以设置串口的分包时间间隔。
- 可设置串口波特率:300/600/1200/2400/4800/9600/19200/38400/57600/74800/115200/230400/460800/921600/1843200/3686400
- 数据位:5/6/7/8
- 校验位:NONE/ODD/EVEN
- 停止位:1/1.5/2
图3. 6 串口设置页面
设置完成后,使用“Save”按钮保存设置。若保存参数有误,将会提示保存失败。否则提示保存成功。
特别注意:保存设置成功后,需要重启WiFi模块,参数方能生效。
图3.7 保存设置失败页面
图3.8保存设置成功页面
后续页面设置保存方法与此相同,不再累述。
- &bsp; WiFi(WiFi配置)
WiFi可设置模块工作在AP、STA、AP+STA模式。
注:AP:向外发射信号,供其他设备连接;STA:作为客户端,连接外部WiFi信号
AP设置:
- 可打开或关闭AP模式
- 自定义AP的SSID名称和密码。若密码留空,这表示不加密;否则使用WEP加密方式。注意:WiFi密码需要设置8~63个字符。
- 自定义AP模式下WiFi模块的IP地址、子网掩码、网关地址等。
注:WiFi模块在AP模式下的IP地址、子网掩码、网关地址与其在STA模式下的IP地址、子网掩码、网关地址不可以在同一个地址段。例如AP模式下IP地址为192.168.4.1,则该模块在STA模式下的IP地址不能够为192.168.4.X,否则不能正常工作。
图3.9 WiFi设置界面-AP模式
STA设置:
- 当打开WiFI配置页面时,WiFi模块会自动扫描周边热点,并显示在SSID List下拉列表框中,供选择。
- 设置要连接的无线路由器SSID和密码。
- 是否启动DHCP功能,若启用,不用指定IP、子网掩码、网关地址,否则需要指定。注意:WiFi模块在AP模式下的IP地址、子网掩码、网关地址与其在STA模式下的IP地址、子网掩码、网关地址不可以在同一个地址段。例如AP模式下IP地址为192.168.4.1,则该模块在STA模式下的IP地址不能够为192.168.4.X,否则不能正常工作。
图3.10 WiFi设置界面-STA模式
- &bsp; Networks(网络配置)
在网络配置界面可以设置WiFi模块的网络工作模式。可选的工作模式有:TCP服务器/客户端、UDP服务器/客户端、UDP广播等。
其中:
- 当选择TCP/UDP Client时,远程服务器的IP地址支持动态域名,固件会自动根据域名获得IP地址;
- UDP广播模式支持在局域网内的广播,填写规则是:192.168.x.255,其中“x”是模块在STA模式下获得的IP地址段号。
图3.11 网络设置
3.3 MORE 配置界面
MORE配置页面如下。
图3.12 More配置界面
- &bsp; Restart(重启模块)
图3. 7重启模块页面
- &bsp; Restore(恢复出厂设置)
恢复出厂设置页面如下。
出厂参数为:固件关闭STA,工作在AP模式下,IP地址为192.168.4.1;
串口参数为9600,n,8,1,分包时间为50ms;
网络设置为:TCP Server,监听端口为9000。
图3. 8恢复出厂设置
- &bsp; Versio(版本号)
查看版本号页面如下,可看到产品的软件版本,硬件支持版本,本公司的QQ技术支持群等信息。
图3. 9查看版本号页面
- 内置AT指令集
产品透传固件内置串口指令,用于获取WiFi模块的当前状态,恢复WiFi参数,设置WiFi模式等。大致分为四种类型,具体指令如下所示。
表4. 1 AT指令类型
类型 | 命令格式 | 说明 |
测试命令 | AT+<命令名称>=? | 查询设置命令的内部参数及其取值范围 |
查询命令 | AT+<命令名称>? | 返回当前参数值 |
设置命令 | AT+<命令名称>=<…> | 设置用户自定义的参数值,并运行命令 |
执行命令 | AT+<命令名称> | 运行无用户自定义参数的命令 |
- 不是每条 AT 命令都具备上述四种类型的命令。
- 命令里输入参数,当前只支持字符串参数和整形数字参数。
- 尖括号 < > 内的参数不可以省略。
- AT+CWMODE=3
- 使用双引号表示字符串参数,如:
- AT+CWJAP="ssid","password"
- 每条 AT 命令的长度不应超过 256 字节。
表4. 2内置AT指令集
数据方向 | 指令(ASCII字符串) | 含义 |
STA状态查询 | ||
MCU->WiFi模块 | AT+STASTATUS | 查询sta模式状态 |
WiFi模块->MCU | STA:OK | WiFi模块回复STA连接成功 |
WiFi模块->MCU | STA:DOWN | WiFi模块回复STA连接关闭 |
获取STA模式的IP和mac | ||
MCU-> WiFi模块 | AT+STAINFO | 获取WiFi模块mac和ip |
WiFi模块->MCU | Mac|IP, 例如 5CCF7F116380|192.168.1.125 | STA模式下MAC地址和IP地址 |
查询TCP Client模式下连接状态 | ||
MCU-> WiFi模块 | AT+TCPCLIENT | 查询TCP Client模式下连接状态,其他模式下无意义 |
WiFi模块->MCU | TCP:OK | TCP client已经连接 |
WiFi模块->MCU | TCP:OFF | TCP client断开连接 |
重启模块 | ||
MCU->WiFi模块 | AT+RST | 重启wifi模块 |
WiFi模块->MCU | RST:OK | 收到指令立刻回应 |
恢复出厂设置 | ||
MCU->WiFi模块 | AT+RESTORE | WiFi模块恢复出厂设置,立刻重启 |
WiFi模块->MCU | RESTORE:OK | 收到指令立刻回应 |
设置网络 | ||
MCU->WiFi模块 | AT+SETNET=<wifimode> enable=<enable> ssid=<ssid> psw=<password> mode=<mode> ip =<ip> port=<port> bport=<bport> | 配置WiFi模式 参数wifimode:可选AP,STA 参数ssid:无线路由名称 参数password:无线路由密码 参数mode:工作模式,可选TCPS,TCPC,UDPS,UDPC对应TCP服务器,TCP客户端,UDP服务器,UDP客户端 参数ip:ip地址 参数port:端口 bport:UDP服务器广播地址,只有在UDP服务器模式下生效 |
WiFi模块->MCU | %s set %s | 配置成功,%s为配置项参数 |
WiFi模块->MCU | %s set error | 参数错误,配置失败 |
查看串口信息 | ||
MCU->WiFi模块 | AT+GETUART | |
WiFi模块->MCU | baud:%s;data_bit:%s;stop_bit:%s;parity:%s;hw_flow _ctrl:%s | 返回参数解析结果 |
设置串口波特率 | ||
MCU->WiFi模块 | AT+SETUART=<baud> | 参数baud:串口波特率 |
WiFi模块->MCU | UART OK | 返回参数设置结果 |
设BLE蓝牙透传 | ||
MCU->WiFi模块 | AT+BLE=<enable> | 参数enable:1:使能蓝牙透传,0:关闭蓝牙透传 |
WiFi模块->MCU | BLE:OPEN | 返回参数设置结果 |
使用示例如下:
步骤1:用USB-TTL模块连接TTL-WiFi模块,在电脑上打开对应的串口,按RST键重启开发板。
步骤2:发送指令“AT+STASTATUS”检查STA是否连接上。
图4.1 AT+STASTATUS示例
步骤3:使用指令重启模块:AT+RST
图4.2 AT+RST示例
步骤4:使用指令设置波特率并重启后查询是否设置成功:AT+SETUART=460800
重启后使用指令:AT+GETUART查询是否设置成功
步骤5:使用指令设置网络工作模式:AT+SETNET=STA enable=1 ssid=doit-6 psw=doit3305 mode=TCPS ip=115.29.109.104 port=6579
使用tcp.doit.am透传云,连接TCP客户端发送信息测试:
本节以两个具体配置案例说明固件使用方法。以TTL-WiFi模块外接USB-TTL模块为例。USB-TTL模块连接到PC的USB口。
图5.1 案例实物照片
5.1 局域网透传案例教程
本案例以默认出厂设置为例,实现WiFi模块串口数据到PC机之间的透传。
在默认出厂情况下,固件关闭STA,工作在AP模式下,串口参数为9600,n,8,1。网络设置为:TCP Server,监听端口为9000。
步骤2:使用PC机连接热点“Doit_WiFi_xxxxxx”,“xxxxxx”为WiFi模块MAC地址,此处为“83094E”。
图5.2 案例-连接WiFi模块热点
步骤2:使用TCP Debug工具创建一个TCP Client客户端,连接到“192.168.4.1”的“9003”端口。同时打开一个串口调试工具,例如DoitSerialCOM,连接USB-TTL模块,设置串口参数为9600,n,8,1。即可实现串口数据到网络数据的透传。
图5.3 TCP Client设置
图5.4 透传示例
5.2 基于Doit云远程透传案例教程
本案例利用Doit透传云,实现WiFi模块串口与手机端APP的远程数据传输。
步骤1:。
图5.5 打开Doit透传云
步骤2:在安卓手机上安装一个网络调试助手工具,并使用TCP Client连接到“115.29.109.104”,端口是“6524”。在此过程中,保证安卓手机能够正常连接外网。例如,如下图所示,采用4G网络。
图5.6 手机端网络调试助手
步骤3:WiFi模块通过USB-TTL模块连接到PC端,上电。
首先,在出厂设置参数下,连接WiFi模块热点,进入WiFi配置页面。设置WiFi模块工作在STA模式,并输入无线路由器的SSID和密码,提交保存。本例中STA选择“Enable”,SSID Name填“Doit”,密码为“doit3305”,其他参数默认即可。(注:SSID和密码均填写您使用的路由器名字和密码,Doit为我司路由器名字)
其次,进入到网络配置页面,选择TCP Client,在IP和端口位置填写:“115.29.109.104”和“6524”。
图5.7 案例-STA模式设置
图5.8 案例-STA模式设置保存参数
图5.9 案例-网络设置
步骤4:重启WiFi模块使参数生效,可以实现手机APP与WiFi模块串口数据之间的透传。
图5.10 案例-串口收到数据
图5.11 案例-APP收到数据
5.3 蓝牙透传案例教程
!!!Wi-Fi透传和蓝牙透传只能开启一个,开启蓝牙透传时Wi-Fi透传失效,请按需设置
步骤1:MCU向Wi-Fi模块发送AT指令:AT+BLE=1
步骤2:重启设备进入蓝牙透传模式,使用四博蓝牙BLE调试微信小程序进行测试,微信搜索“蓝牙BLE调试”,进入连接设备“DT-6-C2”,连接成功后点击notify
步骤3:点击写入发送数据,发送数据“message send to mcu”,串口回复数据“ok”
- 模块使用最小系统
模块只需提供3.3V 直流电源即可工作。模块的IO1脚(TXD)接外部单片机的TXD,模块的IO3脚(RXD)接外部单片机的TXD。
图6.1 最小系统
注:
(1)模块IO最大输出电流为12mA;
(2)EN使能管脚高电平有效;
(3)模块进入升级模式:GPIO0处于低电平(按住SW1),然后模块复位上电;Wi-Fi模块进入正常工作模式:GPIO0处于高电平(释放SW1),模块复位上电;
(4)模块的RXD接外部MCU的TXD,模块的TXD接外部MCU的RXD。
产品模块的外观及尺寸如下所示。
图7.1 TTL-WiFi 产品外观
(a) 俯视图
(b) 侧视图
图7.2 TTL-WiFi模块尺寸图
表7.1 TTL-WiFi模块尺寸对照表
长 | 宽 | 高 | 管脚 | Pin脚间距 |
20mm | 12.3mm | 3 mm | 16 | 2.54mm |
TTL-WiFi产品模块可以直接插入到PCB板上。为了使您的终端产品获得最佳的射频性能,请注意根据本指南合理设计模块及天线在底板上的摆放位置。
建议将模块沿PCB板边放置,天线在板框外或者沿板边放置且下方挖空,参考方案一及方案二;若必须将PCB天线放在底板上,则需要保证天线下方的PCB区域无金属物体,参考方案三。
图8.1 方案一-天线在板框外
图8.2 方案二-天线沿板边放置且下方挖空
图8.3 方案三-天线沿板边放置且下方无金属物体
附录.1 TTL-WiFi模块主要技术参数如下表
分类 | 项目 | 参数 |
Wi-Fi | 频率范围 | 2.4G~2.5G(2412M~2484M) |
发射功率 | 802.11b: +20.5 dBm | |
802.11g: +20 dBm | ||
802.11n: +19 dBm | ||
接收灵敏度 | 802.11b: -90 dbm (11Mbps) | |
802.11g: -76 dbm(54Mbps) | ||
802.11n: -74 dbm(MCS7) | ||
天线 | PCB板载天线 | |
硬件 | CPU | ESP8684H2 |
外设 | UART/EN/STATE/GPIO/IIC/ADC/SPI | |
工作电压 | 3.3V | |
工作电流 | 平均电流:80 mA | |
工作温度 | -40°C ~125°C | |
环境温度范围 | -40°C ~ 125°C | |
模块尺寸 | 34mm×17mm×4mm | |
软件注1 (内置串口透传固件V3.0) | Wi-Fi 模式 | Station/SoftAP/SoftAP+Station |
安全机制 | WPA/WPA2 | |
加密类型 | WEP/TKIP/AES | |
升级固件 | UART Download/OTA | |
AT指令 | 支持部分AT指令查询模块状态 | |
网络协议 | TCP/UDP 服务器/客户端;UDP广播 | |
用户配置 | 内置HttpServer,Web页面配置 |