【星闪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。

900ebd9f8d2b4c24ae619d93a787312a.png

这个配置一般不用改。

由于主从角色的指定也是运行时决定的,所以主模块和从模块烧写的AT固件是相同的。

固件烧写 

两个模块都必须烧写为AT命令固件,如果一侧为AT命令固件,另一侧为透传固件是不行的。烧写的步骤在前面的博文中已经介绍了,这里不再赘述。

1783fd26e5534e7493238d9ff5500aa5.png

程序执行

程序启动后的日志如下:

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:1OK
AT+SETSLEADDR=111122220009
+SETSLEADDR:1111222209OK
AT+SSETNAME=SERVER
+SSETNAME:SERVEROK
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,-59OK

看到SERVER在列表中,就可以使用AT+CONNECT命令去连接服务器端了。

AT+CCONNECT=SERVEROK+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

结语

至此,我已经测试完成了小熊派的两种固件的测试,总体还算稳定。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/12356.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础(十四)——BASH

BASH 1.BASH定义2.shell的种类3.bash的功能3.1 命令记录功能3.2 命令补全功能3.3 命令别名设置3.4 工作控制、 前景背景控制3.5 程序化脚本: ( shell scripts)3.6 万用字符 4.bash的内置命令5.shell的变量功能5.1 变量的取用5.2 新建变量5.3 …

【前端学习笔记】JavaScript学习一【变量与数据类型】

一、变量 变量是计算机中用来存储数据的“容器”,通俗的理解变量就是使用【某个符号】来代表【某个具体的数值】(数据) 声明:声明(定义)变量有两部分构成:关键字 变量名 JavaScript 使用关键字 let 和 var 来声明&am…

使用Git工具在GitHub的仓库中上传文件夹(超详细)

如何使用Git工具在GitHub的仓库中上传文件夹? 如果觉得博主写的还可以,点赞收藏关注噢~ 第一步:拥有一个本地的仓库 可以fork别人的仓库或者自己新创建 fork别人的仓库 或者自己创建一个仓库 按照要求填写完成后,点击按钮创建…

Linux kernel 堆溢出利用方法(二)

