【星闪EBM-H63开发板】AT固件的配置与测试
引言
前面的博客已经介绍了【星闪EBM-H63开发板】小熊派固件中心的使用_bearpi-bm h63固件烧录工具-CSDN博客和【星闪EBM-H63开发板】固件的烧录-CSDN博客,今天来测试一下另一种固件,也就是AT固件。有关AT固件的介绍参见:【星闪EBM-H63开发板】AT固件的接口简介-CSDN博客。
固件中心的配置
和透传固件不同,AT固件的很多配置工作是在运行过程中通过AT命令编程实现的,所以固件中心的配置就非常简单,只有个串口组的配置。
- 串口组,表示AT命令交互使用的串口组,可选串口0或串口1,串口默认波特率为115200
注:当串口组选串口0时,串口TX引脚对应芯片UART0_TXD,RX引脚对应芯片UART0_RXD;当串口组选串口1时,串口TX引脚对应芯片UART1_TXD,RX引脚对应芯片UART1_RXD。
这个配置一般不用改。
由于主从角色的指定也是运行时决定的,所以主模块和从模块烧写的AT固件是相同的。
固件烧写
两个模块都必须烧写为AT命令固件,如果一侧为AT命令固件,另一侧为透传固件是不行的。烧写的步骤在前面的博文中已经介绍了,这里不再赘述。
程序执行
程序启动后的日志如下:
boot.
Flash Init Fail! ret = 0x80001341
verify_public_rootkey secure verify disable!
verify_params_key_area secure verify disable!
verify_params_area_info secure verify disable!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
SSB Uart Init Succ!
SSB Flash Init Succ!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
veriboot.
Flash Init Fail! ret = 0x80001341
verify_public_rootkey secure verify disable!
verify_params_key_area secure verify disable!
verify_params_area_info secure verify disable!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
SSB Uart Init Succ!
SSB Flash Init Succ!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
************************************
BearPi SLE_AT
V2024_r1
Powered by www.bearpi.cn
************************************
at cmd ready.
日志和透传固件差不多,唯一的区别在于最后显示“at cmd” ,表示是个AT命令固件。
输入AT+HELP,就可以看到所有支持的命令。
AT+HELP
AT+HELP:Show cmd list
AT+RESET:Reboot device
AT+RESTORESET:Restore factory settings
AT+SETUARTCFG:Set uart config
AT+SETTXPOWER:Set tx power
AT+MODLE:Set server-client mode
AT+SLEADDR:Set Mac address
AT+SKEY:Server set key
AT+SSERVER:Server set the working mode
AT+SCLIST:Server obtains client list
AT+SSEND:Server send hex data
AT+SSENDALL:Server send hex data to all clients
AT+SSENDSTR:Server send string data
AT+SSENDALLSTR:Server send string data to all clients
AT+SBLACK:Server set blacklist
AT+SRADIOFRE:Server set broadcasting frequency
AT+SKILLCLIENT:Server disconnect from the client
AT+SSETNAME:Server set name
AT+CKEY:Client set key
AT+CCONNECT:Client connect server
AT+CDISCONNECT:Client disconnect from the server
AT+CSEND:Client send hex data
AT+CSENDSTR:Client send string data
AT+CSLIST:Client obtains server list
AT+CSETNAME:Client set name
作为星闪服务器端的开发板执行如下命令:
AT+SETMODE=1 //设置为服务端模式
AT+SETSLEADDR=111122220009 //设置服务端MAC地址
AT+SSETNAME=SERVER //设置服务端名称为SERVER
AT+SSERVER=1 //服务端开启服务,等待连接
得到的日志如下:
AT+SETMODE=1
+SETMODE:1
OK
AT+SETSLEADDR=111122220009
+SETSLEADDR:1111222209
OK
AT+SSETNAME=SERVER
+SSETNAME:SERVER
OK
AT+SSERVER=1
+SSERVER:1,0,
OK
作为客户端的开发板执行如下指令:
AT+SETMODE=0 //设置为客户端模式
AT+SETSLEADDR=111122220001 //设置客户端MAC地址
AT+CSETNAME=CLIENT1 //设置客户端名称为CLIENT1
客户端要执行以下配置命令:
AT+SETMODE=0 //设置为客户端模式
AT+SETSLEADDR=111122220001 //设置客户端MAC地址
AT+CSETNAME=CLIENT1 //设置客户端名称为CLIENT1
然后就可以执行AT+CSLIST 搜索并获取服务端列表。
AT+CSLIST
SERVER,111122220009,-59
OK
看到SERVER在列表中,就可以使用AT+CONNECT命令去连接服务器端了。
AT+CCONNECT=SERVER
OK
+CONNECT:0,0,1111222209
同时,在服务器端也可以看到有客户端进行连接。
+CONNECT:0,0,1111222201
接下来就可以在客户端用AT+CSEND命令发送数据了,这条命令中的数据必须是ASCII码的16进制形式。比如AT+CSEND=30313233343536373839将发送“0123456789”字符串。
AT+CSEND=30313233343536373839
+CSEND:30313233343536373839
此时服务器端会显示接收到的数据。
+SRECVDATA:CLIENT1,30313233343536373839
服务器端也可以用AT+SEND命令发送数据,由于SLE支持一对多通信,所以发送数据时要制定客户端的名字。
AT+SSEND=CLIENT1,313233
+SSEND:CLIENT1,313233
客户端显示正常收到数据。
+CRECVDATA:313233
结语
至此,我已经测试完成了小熊派的两种固件的测试,总体还算稳定。