FSC-BW246 指令手册

介绍

[English]

描述

本设计指南适用于工程师开发 BW246 Wi-Fi SoC 模组

硬件说明

引脚图

_images/BW246_pin_map.png

引脚描述

Pin

Pin Name

Type

Pin Descriptions

1

UART_TX

O

串口TX

2

UART_RX

I

串口RX

3

UART_CTS

I

串口流控脚(高电平生效)

4

UART_RTS

O

串口流控脚(高电平生效)

9

UART_LOG_OUT

O

模块调试串口TX

10

UART_LOG_IN

I

模块调试串口RX

11

RESET/CHIP_EN

I/O

复位脚, 低电平有效

12

VDD_3V3

VDD

3.3V供电

13

GND

VSS

接地

21

GND

VSS

接地

22

GND

VSS

接地

32

LED0

I/O

蓝牙已连接输出高电平

33

LED1

I/O

Wi-Fi已连接输出高电平

35

GND

VSS

接地

36

EXT_ANT

ANT

改变天线附近的0欧电阻, 可以外接蓝牙天线

硬件设计说明

  • 模组简易测试只需要连接VDD/GND/UART_RX/UART_TX即可使用

  • 编程手册只提供简单的IO口说明, 更详细的说明及注意事项请参考设计文档

  • 画完原理图后请发给飞易通进行审核, 避免蓝牙或Wi-Fi距离达不到最佳效果

硬件接口

  • GPIO

  • PWM

  • UART

  • SPI SLAVE

  • I2S Master/Slave

  • Analog Input/Output

支持蓝牙协议

  • SPP Client (Serial Port Profile)

  • SPP Server (Serial Port Profile)

  • GATT Server (Generic Attribute Profile)

  • HID (HID Human Interface Device Profile)

支持Wi-Fi协议

  • TCP (Transmisson Control Protocol)

  • UDP (USER Datagram Protocol)

  • HTTP (Hypertext Transfer Protocol)

  • MQTT (Message Queuing Telemetry Transport)

  • SSL/TLS(Secure Sockets Layer/Transport Layer Security)

  • WEBSOCKET Client

模块默认参数

Wi-Fi默认设置

Wi-Fi Mode

STA Mode

Local AP SSID

FSC-BW246-AP

Local AP Password

12345678

Local AP IP Address

192.168.1.1

蓝牙默认设置

BLE Name

FSC-BW246-LE

BLE Mode

LE-Peripheral

SPP Name

FSC-BW246

SPP PAIRCODE

0000

串口默认设置

Baudrate

921600bps

Data Bits

8

Parity

None

Stop Bits

1

指令表

规范说明

适用于整个文档

  • {} : 包括与{…}中的内容为可选项

  • << : 主机发给模组的 COMMAND

  • >> : 模组回复主机的 RESPONSE/EVENT

指令格式

AT+Command{=Param1{,Param2{,Param3…}}}<CR><LF>
  • 所有的指令以 “AT” 开始,以 <CR><LF> 结束

  • <CR> 对应 HEX 为 0x0D

  • <LF> 对应 HEX 为 0x0A

  • 如果指令带有参数,应放在 = 后面

  • 如果指令包含多项参数,应以 , 分隔

  • 如果指令有回复,回复以 <CR><LF> 开始,以 <CR><LF> 结束

Error Code

Meaning

001

Failed

002

Invalid parameter

003

Invalid state

004

Command mismatch

005

Busy

006

Command not supported

007

Profile not turned on

008

No memory

Others

Reserved for future use

Event格式

<CR><LF>+Indication{=Param1{,Param2{,Param3…}}}<CR><LF>
  • 所有的事件使用<CR><LF>开始, 使用<CR><LF>结束

  • 若事件包含参数, 参数应位于 “=” 后面

  • 若事件包含多项参数, 参数应使用 “,” 分割

Example:
手机端通过GATT协议发送”1234567890”
>> +GATTDATA=10,1234567890

通用指令

AT - 串口测试指令

Command

AT

Response

OK

Description

通过AT指令测试串口通信是否正常

Example:
<< AT
>> OK

AT+VER - 读取固件版本

Command

AT+VER

Response

+VER=Param1,Param2

Param1

模块类型

Param2

固件版本

Example:
<< AT+VER
>> +VER=FSC-BW246,V4.2.5
>> OK

AT+BAUD - 查询/修改串口波特率

Command

AT+BAUD{=Param}

Param

2400/4800/9600/19200/38400/57600/115200/128000/
230400/256000/460800/512000/921600/1000000/1382400
2000000/3000000/4000000/5000000

Response

+BAUD=Param

Param

返回当前所设置的波特率

Example:
读取波特率
<< AT+BAUD
>> +BAUD=921600
>> OK

设置波特率
<< AT+BAUD=115200
>> OK

AT+TPMODE-查询/修改透传模式

Command

AT+TPMODE{=Param}

Param

1:开启透传模式
0:关闭透传模式

Response

+TPMODE=Param

Param

返回当前透传模式设置

Description

当透传模式开启,并建立了 TCP, GATT 等连接,模块串口将输出从远端收到的原始数据,模块串口接收到的数据也将直接发送至远端。
当透传模式关闭,任何状态下,模块串口对接收到的数据只做指令处理,模块从远端接收的数据,将从串口以指令格式输出。
Example:
读取当前透传模式设置
<< AT+TPMODE
>> +TPMODE=0
>> OK
设置为透传模式
<< AT+TPMODE=1
>> OK

AT+REBOOT-模块重启

Command

AT+REBOOT

Response

OK

Description

模块释放与远端设备的所有连接,然后重启

Example:
模块重启
<< AT+REBOOT
>> OK

AT+RESTORE-恢复出厂设置

Command

AT+RESTORE

Response

OK

Description

模块恢复到出厂设置,然后重启

Example:
恢复出厂设置
<< AT+RESTORE
>> OK

AT+STAT-查询连接状态

Command

AT+STAT

Response

+STAT=Param1, Param2, Param3, Param4, Param5, Param6, Param7,Param8

Param1

WIFI STA 模式下的连接状态

Param2

模块作为 TCP server 时的连接状态(是否有client连接到模块的TCP server)

Param3

模块作为 TCP client 时的连接状态(是否有连接到外部的TCP server)

Param4

模块 BLE 从端的连接状态

Param5

模块 SPP 的连接状态

Param6

模块 HID 的连接状态

Param7

模块 MQTT 的连接状态

Param8

模块 SSL 客户端的连接状态

Description

0: 未初始化
1 :空闲
2: 正在连接
3: 已连接
Example:查询当前模块连接状态
<< AT+STAT
>> +STAT=0,1,3,1,0,0,0,0
>> OK

AT+NAME - 查询/修改蓝牙BR/EDR名称

Command

AT+NAME{=Param1{,Param2}}

Param1

BR/EDR蓝牙名称(1~29 Bytes ASCII)

Param2

使能MAC地址后缀(0/1,default:0)
0: 关闭后缀
1: 开启后缀“-XXXX”(MAC地址后4Byte)

Response

+NAME=Param

Description

如果存在参数则设置蓝牙名称,否则只是读取

Example:
查询BR/EDR蓝牙名称
<< AT+NAME
>> +NAME=FSC-BW246-XXXX
>> OK

设置BR/EDR蓝牙名称,且关掉后缀
<< AT+NAME=ABC,0
>> OK

