发帖
3 1 1

ai-wb2-32s开箱,配置环境以及at和sdk开发

fxm
注册会员

1

主题

2

回帖

117

积分

注册会员

积分
117
Ai-WB2系列 98 3 前天 15:12
感谢安信可官方的支持,申领的ai-wb2-32s板子到了,下面是板子实拍:
IMG_20250603_230520.jpg
先观察一番,不难发现io口还是比较多的,集成了一个三色的rgb灯,比一般核心板的单色led色彩更丰富.话不多说,进入正题,本文将分at和sdk两种开发方式对板子的蓝牙/wifi,rgb,串口等功能进行验证.

首先是at开发,配置环境算是最简单的了,适合一些简单的开发工作,配置环境可参考这篇链接:
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=208&ctid=23
配好环境后,使用任意串口软件,设置波特率115200,0校验位,1停止位即可进行开发.at指令如下:
https://docs.ai-thinker.com/_media/combo_v4.18p_1.11.0.pdf

在这里踩了个坑,使用at指令的时候一直返回我发出的指令,而不是正常进行回应,最后发现是没敲空格...有的串口软件默认你的回车是发送信息,这个时候可以使用转义符\r\n就可以了,还有发送的时候要选择文本模式不要发hex数据.
1748964912379.png
上电后显示这个就说明环境配好了,简单测试一下.可以看到原理图上控制rgb的是3,14,17引脚,并且不是使用灌电流的方法驱动的,所以0对应灭1对应亮

at命令手册上可以看到:
1748965248078.png
1748965268188.png

先定义三个引脚:
AT+SYSIOMAP=3,3,14,17
再随便挑一个引脚输出高电平,这里输出的是第二个引脚(io14)
AT+SYSGPIOWRITE=2,1
1748966672115.png
IMG_20250603_234644.jpg

可以看到红灯亮起,因此可以确定io14是红灯.

确定了板子正常,环境也正确配置后,我们开始尝试连接蓝牙
AT+BLEMODE=0,设置蓝牙为从机模式并开启蓝牙,找到ai-thinker即可,打开蓝牙调试助手,发送数据
1748967489609.png
可以看到成功通过串口传输接收到的数据

接下来测试wifi连接,由于是校园网,并没有路由器,所以直接用笔记本共享热点进行测试,看到这个板子的宣传页说兼容了主流的路由设备,那就顺便测试一下笔记本热点是否可以兼容吧.
和蓝牙连接类似,都是先指定模式再进行连接,不同的是由于蓝牙是从机设备,无须进行扫描,而wifi连接时,板子作为sta设备,需主动选择ap设备进行连接,所以多了一个扫描.不过如果直接就清楚具体的wifi名,可以跳过扫描
AT+WMODE=1,0,指定wifi工作模式
AT+WSCAN,扫描wifi
在这里出现了一个问题,由于热点设置的是5ghz,没有扫描到,在改成2.4ghz后就迎刃而解了.因此也说明,这个板子只支持2.4ghz的频段,无法兼容5ghz的频段.连接完成后如下:
1748968844099.png

接着打开tcp助手,设置pc作为服务端,打开端口,记住这个端口.通过at指令输入:
AT+SOCKET=4,192.168.137.1,1024
意思是tcp客户端,连接电脑ip,1024端口
连接建立成功
1748969939340.png
能正常传输数据

以上就是at指令开发的尝试,可以发现at指令就像是一头懒驴,只能抽一鞭子动一下,没法做到复杂的控制,只能响应一个实时的,单一的指令,很显然,这是不够用的.
使用sdk开发,首先得重新配一个环境,可以参考以下链接:
这应该是园长的文章,还是挺详细且专业的,需要注意的点是eclipse这个软件挺奇怪的,建立工程后貌似不会自己弹出工作界面,你甚至不知道自己有没有创建成功工程...
经过一番琢磨后,要点在于上方有一个window选项,点进去->show view->C/C++ project创建好工程后按步骤点击即可
屏幕截图 2025-06-04 125933.png
1749013264003.png
成功后如图就是这样了,但是现在只能build,还不能download到板子上,有两种方法,一个是使用类似刚才烧录固件的方法把build好的文件烧录进去,还有就是直接通过这个软件进行烧录,这里就不过多赘述,可以参考这个帖子:
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=45221&ctid=23
浏览文件系统,applicantions存放着很多功能的范例,先试试能不能直接用.

选择蓝牙从机这个文件夹,浏览main.c文件发现应该是和at功能类似,连接蓝牙然后把收到的数据发送给串口.ble_interface.c中可以看到uuid和蓝牙名称.话不多少直接选择这个文件进行build,完成后提示"Please Press Reset Key!",按下rst后开始下载到片上,在手机上连接蓝牙,发送数据可以成功在串口助手中查看到数据.
这里应该需要以管理员方式打开eclipse,否则会提示无法打开串口.

1749015954328.png
Screenshot_20250604_134517.jpg

既然验证了可行性,那么试试能不能改一改实现新的功能.在applicantions->peripherals中可以看到demo_gpio,就拿rgb练练手吧,先看看理解一下代码看看怎么怎么控制gpio以及蓝牙接收到的数据在哪.
可以看到这三个函数:
bl_gpio_enable_output
bl_gpio_output_set
和at指令类似,先使能,再赋值
1749016971278.png
查阅头文件可以看到,bl_gpio_enable_output函数三个参数分别为io口号以及是否上拉/下拉,如此一来便可以方便的控制gpio口了.
再看看蓝牙有关的文件.


1749018791432.png

可以看到这个函数,在接收到数据的时候通过串口发送出来,直接对这个函数进行一点调整,加入对接收到的数据进行判断就行了(当然这样做好像有点屎山了...)
上传的附件: 11.mp4 (9.4 MB, 下载次数: 2)


最后看到可以成功运行,在原有的功能上,如果收到'1'就亮红灯,收到'0'就灭灯,收到其他的不变.当然,多加几个判断实现其他颜色的灯也没问题.
对这个板子的探索就暂时告一段落,还得准备六级和期末考试,之后有时间再看能不能拿它做点小项目吧.

总的来说,这块板子的性能是不错的,at指令也齐全,当然缺点也存在,eclipse这个软件实在不够好用,环境安装起来也不够方便.当然论坛有着颇为详细的资料,包括也有很多前人已经帮忙踩了很多坑,只要耐心相信都是可以克服的.
再次感谢官方,本人只是个菜鸟,有不足或者疏漏之处请大家多多指教.

──── 1人觉得很赞 ────

使用道具 举报

赞~😄
AT指令的?下回试一下
试了一下,非常好,点赞!
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28901 个
  • 话题数: 41439 篇