WIOTA快速AT指令

注:此文档用于通过个人编写AT指令进行快速搭建wiota网络通信,可参考文档进行通信测试。
具体测试请以官网标准固件为准

固件下载

异步版本:

fast_at_wiota_async.bin (292.6 KB)
源代码: Jzouzou/fast_at_wiota_async (github.com)

同步版本:

iote:fast_at_wiota_iote.bin (293.2 KB)
源代码: Jzouzou/fast_at_wiota_iote (github.com)
ap:fast_at_wiota_ap.bin (941.7 KB)
源代码: Jzouzou/fast_at_wiota_ap (github.com)

异步版本快速启动AT指令说明文档

1.1AT+WIOTAFASTBOOT

用于快速启动协议栈

Command:+WIOTAFASTBOOT=< mode >,< isReceiver >,[< freq >]

mode:必选参数 设置wiotacofig模式

  • mode == 0:普通模式 256 200K

  • mode == 1:高速模式 未验证

  • mode == 2:远传模式 未验证

  • mode == 3:使用静态数据中的config

isRecevier: 必选参数 设置是否为接收方

  • isRecevier == 0:FALSE 设置为发送方 ID = 0x87654321

  • isRecevier == 1:TURE 设置为接收方 ID = 0x12345678

frequency:可选参数 设置频点,若不输入则为默认值45

例:

AT+WIOTAFASTBOOT=0,0

AT+WIOTAFASTBOOT=0,1,40

1.2AT+WIOTAFASTSEND

用于快速发送数据,使用指令后,给接收方发送数据,数据为Hello Wiota!

发送成功 返回 Send succ

发送失败 返回 Send fail

例:AT+WIOTAFASTSEND

1.3AT+WIOTACYCLESEND

周期发送数据测试

Command:AT+WIOTACYCLESEND

使用后,每过五秒发送给接收方发送一次数据(发送结束后再等待五秒再执行下次发送),数据为Hello Wiota! 发送数据的超时时间为五秒

例:AT+WIOTACYCLESEND

Command:AT+WIOTACYCLESEND=< timeout>,< data_len>,< delaytime>,< recvid>

timeout:超时时间,单位ms

data_len:生成发送数据的数据长度

delaytime:延时时间,单位ms

recvid:接收方USERID 为0的话为广播

例:AT+WIOTACYCLESEND=5000,20,6000,12345678

1.4AT+WIOTAENDCYCLE

Command:AT+WIOTAENDCYCLE

结束周期发送数据测试

例:AT+WIOTAENDCYCLE

2 异步版本指令使用流程

注:< 表示为发送指令无误后接收到的数据

发送端 接收端
初始化 AT+WIOTAFASTBOOT=0,0
<+WIOTAINIT: OK
+WIOTAUSERID=0x87654321: OK
+WIOTASYSTEMCONFIG=1,1,1,8,1,3,0x0,0x21456981: OK
+WIOTAFREQ=45: OK
+WIOTASUBFNUM: 8: OK
+WIOTABCROUND=3: OK
+WIOTAPOWER=0: OK
+WIOTAMCS=0: OK
+WIOTARUN=1: OK
OK
AT+WIOTAFASTBOOT=0,1
<+WIOTAINIT: OK
+WIOTAUSERID=0x12345678: OK
+WIOTASYSTEMCONFIG=1,1,1,8,1,3,0x0,0x21456981: OK
+WIOTAFREQ=45: OK
+WIOTASUBFNUM: 8: OK
+WIOTABCROUND=3: OK
+WIOTAPOWER=0: OK
+WIOTAMCS=0: OK
+WIOTARUN=1: OK
OK
发送端发送指令,发送数据Hllo wiota! 给接收端 AT+WIOTAFASTSEND
+WIOTARECV,-58,17,0,0,12,Hello Wiota!
进行周期发送 <ok
cycle thread

==========The 1TH cycle send========
Send succ
==========The 2TH cycle send========
Send succ
==========The 3TH cycle send========
Send succ
>+WIOTARECV,-58,15,0,0,12,Hello Wiota!
+WIOTARECV,-58,15,0,0,12,Hello Wiota!
+WIOTARECV,-58,15,0,0,12,Hello Wiota!
发送端发送指令,根据输入的数据长度生成字符串进行周期发送 AT+WIOTACYCLESEND=10000,100,3000,12345678 +WIOTARECV,-49,17,0,0,100,abcdefghijklmnopqrstuvwxyzabc
defghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcde
fghijklmnopqrstuv
生成20字节数据进行周期发送测试 <timeout = 10000
len = 20
delay_time = 6000
abcdefghijklmnopqrstOK

cycle thread

==========The 1TH cycle send========
Send succ
==========The 2TH cycle send========
Send succ
==========The 3TH cycle send========
Send succ
<+WIOTARECV,-58,17,0,0,20,abcdefghijklmnopqrst
+WIOTARECV,-58,17,0,0,20,abcdefghijklmnopqrst
+WIOTARECV,-58,17,0,0,20,abcdefghijklmnopqrst
结束周期发送 AT+WIOTAENDCYCLE