设置BR/EDR蓝牙名称为“ABC”并自动添加地址后缀
<< AT+NAME=ABC,1
>> OK

AT+LENAME - 查询/修改BLE蓝牙名称

Command

AT+LENAME{=Param1{,Param2}}

Param1

BLE蓝牙名称(1~25 Bytes ASCII)

Param2

使能MAC地址后缀(0/1,default:0)
0: 关闭后缀
1: 开启后缀“-XXXX”(MAC地址后4Byte)

Response

+LENAME=Param

Description

如果存在参数则设置蓝牙名称,否则只是读取

Example:
查询BLE蓝牙名称
<< AT+LENAME
>> +LENAME=FSC-BW246-XXXX
>> OK

设置BLE蓝牙名称,且关掉后缀
<< AT+LENAME=ABC,0
>> OK

设置BLE蓝牙名称为“ABC”并自动添加地址后缀
<< AT+LENAME=ABC,1
>> OK

AT+PROFILE - 查询/修改蓝牙支持的协议

Command

AT+PROFILE{=Param}

Param

BIT0 : SPP协议 (默认支持) BIT1 : GATT协议(默认支持) BIT3 : HID协议

Response

+PROFILE=Param

Description

以10进制数配置和显示,设置后需要重启生效

Example:
查询当前支持的协议
<< AT+PROFILE
>> +PROFILE=3
>> OK
设置支持SPP、GATT和HID
<< AT+PROFILE=11
>> OK

AT+DSCA - 断开蓝牙连接

Command

AT+DSCA

Response

OK

Description

模块断开与蓝牙的连接

Example:
断开与蓝牙的连接
<< AT+DSCA
>> OK

SPP指令

AT+ADDR-查询蓝牙BR/EDR地址码

Command

AT+ADDR

Response

+ADDR=Param

Param

模块蓝牙BR/EDR的MAC地址(12 Bytes ASCII)

Description

蓝牙地址码只支持查询,不支持设置

Example:
<< AT+ADDR
>> +ADDR=DC0D300016F4
>> OK

AT+SSP-查询/修改BT配对模式

Command

AT+SSP{=Param}

Param

0:配对码模式
0:简易配对模式(默认设置)

Response

OK

Description

修改需要重启才会生效

Example:
查询配对模式
<< AT+SSP
>> +SSP=0
>> OK
设置为配对码模式
<< AT+SSP=1
>> OK

AT+PIN-查询/修改BT配对码

Command

AT+PIN{=Param}

Param

配对码

Response

OK

Description

配对码默认为”0000”,数据长度不超过15位,仅在配对码模式下有效即SSP=1
Example:
查询BT配对码
<< AT+PIN
>> +PIN=0000
>> OK
设置配对码为12345678
<< AT+PIN=12345678
>> OK

AT+COD-查询/修改BT设备类型

Command

AT+COD{=Param}

Param

设备类型(16进制)

Response

OK

Description

默认打印机(0x680)
Example:
查询蓝牙设备类型
<< AT+COD
>> +COD=680
>> OK
修改蓝牙设备类型为HeadPhone(0x418)
<< AT+COD=418
>> OK

AT+SPPSTAT-读SPP状态

Command

AT+SPPSTAT

Response

+SPPSTAT=Param

Param

0:未初始化
1:未连接
2:连接中
3:已连接

Description

查询SPP连接状态

Example:
查询SPP连接状态
<< AT+SPPSTAT
>> +SPPSTAT=3
>> OK

AT+PLIST-查询/删除经典蓝牙配对设备

Command

AT+PLIST{=Param}

Param

要删除的配对设备MAC地址(12 Bytes ASCII)或序号

Response

+PLIST=Param1,Param2,Param3,Param4

Param1

配对设备的序号

Param2

配对设备支持的PROFILE

Param3

配对设备的MAC地址

Param4

配对设备的设备名

Description

查询时+PLIST=E表示查询结束

Example:
查询已配对设备列表
<< AT+PLIST
>> +PLIST=1,1,401C83489FF3,DESKTOP-FVCQFH5
>> +PLIST=2,0,D8B05378EA77,Redmi 9A
>> +PLIST=3,1,A86F36B5F92A,iQOO Neo9
>> +PLIST=E
>> OK
删除配对的Redmi 9A设备
<< AT+PLIST=2(或者AT+PLIST=D8B05378EA77)
>> OK

AT+SPPDISC-断开SPP连接

Command

AT+SPPDISC

Response

OK

Description

断开当前与远程设备的SPP连接

Example:
断开SPP连接
<< AT+SPPDISC
>> OK

AT+SPPSEND-发送 SPP 数据

Command

AT+SPPSEND=Param1,Param2

Param1

需要发送的数据长度

Param2

需要发送的数据内容

Response

OK:发送完成
ERR002:参数或格式不正确
ERR003:蓝牙未连接

Description

Example:
模块发送”123”
<< AT+SPPSEND=3,123
>> OK

BLE指令

AT+LEADDR-查询蓝牙BLE地址码

Command

AT+LEADDR

Response

+LEADDR=Param

Param

模块的BLE蓝牙MAC地址(12 Bytes ASCII)

Description

蓝牙地址码只支持查询,不支持设置

Example:
<< AT+LEADDR
>> +LEADDR=DD0D300016F4
>> OK

AT+GATTSTAT-查询BLE连接状态

Command

AT+GATTSTAT

Response

+GATTSTAT=Param

Param

0:未初始化
1:未连接
2:连接中
3:已连接

Description

Example:
查询BLE连接状态
<< AT+GATTSTAT
>> +GATTSTAT=3
>> OK

AT+GATTSEND-发送 BLE 数据

Command

AT+GATTSEND=Param1,Param2

Param1

需要发送的数据长度

Param2

需要发送的数据内容

Response

OK:发送完成
ERR002:参数或格式不正确
ERR003:蓝牙未连接

Description

数据长度应小于1000

Example:
从端发送”123”给蓝牙主端
<< AT+GATTSEND=3,123
>> OK

AT+ADVDATA-查询/修改BLE广播数据

Command

AT+ADVDATA=Param

Param

BLE广播内容

Response

OK: 设置完成
ERR002:参数或格式不正确

Description

数据长度应小于30字节,16进制格式

Example:
修改BLE广播数据为”1234”
<< AT+ADVDATA=31323334
>> OK
查询BLE广播数据,返回为16进制
<< AT+ADVDATA
>> +ADVDATA=31323334
>> OK

AT+ADVCLR-恢复默认BLE广播数据

Command

AT+ADVCLR

Response

OK

Description

Example:
恢复默认BLE广播数据
<< AT+ADVCLR
>> OK

HID指令

AT+HIDSTAT - 查询HID状态

Command

AT+HIDSTAT

Response

+HIDSTAT=Param

Param

0:未初始化
1:未连接
2:连接中
3:已连接

Description

查询HID的连接状态

Example:
查询HID的连接状态
<< AT+HIDSTAT
>> +HIDSTAT=1
>> OK

AT+HIDCONN - 建立HID连接

Command

AT+HIDCONN=Param

Param

目标设备MAC地址(12 Bytes ASCII)

Response

+HIDSTAT+OK

Description

查询和c地址

Example:
与设备建立HID连接
<< AT+HIDLCONN=401083489FF3
>> +HIDSTAT=2
>> OK

AT+HIDDISC - 断开HID连接

Command

AT+HIDDISC

Response

OK

Description

Example:
断开与设备的ID连接
<< AT+HIDDISC
>> OK