前言 本文我们通过我们的老朋友heap_bof来讲解Linux kernel中off-by-null的利用手法。在通过讲解另一道相对来说比较困难的kernel off-by-null docker escape来深入了解这种漏洞的利用手法。(没了解过docker逃逸的朋友也可以看懂,毕竟有了root权限后&a…

福昕阅读器高级版解决文件上传IEEE PDF eXpress字体未嵌入

文件上传IEEE PDF eXpress字体未嵌入问题 Errors: Font Arial-BoldMT, Arial-ItalicMT, ArialMT is not embedded (93x on pages 2-3,5) 因为没安装adobe,尝试使用福昕阅读器高级版解决(学校统一买的,不知道普通版行不行) 找到潜…

人工智能在智能家居的应用

AI 在智能家居场景中,一方面将进一步推动家居生活产品的智能化,包 括照明系统、音箱系统、能源管理系统、安防系统等,实现家居产品从感知到认知再到决策的 发展;另一方面在于智能家居系统的建立,搭载人工智能的多款产品…

如何管理好自己的LabVIEW项目

在LabVIEW项目开发中,项目管理对于提高开发效率、确保项目质量、减少错误和维护成本至关重要。以下从项目规划、代码管理、测试与调试、版本控制、团队协作等方面,分享LabVIEW项目管理的体会。 ​ 1. 项目规划与需求分析 关键步骤: 需求分析…

51c自动驾驶~合集10

我自己的原文哦~ https://blog.51cto.com/whaosoft/11638131 #端到端任务 说起端到端,每个从业者可能都觉得会是下一代自动驾驶量产方案绕不开的点!特斯拉率先吹响了方案更新的号角,无论是完全端到端,还是专注于planner的模型&a…

vs2022搭建opencv开发环境

1 下载OpenCV库 https://opencv.org/ 下载对应版本然后进行安装 将bin目录添加到系统环境变量opencv\build\x64\vc16\bin 复制该路径 打开高级设置添加环境变量 vs2022新建一个空项目 修改属性添加头文件路径和库路径 修改链接器,将OpenCV中lib库里的o…

蓝牙音响音频功放:【矽源特HAA9809 AB+D类自动切换】

目录 1:HAA9809特性 2:典型应用电路 3:CTRL管脚控制信息 4:一线脉冲控制方式 5:输入电阻,调节放大增益 6:输入电容,调节频响 7:总结 矽源特ChipSourceTek-HAA9809…

大语言模型安全,到底是什么的安全

什么是AI安全 自ChatGPT问世以来,市场上涌现出了众多大型语言模型和多样化的AI应用。这些应用和模型在为我们的生活带来便利的同时,也不可避免地面临着安全挑战。AI安全,即人工智能安全,涉及在人工智能系统的开发、部署和使用全过…

云岚到家 秒杀抢购

目录 秒杀抢购业务特点 常用技术方案 抢券 抢券界面 进行抢券 我的优惠券列表 活动查询 系统设计 活动查询分析 活动查询界面显示了哪些数据? 面向高并发如何提高活动查询性能? 如何保证缓存一致性? 数据流 Redis数据结构设计 如…

餐饮点餐系统(2)

今天我们继续完成我们的项目,本次的目标是为每一个分支选项,创建菜单。 分析:1.首先我们要为每一个分支选项创建一个函数 2.其次是调用我们创建的函数 3.最后创建的自定义函数中会用到,while语句,switch语句&#xff…

某军工变压器企业:通过集团级工业IOT平台,实现数字化转型

概述 近年来,随着全球电力需求的增长和智能电网的推进,变压器市场规模持续扩大。2023年,全球配电变压器市场规模达到143.21亿美元,同比增长8.12%。中国配电变压器市场规模在2023年达到194.35亿元,同比增长14.53%‌。此…

caozha-CEPCS(新冠肺炎疫情防控系统)

caozha-CEPCS,是一个基于PHP开发的新冠肺炎疫情防控系统,CEPCS(全称:COVID-19 Epidemic Prevention and Control System),可以应用于单位、企业、学校、工业园区、村落等等。小小系统,希望能为大…

第8章利用CSS制作导航菜单

8.1 水平顶部导航栏 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><center><h3>简单水平菜单导航栏</h3></center><hr /><nav><ul&g…

《青牛科技GC6150:摇头机驱动芯片的卓越替代品,超越 TMI8150》

在终端工程师们精心打造的科技世界里&#xff0c;摇头机的性能优化一直是关注焦点。今天&#xff0c;我们要向各位终端工程师介绍一款具有革命性的驱动芯片 —— 芯麦 GC6150&#xff0c;它宛如一颗耀眼的明星&#xff0c;在摇头机驱动领域绽放光芒&#xff0c;并且能够完美替代…

C++转义序列

\b \b是一个退格符&#xff08;backspace character&#xff09;&#xff0c;它的作用是将光标向左移动一个位置&#xff0c;但并不会删除光标位置上的字符。这个行为在某些情况下可能会导致视觉上的字符“消失”&#xff0c;但实际上这些字符仍然存在于输出缓冲区中&#xf…

Chrome DevTools Protocol 入门:快速开始

Chrome DevTools Protocol&#xff08;CDP&#xff09; 是一套开放协议&#xff0c;允许外部程序通过 Chrome 浏览器提供的接口与其进行交互。CDP 提供了丰富的功能&#xff0c;使开发者可以远程控制 Chrome 浏览器&#xff0c;包括操作 DOM、监控网络请求、调试代码、截取屏幕…

TCP协议详解

一、整体抓包情况 192.168.111.1:53965请求向192.168.111.128:80发起TCP连接。 注意&#xff1a;TCP连接是TCP端口向TCP端口的连接。 二、TCP连接请求&#xff08;三次握手&#xff09; 此处为简洁隐去端口号。 &#xff08;1&#xff09;192.168.111.1——>192.168.11…