同步版本快速启动AT指令说明文档(AP和IOTE均适用)

1.1AT+WIOTAFASTBOOT

用于快速启动协议栈

Command:+WIOTAFASTBOOT==< mode>,[< freq>]

mode:必选参数 设置wiotacofig模式

  • mode == 0:普通模式 256 200K

  • mode == 1:高速模式 未验证

  • mode == 2:远传模式 未验证

  • mode == 3:使用静态数据中的config

frequency:可选参数 设置频点,若不输入则为默认值45

例:

AT+WIOTAFASTBOOT=0

AT+WIOTAFASTBOOT=0,40

1.2AT+WIOTAFASTSEND

用于快速发送数据,使用指令后,发送数据为Hello Wiota!

发送成功 返回 Send succ

发送失败 返回 Send fail

例:AT+WIOTAFASTSEND

1.3AT+WIOTACYCLESEND

周期发送数据测试

Command:AT+WIOTACYCLESEND

使用后,每过五秒发送给接收方发送一次数据(发送结束后再等待五秒再执行下次发送),数据为Hello Wiota! 发送数据的超时时间为五秒

例:AT+WIOTACYCLESEND

Command:AT+WIOTACYCLESEND==< timeout>,< data_len>,< delaytime>

timeout:超时时间,单位ms

data_len:生成发送数据的数据长度

delaytime:延时时间,单位ms

例:AT+WIOTACYCLESEND=5000,20,6000

1.4AT+WIOTAENDCYCLE

Command:AT+WIOTAENDCYCLE

结束周期发送数据测试

例:AT+WIOTAENDCYCLE

2.同步版本指令使用流程

注:< 表示为发送指令无误后接收到的数据

AP端 IOTE端
初始化 AT+WIOTAFASTBOOT=0 AT+WIOTAFASTBOOT=0
需先初始化AP再初始化IOTE端 <+WIOTAINIT: OK

+WIOTACONFIG=0,1,1,0,1,0,3,0,1,0x21456981: OK

+WIOTAFREQ=45: OK

+WIOTARUN=1: OK

OK
<+WIOTAINIT: OK

+WIOTACONFIG=0,1,1,0,1,0,3,0,1,0x21456981: OK

+WIOTAFREQ=45: OK

+WIOTARUN=1: OK



+WIOTACONNECT: OK

OK
iote发送数据给ap AT+WIOTAFASTSEND
iote发送指令后可在ap接收到数据 <+WIOTARECV:0x87654321,0,12:
Hello Wiota!
<Send succ

OK
ap发送广播消息 AT+WIOTAFASTSEND
ap发送广播消息后网络下所有终端均可收到 <Send succ
OK
<+WIOTARECV,1,12,Hello Wiota!
iote进行周期发送测试 AT+WIOTACYCLESEND
ap可定时接收到终端发送的消息 >+WIOTARECV:0x87654321,0,12:

Hello Wiota!
+WIOTARECV:0x87654321,0,12:

Hello Wiota!
+WIOTARECV:0x87654321,0,12:

Hello Wiota!
>ok
cycle thread

==========The 1TH cycle send========
Send succ
==========The 2TH cycle send========
Send succ
==========The 3TH cycle send========
Send succ
iote设置参数后进行周期发送 AT+WIOTACYCLESEND=10000,200,6000
根据设置后的延时时间,发送超时时间以及发送数据长度进行周期发送 <+WIOTARECV:0x87654321,0,20:

abcdefghijklmnopqrst



+WIOTARECV:0x87654321,0,20:

abcdefghijklmnopqrst



+WIOTARECV:0x87654321,0,20:

abcdefghijklmnopqrst
<timeout = 10000
len = 20
delay_time = 6000
abcdefghijklmnopqrstOK

cycle thread

==========The 1TH cycle send========
Send succ
==========The 2TH cycle send========
Send succ
==========The 3TH cycle send========
Send succ
结束iote周期发送测试 AT+WIOTAENDCYCLE
<OK
ap进行周期发送广播测试 AT+WIOTACYCLESEND
iote可定时接收到ap发送的消息 >ok
cycle thread

==========The 1TH cycle send========
Send succ
==========The 2TH cycle send========
Send succ
==========The 3TH cycle send========
Send succ
>+WIOTARECV:1,12,Hello Wiota!
+WIOTARECV:1,12,Hello Wiota!
+WIOTARECV:1,12,Hello Wiota!
ap设置参数后进行周期发送 AT+WIOTACYCLESEND=10000,200,6000
根据设置后的延时时间,发送超时时间以及发送数据长度进行周期发送 <timeout = 10000
len = 200
delay_time = 6000
abcdefghijklmnopqrstOK

cycle thread

==========The 1TH cycle send========
Send succ
==========The 2TH cycle send========
Send succ
==========The 3TH cycle send========
Send succ
>+WIOTARECV:1,20,acdefghijklmnopqrst
+WIOTARECV:1,20,acdefghijklmnopqrst
+WIOTARECV:1,20,acdefghijklmnopqrst
结束ap周期发送测试 AT+WIOTAENDCYCLE
<OK