AT+HIDOSK - 弹出/退出键盘

Command

AT+HIDOSK

Response

OK

Description

弹出/退出键盘,iso有效

AT+HIDDLY - 读/写HID发送时间

Command

AT+HIDDLY{=Param}

Param

time in milliseconds, default 10ms

Response

OK

Example:
读HID发送时间
<< AT+HIDDLY
>> +HIDDLY=10
>> OK
写HID发送时间
<< AT+HIDDLY=20
>> OK

AT+HIDMODE - 读/写HID模式

Command

AT+HIDMODE{=Param}

Param

HID键盘输入模式(0~1), default 0
0: Hex key code
1: Ascii key code (English)

Response

OK

Example:
读HID模式
<< AT+HIDMODE
>> +HIDMODE=0
>> OK
写HID模式
<< AT+HIDMODE=1
>> OK

AT+HIDSEND - 通过HID发送数据

Command

AT+HIDSEND=Param1,Param2

Param1

report length

Param2

report payload

Response

OK

Note

For special key code:
0x0D -> ENTER
0x08 -> BACKSPACE
0x09 -> TAB
0x20 -> SPACE
Example: 发送字符 ‘A’ 到远端设备 (on AT+HIDMODE=1)
>> AT+HIDSEND=1,A
<< OK
Example: 发送字符 ‘A’ 到远端设备 (on AT+HIDMODE=0)
<< AT+HIDSEND=4, xA1 x01 x00 x04
>> OK
Note: 数据为hex,对应的实际数据如下:
41 54 2B 48 49 44 53 45 4E 44 3D 34 2C A1 01 00 04 0d 0a
Where:
A1 : report start
01 : page id 1
00 : modifier
04 : key code
模块将自动发送弹起键

Wi-Fi指令

AT+ROLE-查询/修改 Wi-Fi 模式

Command

AT+ROLE{=Param}

Param

1: STA 模式
2: AP 模式
3: AP+STA共存模式

Response

+ROLE=Param

Description

设置完成后模块会自动重启

Example:
查询Wi-Fi模式
<< AT+ROLE
>> +MODE=1
>> OK
Example:
设置Wi-Fi模式为AP模式
<< AT+MODE=2
>> OK

AT+SCAN-扫描周围设备

Command

AT+SCAN{=Param}

Param

0: 停止扫描操作
1: 扫描经典蓝牙设备
5: 扫描WiFi热点

Response

+SCAN=Param1,Param2,Param3,Param4,Param5,Param6

Param1

扫描序号

Param2

扫描WiFi热点时:固定值 5; 扫描蓝牙设备时:RSSI

Param3

扫描WiFi热点时:热点的MAC地址; 扫描蓝牙设备时:设备状态

Param4

扫描WiFi热点时:RSSI; 扫描蓝牙设备时:设备MAC地址

Param5

扫描WiFi热点时:热点名称长度; 扫描蓝牙设备时:设备名称

Param6

扫描WiFi热点时:热点名称; 扫描蓝牙设备时: 蓝牙设备类型

Description

扫描周围WiFi热点时,模块需处于 STA 模式,即+ROLE=1
扫描结束后,会返回+SCAN=E
Example:
扫描周围WIFI热点
<< AT+SCAN=5
>> +SCAN=1,5,F0B4292428F0,-42,18,Feasycom_D710_2.4G
>> +SCAN=2,5,F0B4292428F1,-44,16,Feasycom_D710_5G
>> +SCAN=3,5,98BB991F6B45,-48,14,GOCLOUD_1F6B46
>> +SCAN=E
扫描周围经典蓝牙设备
<< AT+SCAN=1
>> +SCAN=1,-56,0,F426792131A2,,2A010C
>> +SCAN=2,-65,0,24952F5B9091,LE_TEST,5A420C
>> +SCAN=3,-63,0,C8154EC0B268,FEASY-20240307H,2A010C
>> +SCAN=4,-57,0,90F052C5951C,MEIZU 20,5A020C
>> +SCAN=E

AT+RAP-连接热点

Command

AT+RAP=<Param1>,<Param2>

Param1

热点的名称

Param2

热点的密码

Response

OK

Description

1. 需在 STA 模式或共存模式下发送该指令,即+ROLE=1 或 3
2. 若需要连接加密方式为 OPEN 的热点,只设置第一个参数即可,如
AT+RAP=Feasycom
3. 发送 AT+RAP,可查询设置的热点名称
4、企业加密的热点请参考AT+EAPCFG指令
Example:
连接名为test,密码为12345678的热点
<< AT+RAP=test,12345678
>> OK
查询当前已设置热点
<< AT+RAP
>> +RAP=test,12345678
>> OK
连接名为test,无密码的热点
<< AT+RAP=test
>> OK

AT+LIP-查询模块 IP 地址

Command

AT+LIP

Response

+LIP=Param

Param

IP 地址

Description

当模块成功连上热点后,会获取到一个 IP 地址,否则返回”0.0.0.0”

Example
查询当前模块IP地址
<< AT+LIP
<< +LIP=192.168.1.100
>> OK

AT+MDNSEN - 查询/修改MDNS功能

Command

AT+MDNSEN{=Param}

Param

0: 关闭MDNS功能(default)
1: 开启MDNS功能

Response

+MDNSEN=Param

Example:
查询MDNS开关
<< AT+MDNSEN
>> +MDNSEN=0
>> OK
打开MDNS功能
<< AT+MDNSEN=1
>> OK

AT+DHCP - 查询/修改DHCP模式

Command

AT+DHCP{=Param}

Param

0:使用静态IP
1:使用动态IP(default)

Response

+DHCP=Param

Description

使用静态IP进行连接时,需设置并保证静态IP、掩码、网关、DNS设置正确,否则网络通信可能存在问题

Example:
查询DHCP模式
<< AT+DHCP
>> +DHCP=1
>> OK
设置为静态IP模式
<< AT+DHCP=0
>> OK

AT+SIP - 查询/修改静态IP

Command

AT+SIP{=Param}

Param

IPV4地址

Response

+SIP=Param

Description

只在静态IP模式下生效,即+DHCP=0

Example:
查询设置的静态IP地址
<< AT+SIP
>> +SIP=0.0.0.0
>> OK
设置静态IP为192.168.0.23
<< AT+SIP=192.168.0.23
>> OK

AT+GW - 查询/修改网关

Command

AT+GW{=Param}

Param

IPV4地址

Response

+GW=Param

Description

只在静态IP模式下生效,即+DHCP=0

Example:
查询设置的网关地址
<< AT+GW
>> +GW=192.168.1.1
>> OK
设置网关地址为192.168.10.1
<< AT+GW=192.168.10.1
>> OK

AT+MASK - 查询/修改子网掩码

Command

AT+MASK{=Param}

Param

IPV4地址

Response

+MASK=Param

Description

只在静态IP模式下生效,即+DHCP=0

Example:
查询设置的子网掩码
<< AT+MASK
>> +MASK=255.255.0.0
>> OK
设置子网掩码为255.255.255.0
<< AT+MASK=255.255.255.0
>> OK

AT+DNS - 查询/修改DNS地址

Command

AT+DNS{=Param}

Param

IPV4地址

Response

+DNS=Param

Description

只在静态IP模式下生效,即+DHCP=0,如果DNS不匹配将无法访问外网

Example:
查询设置的DNS
<< AT+DNS
>> +DNS=0.0.0.0
>> OK
设置DNS为8.8.8.8
<< AT+DNS=8.8.8.8
>> OK

AT+APAC - 查询/修改上电自动连接热点

Command

AT+APAC{=Param}

Param

0:关闭上电自动连接热点
1:开启上电自动连接热点(default)

Response

+APAC=Param

Description

该指令在STA模式或STA+AP共存模式下生效,即+ROLE=1或3

Example:
查询上电自动连接热点
<< AT+APAC
>> +APAC=1
>> OK
设置上电自动连接热点
<< AT+APAC=1
>> OK

AT+RSSI - 查询与热点之间的信号强度

Command

AT+RSSI

Response

+RSSI=Param

Param

RSSI value (-99 ~ 0)

Description

未连接热点时,RSSI的查询结果为0

Example:
查询RSSI
<< AT+RSSI
>> +RSSI=-56
>> OK

AT+MAC - 查询模块Wi-Fi MAC地址

Command

AT+MAC

Response

+MAC=Param

Param

模块的Wi-Fi MAC地址(12 Bytes ASCII)

Description

MAC地址只支持查询, 不支持设置

Example:
<< AT+MAC
>> +MAC=DC0D30800204
>> OK

AT+SCFG - 快速简易配网

Command

AT+SCFG=Param

Param

1:开始简易配网

Response

OK

Note

需搭配特定APP如ESPTOUCH使用

Example:
开始简易配网
<< AT+SCFG=1
同时APP进行相应的操作,然后等待配网完成

AT+LAP - 查询/修改AP模式参数

Command

AT+LAP{=Param1,Param2,Param3}

Param1

模块作为热点时的名称

Param2

模块作为热点时的密码

Param3

模块作为热点时的IP

Response

+LAP=Param1, Param2, Param3

Description

若要将模块配置成 OPEN 加密方式的热点, 则第二个参数可以不用设置, 如AT+LAP=FSC-BW246-AP,192.168.1.1

Example:
查询AP模式参数
<< AT+LAP
>> +LAP=FSC-BW246-AP,12345678,192.168.1.1
>> OK
设置AP模式参数
<< AT+LAP=test,12345678,192.168.10.1
>> OK

AT+WLANC - 启动SOCKET/MQTT/WEBSOCKET

Command

AT+WLANC=Param

Param

3:启动TCP/UDP/SSL等
4:连接MQTT或云平台
5:启动WEBSOCKET

Response

OK

Description

需要在SOCKET连接或者MQTT连接参数都正确设置后再发此条指令

企业加密网络指令

AT+WFTYPE - 查询/修改网络连接类型

Command

AT+WFTYPE{=Param}

Param

0: 无线WiFi连接方式,WEP,WPA/WPA2/WPA3 Personnal方式(默认)
1: 以太网连接
2: 无线WiFi连接方式, WPA/WPA2/WPA3 Enterprise方式

Response

OK

Description

Example:
查询当前连接方式
<< AT+WFTYPE
>> +WFTYPE=0
>> OK
修改为以太网连接方式
<< AT+WFTYPE=1
>> OK

AT+EAPMODE - 查询/修改企业加密类型

Command

AT+EAPMODE{=Param}

Param

1: EAP-TLS
2: EAP-PEAP
3: EAP-TTLS

Response

OK

Description

Example:
查询当前企业加密类型
<< AT+EAPMODE
>> +EAPMODE=1
>> OK
修改为PEAP的连接类型
<< AT+EAPMODE=2
>> OK

AT+EAPCFG - 查询/修改企业加密连接参数

Command

AT+EAPCFG{=Param1,Param2,param3,param4}

Param1

热点的SSID

Param2

EAP-TLS: 此参数不起作用,可任意设置(长度限制64字节)
EAP-PEAP/EAP-TTLS: 用户名(长度限制64字节)

Param3

EAP-TLS: 此参数不起作用,可任意设置(长度限制64字节)
EAP-PEAP/EAP-TTLS: 密码(长度限制64字节)

Param3

identity(长度限制32字节),用于身份校验,大多数情况下可任意设置

Response

OK

Description

必须先设置企业加密类型(AT+EAPMODE)后再来查询/修改这个指令参数

Example:
查询当前企业加密类型
<< AT+EAPCFG
>> ++EAPCFG=802.1X,admin,RSojEXwFKldB5,identify_any
>> OK
修改PEAP的连接参数
<< AT+EAPMODE=2
>> OK
<< AT+EAPCFG=FYT-Test-EAP,gil,12345678,gil
>> OK

AT+ROOTCA - 查询/修改服务器证书

Command

AT+ROOTCA{=Param}

Param

证书内容(小于2500字节)

Response

OK

Description

证书需要是PEM格式,以—–BEGIN CERTIFICATE—–开始
以—–END CERTIFICATE—–结尾
Example:
修改服务器证书
<< AT+ROOTCA=证书内容
>> OK

AT+CLICERT - 查询/修改客户端证书

Command

AT+CLICERT{=Param}

Param

证书内容(小于2500字节)

Response

OK

Description

证书需要是PEM格式,以—–BEGIN CERTIFICATE—–开始
以—–END CERTIFICATE—–结尾
Example:
修改客户端证书
<< AT+CLICERT=证书内容
>> OK

AT+CLIKEY - 查询/修改客户端证书密钥

Command

AT+CLIKEY{=Param}

Param

证书内容(小于2500字节)

Response

OK

Description

证书需要是PEM格式,以—–BEGIN RSA PRIVATE KEY—–开始
以—–END RSA PRIVATE KEY—–结尾
Example:
修改客户端证书密钥
<< AT+CLICERT=证书内容
>> OK

TCP/UDP指令

AT+SOCK - 查询和设置SOCKET

Command

AT+SOCK{=Param1,Param2,Param3,Param4}

Param1

协议类型(TCPS,TCPC,UDP,SSL)

Param2

模块端口号

Param3

远端地址

Param4

远端端口号

Response

+SOCK=Param1, Param2, Param3, Param4

Decription

模块上电后默认开启TCP SERVER, 默认端口9100
将模块设置成 TCP server 时,Param3 和 Param4 可以缺省
将模块设置成 UDP 时,Param3 和 Param4 可以缺省
设置完成后需要使用指令AT+WLANC=3启动SOCKET
Example:
查询SOCK设置
<< AT+SOCK
>> +SOCK=TCPS,9100,0.0.0.0,0
>> OK
设置模块作为TCP Server, 端口8080
<< AT+SOCK=TCPS,8080
>> OK
设置模块作为TCP client, 端口8080,连接远端服务器192.168.0.224,端口6000
<< AT+SOCK=TCPC,8080,192.168.0.224,6000
>> OK
开启模块UDP功能,端口4000
<< AT+SOCK=UDP,4000
>> OK

Note

  • 可以使用此指令配置SOCKET,也可以根据具体的功能使用AT+TCPCSTART,AT+TCPCSTART,AT+UDPSTART等单独的控制指令

AT+WFSEND - 发送SOCKET数据给远端设备

Command

AT+WFSEND=Param1,Param2,Param3

Param1

TCP/UDP连接的ID

Param2

发送数据长度(不超过1460字节)

Param3

发送数据内容

Response

OK

Description

模块作为 TCP server 时,默认最多可以被 5 个远端 client 连接,则 5路连接的 ID 号分别为 0, 1, 2, 3, 4;
模块作为 TCP client 时,通信的 ID 号默认为5;
模块开启 UDP 时,通信的 ID 号默认为6。
Example:
给TCP Client发送数据
<< AT+WFSEND=0,3,123
>> OK
给TCP Server发送数据
<< AT+WFSEND=5,3,123
>> OK
给UDP发送数据
<< AT+WFSEND=6,3,123
>> OK

AT+TCPSSTART - 开启一个TCP SERVER

Command

AT+TCPSSTART=Param

Param

本地端口号

Response

OK

Description

当前只支持开启一个TCP Server,Server默认支持5个Client连接
直接开启服务,不再需要调用AT+WLANC=3
Example:
开启一个本地端口为8080的TCP Server
<< AT+TCPSSTART=8080
>> OK

AT+TCPSCLOSE - 关闭TCP SERVER

Command

AT+TCPSCLOSE

Response

OK

Description

关闭需要等待一段时间,至多5s

Example:
关闭开启的TCP Server
<< AT+TCPSCLOSE
>> OK

AT+TCPSINFO - 查询TCP SERVER的信息

Command

AT+TCPSINFO

Response

+TCPSINFO=Param1,Param2,Param3

Param1

0: Server未开启
1: Server已开启

Param2

已连接的Client个数

Param3

当前Server的端口号

Description

Example:
查询TCP Server的信息
<< AT+TCPSLIST
>> +TCPSINFO=1,2,9100
>> OK

AT+TCPSLIST - 查询模块作为TCP Server时已经连接的Client列表

Command

AT+TCPSLIST

Response

+TCPSLIST=Param1,Param2,Param3

Param1

序号

Param2

Client的IP地址

Param3

Client的端口号

Description

如果没有设备连接则返回空

Example:
查询已经连接的设备列表
<< AT+TCPSLIST
>> +TCPSLIST=0,192.167.0.98,4001
>> +TCPSLIST=1,192.167.0.98,10840
>> OK
查询已经连接的设备列表(没有设备连接时)
<< AT+TCPSLIST
>> OK

AT+TCPSSEND - TCP Server发数据

Command

AT+TCPSSEND=Param1,Param2,Param3

Param1

序号(可以通过AT+TCPCLIST查询获取)

Param2

数据长度

Param3

数据内容

Response

OK

Description

Example:
发送数据123
<< AT+TCPSSEND=0,3,123
>> OK

AT+TCPCSTART - 开启一个TCP Client

Command

AT+TCPCSTART=Param1,Param2,Param3

Param1

序号(0~2,默认只支持最多开启3个TCP Client)

Param2

远端的IP地址

Param3

远端的端口号

Response

OK

Description

同一个序号只能开启一个TCP Client,需要重新开启的话请先关闭当前的TCP Client
直接开启服务,不再需要调用AT+WLANC=3
Example:
开启一个序号为0的TCP Client连接到远程服务器192.167.0.98的6001端口
<< AT+TCPCSTART=0,192.167.0.98,6001
>> OK

AT+TCPCSEND - TCP Client发数据

Command

AT+TCPCSEND=Param1,Param2,Param3

Param1

序号(可以通过AT+TCPSLIST查询获取)

Param2

数据长度

Param3

数据内容

Response

OK

Description

Example:
发送数据123
<< AT+TCPCSEND=0,3,123
>> OK

AT+TCPCLIST - 查询模块作为TCP Client的连接列表

Command

AT+TCPCLIST

Response

+TCPCLIST=Param1,Param2,Param3

Param1

序号

Param2

远端Server的IP地址

Param3

远端Server的端口号

Description

如果没有设备连接则返回空

Example:
查询已经连接的设备列表
<< AT+TCPCLIST
>> +TCPCLIST=0,192.167.0.98,6001
>> +TCPCLIST=1,192.167.0.98,8000
>> OK
查询已经连接的设备列表(没有设备连接时)
<< AT+TCPCLIST
>> OK

AT+TCPCCLOSE - 关闭TCP Client

Command

AT+TCPCCLOSE=Param

Param

序号

Response

OK

Description

关闭需要等待一段时间,至多5s

Example:
关闭序号为0的TCP Client连接
<< AT+TCPCCLOSE=0
>> OK

AT+UDPSTART - 开启一个UDP

Command

AT+UDPSTART=Param1,Param2,Param3

Param1

序号(0~2,默认只支持最多开启3个UDP)

Param2

本地端口号

Response

OK

Description

同一个序号只能开启一个UDP,需要重新开启的话请先关闭当前的UDP
直接开启服务,不再需要调用AT+WLANC=3
Example:
开启一个序号为0,端口为6000的UDP
<< AT+UDPSTART=0,6000
>> OK

AT+UDPCLOSE - 关闭UDP

Command

AT+UDPCLOSE=Param

Param

序号

Response

OK

Description

Example:
关闭序号为0的UDP
<< AT+UDPCLOSE=0
>> OK

AT+UDPSEND - UDP发数据

Command

AT+UDPSEND=Param1,Param2,Param3,Param4

Param1

远程IP地址

Param2

远程端口号

Param3

数据长度

Param4

数据内容

Response

OK

Description

远程IP地址和远程端口号设置为0则表示发送到最近一次接受到数据的远程地址和端口号

Example:
发送数据123到远程地址192.168.1.1,端口号8000
<< AT+UDPSEND=192.168.1.1,8000,3,123
>> OK

WEBSOCKET指令

AT+WSURI - 查询/修改WEBSOCKET地址

Command

AT+WSURI=Param

Param

远端Server地址;

Response

+WSURI=Param

Note

Param地址格式为需要以ws://开头, 如果需要指定端口的话, 在地址后面跟:指定端口

Description

模块暂时不开放wss支持,如有需要请联系技术支持

Example:
模块作为Client访问远程Server
<< AT+WSURI=ws://192.168.0.188:80
>> OK

AT+WSSEND - 发送websocket数据

Command

AT+WSSEND=Param1,Param2

Param1

数据长度

Param2

数据

Response

OK

Description

向WEBSOCKET服务器发送数据

Example:
模块作为Client发送数据
<< AT+WSSEND=10,0123456789
>> OK

AT+WSCLOSE - 关闭WEBSOCKET

Command

AT+WSCLOSE

Response

OK

Description

断开跟远程的WEBSOCKET连接

Example:
关闭WEBSOCKET
<< AT+WSCLOSE
>> OK

AT+WSSTAT - 查询WEBSOCKET状态

Command

AT+WSSTAT

Response

+WSSTAT=Param1

Description

返回WEBSOCKET状态

Example:
查询WEBSOCKET
<< AT+WSSTAT
>> +WSSTAT=3
>> OK

HTTP指令

AT+HEADER - 查询/修改HTTP请求头

Command

AT+HEADER{=Param}

Response

+WSSTAT=Param1

Description

由多个请求头时,以逗号隔开,设置完后需调用AT+CLRHEADER手动清除或下次重启后会自动清除

Example:
为请求头增加格式为applcation/json
<< AT+HEADER=Content-Type:applcation/json
>> OK
为请求头增加范围请求前1K字节
<< AT+HEADER=Range:bytes=0-1023
>> OK
查询当前设置的请求头
<< AT+HEADER
>> +HEADER=Range:bytes=0-1023
>> OK

AT+CLRHEADER - 清除HTTP请求头

Command

AT+CLRHEADER

Response

OK

Description

清除设置的HTTP请求头

Example:
<< AT+CLRHEADER
>> OK

AT+HTTP - 访问HTTP服务器

Command

AT+HTTP=Param1,Param2,Param3{,Param4}

Param1

请求方法, 目前只支持GET和POST

Param2

服务器地址(需要包括http://或https://)

Param3

GET模式下断点续传支持,可缺省,格式为Range:bytes=起始字节-终止字节,也可以在指令AT+HEADER里设置

Response

OK

Description

HTTP服务器默认访问端口为80, HTTPS服务器默认访问端口为443,如果需要修改访问端口, 请在服务器地址后面跟:指定端口, 例如指定端口为778, 则可以用192.168.0.179:778
Example:
访问百度,通过http方式读取全部数据
<< AT+HTTP=GET,http://www.baidu.com
>> OK
>> {具体数据}
访问百度,读取第4-11字节数据
<< AT+HTTP=GET,http://www.baidu.com,Range:bytes=3-10
>> OK
>> {具体数据}
或者使用如下方式
<< AT+HEADER=Range:bytes=3-10
<< AT+HTTP=GET,http://www.baidu.com
>> OK
>> {具体数据}
访问内部HTTPS服务器,下载OTA目录下test.bin文件, 指定端口为778
<< AT+HTTPS=GET,https://192.168.0.179:778/OTA/test.bin
>> OK
>> {具体数据}
POST param1=test_data1&param2=test_data2 到https://httpbin.org/post
<< AT+HTTPS=POST,httpbin.org/post,param1=test_data1&param2=test_data2
>> OK
>> {返回数据}

Note

  • 用户可用httpbin.org 进行测试

SSL指令

AT+SSLCONN - 查询/开启SSL连接

Command

AT+SSLCONN{=Param1,Param2}

Param1

远程服务器地址或域名

Param2

远程服务器端口

Response

+SSLCONN=Param1,Param2

Description

直接开启服务,不再需要调用AT+WLANC=3

Example:
通过域名连接百度
<< AT+SSLCONN=www.baidu.com,443
>> OK
通过IP地址连接百度
<< AT+SSLCONN=183.2.172.42,443
>> OK

AT+SSLSEND - 发送SSL数据给远端服务器

Command

AT+SSLSEND=Param1,Param2

Param1

发送数据长度

Param2

发送数据内容

Response

OK

Description

Example:
连接h百度后,通过GET方式获取数据
<< AT+SSLSEND=18,GET / HTTP/1.1\r\n\r\n
>> (返回网页内容)

AT+SSLSTAT - 查询SSL连接状态

Command

AT+SSLSTAT

Response

+SSLSTAT=Param

Param

(0) 未初始化
(1) 未连接
(2) 连接中
(3) 已连接

Description

Example:
<< AT+SSLSTAT
>> +SSLSTAT=3
>> OK

AT+SSLCLOSE - 关闭SSL连接

Command

AT+SSLCLOSE

Response

OK

Description

Example:
<< AT+SSLCLOSE
>> OK

MQTT指令

AT+BROKER - 查询/修改MQTT broker地址

Command

AT+BROKER{=Param}

Param

MQTT服务器地址

Response

+BROKER=Param

Description

用户可用broker.emqx.io进行测试

Example:
查询MQTT broker地址
<< AT+BROKER
>> +BROKER=broker.emqx.io
>> OK
设置MQTT broker地址
<< AT+BROKER=broker.emqx.io
>> OK

AT+CLIENTID -查询/修改 MQTT client ID

Command

AT+CLIENTID{=Param}

Param

MQTT Client ID

Response

+CLIENTID=Param

Description

CLIENTID需要是唯一的以避免跟其它设备冲突

Example:
查询MQTT Client ID
<< AT+CLIENTID
>> +CLIENTID=user
>> OK
设置MQTT Client ID
<< AT+CLIENTID=447a74ab3e60494e8c97dad36b00399b
>> OK

AT+USERNAME - 查询/修改MQTT USERNAME

Command

AT+USERNAME{=Param}

Param

MQTT USERNAME

Response

+USERNAME=Param

Example:
查询MQTT USERNAME
<< AT+USERNAME
>> +USERNAME=admin
>> OK
设置MQTT USERNAME
<< AT+USERNAME=admin
>> OK

AT+MQTTPWD - 查询/修改MQTT PASSWORD

Command

AT+MQTTPWD{=Param}

Param

MQTT PASSWORD

Response

+MQTTPWD=Param

Example:
查询MQTT MQTTPWD
<< AT+MQTTPWD
>> +MQTTPWD=12345678
>> OK
设置MQTT Password
<< AT+MQTTPWD=12345678
>> OK

AT+SUBTPC - 查询/订阅 MQTT主题

Command

AT+SUBTPC{=Param1,Param2}

Param1

Topic

Param2

QOS值, 只能为0,1或者2

Response

+SUBTPC=Param1,Param2

Example:
查询MQTT TOPIC
<< AT+SUBTPC
>> +SUBTPC=/fsc/bw246/get,0
>> OK
设置MQTT TOPIC
<< AT+SUBTPC=/fsc/bw246/test,2
>> OK

Note

  • 重复订阅同名TOPIC,指令会返回错误

  • 当前最大支持订阅3个不同Topic,如不满足使用需求,在实际使用中建议用户先搭配通配符使用

AT+UNSUBTPC - 取消订阅 MQTT主题

Command

AT+UNSUBTPC=Param

Param

指定需要取消订阅的Topic

Response

OK

Description

取消订阅主题不需要指定QOS值

Example:
<< AT+UNSUBTPC=/fsc/bw246/get
>> OK

AT+UNSUBALL - 取消订阅全部MQTT主题

Command

AT+UNSUBALL

Response

OK

Example:
<< AT+UNSUBALL
>> OK

AT+MQTTCONN - 开始连接MQTT服务器

Command

AT+MQTTCONN

Response

OK

Description

等同于AT+WLANC=4,需要先设置好连接参数后再发此条指令

Example:
<< AT+MQTTCONN
>> OK

AT+MQTTCLOSE - 关闭MQTT连接

Command

AT+MQTTCLOSE

Response

OK

Description

Example:
<< AT+MQTTCLOSE
>> OK

AT+MQTTSEND - 发送MQTT数据

Command

AT+MQTTSEND=Param1,Param2,Param3,Param4

Param1

发布主题

Param2

QOS(0,1,2)

Param3

数据长度

Param4

数据内容

Response

OK

Example:
<< AT+MQTTSEND=fsc/bw246/get,0,3,abc
>> OK

AT+MQTTPORT - 查询/修改 MQTT端口

Command

AT+MQTTPORT{=Param}

Param

MQTT端口值, 默认为1883

Response

+MQTTPORT=Param

Descrirtion

需要根据服务器实际端口来设置

Example:
查询MQTT端口
<< AT+MQTTPORT
>> +MQTTPORT=1883
>> OK
设置MQTT端口为8883
<< AT+MQTTPORT=8883
>> OK

AT+MQTTSTAT - 查询MQTT状态

Command

AT+MQTTSTAT

Response

+MQTTSTAT=Param

Param

(0) 未初始化
(1) 未连接
(2) 连接中
(3) 已连接

Descrirtion

Example:
查询MQTT状态,MQTT返回已连接
<< AT+MQTTSTAT
>> +MQTTSTAT=3
>> OK

AT+MQTTKAI - 查询/修改 MQTT保活心跳时间

Command

AT+MQTTKAI{=Param}

Param

MQTT保活时间, 单位为秒, 默认为120秒

Response

+MQTTKAI=Param

Example:
查询MQTT保活时间
<< AT+MQTTKAI
>> +MQTTKAI=60
>> OK
设置MQTT保活时间为300s
<< AT+MQTTKAI=300
>> OK

Note

  • 请根据实际平台的使用限制来设置, 常见平台如阿里云的MQTT保活时间要求为30秒~1200秒

  • 当设备意外断开连接超过{保活心跳时间*1.5}时,服务器会自动断开连接

固件升级(远程OTA)

AT+OTA - 远程OTA

Command

AT+OTA=Param

Param

需要升级的固件名

Response

OK

Description

固件存放在飞易通服务器,由相关人员提供固件版本,升级成功后模块会返回$OTA=1

Example:
<< AT+OTA=Feasycom_V501
>> OK
>> $OTA=1

AT+FOTA - 自定义服务器远程OTA

Command

AT+FOTA=Param

Param

需要升级的固件路径

Response

OK

Description

升级成功后模块会返回$OTA=1

Example:
<< AT+OTA=http://192.168.1.10/firmware.bin
>> OK
>> $OTA=1

Note

  • 升级过程中不要操作其它指令或者功能,不然可能会导致升级失败或者意外的情况

Events表

MQTT指示

+MQTTSTAT - MQTT状态

Format

+MQTTSTAT=Param

Param

(0) 未初始化
(1) 未连接
(2) 连接中
(3) 已连接

+MQTTDATA - MQTT接收数据

Format

+MQTTDATA=Param1,Param2,Param3

Param1

Topic

Param2

Payload length

Param3

Payload

Example: 通过MQTT从服务器接收到数据”1234567890”
>> +MQTTDATA=/fsc/bw246/get,10,1234567890

WEBSOCKET指示

+WSSTAT - WEBSOCKET状态

Format

+WSSTAT=Param

Param

CLient状态 | (0) 未初始化 | (1) 未连接 | (2) 连接中 | (3) 已连接

+WSDATA - WEBSOCKET接收数据

Format

+WSDATA=Param1,Param2

Param1

Payload length

Param2

Payload

Example: 通过websocket从服务器接收到数据”1234567890”
>> +WSDATA=10,1234567890

SSL指示

+SSLSTAT - SSL Client状态

Format

+SSLSTAT=Param

Param

(0) 未初始化
(1) 未连接
(2) 连接中
(3) 已连接

+SSLDATA - SSL接收数据

Format

+SSLDATA=Param1,Param2

Param1

Payload length

Param2

Payload

Example: 通过SSL从服务器接收到数据”1234567890”
>> +SSLDATA=10,1234567890

TCP/UDP指示

+TCPCDATA - 模块作为TCP Client接收到的数据

Format

+TCPCDATA=Param1,Param2,Param3

Param1

本地Client连接的序号

Param2

Payload length

Param3

Payload

Example: 序号为0的TCP Client连接从服务器接收到数据”1234567890”
>> +TCPCDATA=0,10,1234567890

+TCPSDATA - 模块作为TCP Server接收到的数据

Format

+TCPSDATA=Param1,Param2,Param3

Param1

远端Client连接的序号

Param2

Payload length

Param3

Payload

Example: 从序号为0的TCP Client端接收到数据”12345”
>> +TCPSDATA=0,5,12345

+UDPDATA - 模块接收到UDP数据

Format

+TCPSDATA=Param1,Param2,Param3,Param4

Param1

远端的IP地址

Param2

远端的端口

Param3

Payload length

Param4

Payload

Example: 接收到192.167.0.98从4002端口发来的UDP数据”2222221”
>> +UDPDATA=192.167.0.98,4002,7,2222221

+VER - 模块上报版本号

Format

+VER=Param

Param

版本号信息

>> +VER=V5.0.1

GATT指示

+GATTSTAT - GATT状态

Format

+GATTSTAT=Param

Param

(0) 未初始化
(1) 未连接
(2) 连接中
(3) 已连接

+GATTDATA - GATT接收数据

Format

+GATTDATA=Param1,Param2

Param1

Payload length

Param2

Payload

Example: 通过GATT从远端设备接收到数据“ 1234567890”
>> +GATTDATA=10,1234567890

SPP指示

+SPPSTAT - SPP状态

Format

+SPPSTAT=Param

Param

(0) 未初始化
(1) 未连接
(2) 连接中
(3) 已连接

+SPPDATA - SPP接收数据

Format

+SPPDATA=Param1,Param2

Param1

Payload length

Param2

Payload

Example: 通过SPP从远端设备接收到数据“ 1234567890”
>> +SPPDATA=10,1234567890

+PAIRREQ - 蓝牙配对请求

Format

+PAIRREQ=Param1,Param2,Param3

Param1

配对码

Param2

配对设备的MAC地址

Param3

设备名

>> +PAIRREQ=870702,D8B05378EA77,Redmi 9A

+PAIRED - 蓝牙配对结果

Format

+PAIRED=Param1,Param2,Param3

Param1

状态

Param2

配对设备的MAC地址

Param3

设备名

>> +PAIRED=0,D8B05378EA77,Redmi 9A

HID指示

+HIDSTAT - HIDSTAT状态

Format

+HIDSTAT=Param

Param

(0) 未初始化
(1) 未连接
(2) 连接中
(3) 已连接

应用场景

TCP server 应用

1、设置 Wi-Fi 模式
发送:<<AT+ROLE=1
响应:>> OK
2、连接热点
发送: << AT+RAP=ssid,password
响应: >> OK
3. 查询模块 IP 地址:
发送: << AT+LIP
响应: >> +LIP=192.168.0.97
>> OK
4、将模块设置成 TCP server,端口号为 9100
发送:<< AT+SOCK=TCPS,9100
响应:>> OK
或者直接使用AT+TCPSSTART指令,可以跳过步骤5,详细见指令说明
发送: << AT+TCPSSTART=9100
响应:>> OK
5、模块创建 TCP server
发送:<< AT+WLANC=3
响应:>> OK
6、PC 与模块连接同一个热点,在 PC 上使用网络调试工具,作为 TCP client 连
接模块
_images/example1.png
7、接收数据
<< +TCPSDATA=0,10,1234567890
<< +TCPSDATA=1,10,1234567890
<< +TCPSDATA=2,10,1234567890
8、发送数据
发送: << AT+TCPSSEND=0,3,abc
响应:<< OK

Note

  • 说明:若要使用数据透传,在设置 Wi-Fi 模式前发送 AT+TPMODE=1 即可。

TCP Client应用

1. 设置 Wi-Fi 模式
发送: << AT+ROLE=1
响应: >> OK
2、连接热点
发送: << AT+RAP=ssid,password
响应: >> OK
3、查询模块 IP 地址
发送: << AT+LIP
响应: >> +LIP=192.168.0.87
>> OK
4、PC 与模块连接同一个热点,在 PC 上使用网络调试工具,创建一个 TCP
server, 如,IP 为 192.168.0.79,端口号为:8080
5、将模块设置成 TCP client,并配置远端 IP 和端口号
发送: << AT+SOCK=TCPC,9100,192.168.0.79,8080
响应: >> OK
或者直接使用AT+TCPCSTART指令,可以跳过步骤6,详细见指令说明
发送: << AT+TCPCSTART=0,192.168.0.79,8080
响应: >> OK
6、模块作为 TCP client 对远端发起连接
发送: << AT+WLANC=3
响应: >> OK
_images/example2.png
7、接收数据
发送: << +TCPCDATA=0,10,1234567890
响应: << OK
8、发送数据
发送: << +TCPCSEND=0,3,abc
响应: << OK

Note

  • 说明:若要使用数据透传,在设置 Wi-Fi 模式前发送 AT+TPMODE=1 即可。

UDP应用

1. 设置 Wi-Fi 模式
发送: << AT+ROLE=1
响应: >> OK
2、连接热点
发送: << AT+RAP=ssid,password
响应: >> OK
3、查询模块 IP 地址
发送: << AT+LIP
响应: >> +LIP=192.167.0.87 >> OK
4、将模块配置为UDP
发送: << AT+SOCK=UDP,4000
响应: >> OK
或者直接使用AT+UDPSTART指令,可以跳过步骤5,详细见指令说明
发送: << AT+UDPSTART=0,4000
响应: >> OK
5、模块开启 UDP Server
发送: << AT+WLANC=3
响应: >> OK
6.PC 与模块连接同一个热点,在 PC 上使用网络调试工具,开启一个 UDP
Client,目标 IP 192.167.0.87,目标端口号 4000。
7、接收数据
<< +UDPDATA=192.167.0.10,8000,10,1234567890
8. 发送数据
发送: << AT+UDPSEND=192.167.0.10,8000,3,abc
响应: << OK

Note

  • 若要使用数据透传,在设置 Wi-Fi 模式前发送 AT+TPMODE=1 即可。

SSL Client应用

1. 设置 Wi-Fi 模式,如果已经处于当前模式可跳过此步骤
发送: << AT+ROLE=1
响应: >> OK
2、连接热点
发送: << AT+RAP=ssid,password
响应: >> OK
3、查询模块 IP 地址
发送: << AT+LIP
响应: >> +LIP=192.168.0.97
>> OK
4、将模块设置成 SSL client,并配置远端服务器 和端口号
发送: << AT+SOCK=SSL,9100,httpbin.org,443
响应: >> OK
或者直接使用AT+SSLCONN指令,可以跳过步骤5,详细见指令说明
发送: << AT+SSLCONN=httpbin.org,443
响应: >> OK
5、模块作为 SSL client 对远端发起连接
发送: << AT+WLANC=3
响应: >> OK
6、发送相关请求,如GET请求
发送:<< AT+SSLSEND=40,GET /get HTTP/1.1\r\nHost: httpbin.org\r\n\r\n
7、接收数据
<< +SSLDATA=具体数据

Note

  • 说明:若要使用数据透传,在设置 Wi-Fi 模式前发送 AT+TPMODE=1 即可。

MQTT应用

1. 设置 Wi-Fi 模式
发送: << AT+ROLE=1
响应: >> OK
2、连接热点
发送: << AT+RAP=ssid,password
响应: >> OK
3、查询模块 IP 地址
发送: << AT+LIP
响应: >> +LIP=192.168.0.87
>> OK
4、设置 BROKER地址
发送: << AT+BROKER=broker.emqx.io
响应: >> OK
5、设置 User Name
发送: << AT+USERNAME=admin
响应: >> OK
6. 设置 Password
发送: << AT+MQTTPWD=12345678
响应: >> OK
7. 订阅主题
发送: << AT+SUBTPC=user/get
响应: >> OK
8、 连接MQTT
发送: << AT+WLANC=4 或者 AT+MQTTCONN
响应: >> OK
9. 接收云平台下发的数据
>> +MQTTDATA=topic,qos,10,1234567890
10.发送数据给云平台
发送:<< AT+MQTTSEND=/user/post,0,3,abc
响应:>> OK

企业加密网络应用

1. 设置成企业加密的连接方式
发送: << AT+WFTYPE=2
响应: >> OK
2、设置加密模式
发送: << AT+EAPMODE=1
响应: >> OK
3、设置连接参数
发送: << AT+EAPCFG=FYT-Test-EAP,admin,12345678,admin
响应: >> OK
4、设置证书(如果是EAP-PEAP或EAP-TTLS的连接方式,则跳过此步骤)
发送: << AT+ROOTCA=证书内容
响应: >> OK
发送: << AT+CLICERT=证书内容
响应: >> OK
发送: << AT+CLIKEY=证书内容
响应: >> OK
5、重启模块,自动连接热点
发送: << AT+REBOOT
响应: >> OK
5、查询IP,判断是否连接上
发送: << AT+LIP
响应: >> +LIP=192.168.0.87
响应: >> OK

已连接模式下透传模式的切换

具体指令流程说明
当透传模式开启时, 任何指令都会被当作数据传输, 模块提供了一种方法退出透传模式以发送指令
首先给模块发送+++,此时模块会应答一个a, 再收到模块应答的a之后, 再给模块发送一个a, 就可以暂时退出透传模式了
<< +++
<< a
>> a
>> +ok

Note

  • 透传模式只在蓝牙、TCP/UDP等已连接的情况下生效,所以退出透传的方法也只在这种情况下生效, 正常情况直接发送指令就行

  • 注意以上收发的数据格式有别于AT正常指令, 正常AT指令是以**<CR><LF>**结尾的, 而以上数据不附带任何结束符

配网及空中升级

指令的方式空中升级

具体指令流程说明
1、切换到STA模式, 如果已经处于STA模式, 则可以省略这条指令
<< AT+ROLE=1
>> OK
2、开始连接热点
<< AT+RAP=ssid,password
>> OK
3、查询IP判断是否连上热点,如果能获取到IP则表示已经连上
<< AT+LIP
>> +LIP=192.168.0.87
4、开始升级,固件名由工程师或相关人员提供
<< AT+OTA=Feasycom_V555
>> OK
>> $OTA=1

Note

  • 空中升级固件存于特定服务器上, 并与模块绑定, 可按客户需求更换服务器地址或升级方式

  • 因为要访问特定服务器, 所以需要热点支持访问外网

FeasyWiFi配网及OTA使用说明

具体流程说明
1、在APP STORE或者应用商城下载FeasyWiFi APP
2、进入APP界面, 搜索连接目标模块蓝牙
_images/feasy_wifi_1.jpg
2、正确连接后会跳转到如下界面, 先点击蓝牙配网
_images/feasy_wifi_2.jpg
3、在蓝牙配网界面输入热点名称和密码, 点击开始配网
_images/feasy_wifi_3.jpg
4、配网成功后返回到上一界面, 选择OTA升级, 此时应可以查询到IP地址, 输入需要升级的固件点升级即可
_images/feasy_wifi_4.jpg

Note

  • 需要热点支持访问外网

微信小程序配网及OTA使用说明

具体流程说明
1、微信搜索打开小程序”蓝牙串口”小程序,界面如下,点击下面的设置按钮
_images/feasy_wechat_1.jpg
2、设置界面如下, 点击WiFi模块设置 (其中蓝牙指令工具用于发送空中指令, 即以蓝牙的方式发送AT指令,对模块进行配置)
_images/feasy_wechat_2.jpg
3、先进行蓝牙配网
_images/feasy_wechat_3.jpg
4、蓝牙连接需要升级的设备, 进入到配网界面,输入需要来连接的热点和密码后,点击确定
_images/feasy_wechat_4.jpg
5、配网成功后, 返回到上一界面, 选择空中升级, 输入需要升级的固件, 点击确定, 等待升级结束
_images/feasy_wechat_5.jpg

Note

  • 需要热点支持访问外网

附录

下载 PDF版本

下载PDF版本