当时在做两个单片机之间无线通信,或者单片机与手机无线通信,就像找一个蓝牙和wifi双模的无线模块,一开始看ESP8684(ESP32-C2)这个芯片模组是有wifi和蓝牙的,买回来后才发现他不可以在程序运行中更换蓝牙或者wifi模式,每次需要更改只能重新下载固件,价格大概7块左右,如果需要满足上诉的需求的话,就只能上esp32经典模组了,那价格又高了不少,而且属于有点浪费资源了,后面就发现了这个安信可的Ai-WB2-12F模组,只需要8块左右,就可以蓝牙wifi双模同时开启,于是就使用了这个作为我的无限模块通信设备,使用后准备写一篇博客记录一下与单片机的通信过程和使用过程
这个模组买回来就自带了合适的固件,也可以自己更改固件,但是大部分情况都是适用的
https://blog.csdn.net/Boantong_/article/details/125781602?spm=1001.2014.3001.5501 这个是固件升级说明文档,我们只烧录一个文件,因此,烧录软件部分章节,看5.3部分内容官方文档中AT指令的使用已经写的比较详细了,这里就简单说一下一些我遇到的问题,其余的查看文档足够解决问题了模组总资料: https://docs.ai-thinker.com/wb2AT指令使用文档 https://aithinker-combo-guide.readthedocs.io/en/latest/index.html这些命令都可以到AT命令集中去查看那些后面的数字参数是什么意思这里我用的正点原子的xcom串口助手,进行串口调试
建议每次要设置这些网络时,先复位一下模组,否则有时候网络连接可能会出问题
AT+RST
然后就是按照AT指令文档的使用示例去发送对应的AT指令
如果遇到这个错误,也可以去查看错误码找到相应的问题,不过更快的解决方案是直接发送复位指令,然后发送成功后
这样就可以让手机连接这个模组的热点了
我这里是手机应用商店下载的一款网络调试工具,名字叫做【网络调试精灵】
我们先让手机连接这个模组的热点,账号密码就是刚刚发送的AT指令中包含的数据
手机连接了wifi热点后,无线模组会打印:
然后我们手机打开调试工具
因为无线模组是服务端,所以我们需要在工具中建立一个TCP客户端
主机ip地址可以查看
通过文档我们可以知道黑色框中就是ip地址
我们手网络工具上也填写这个地址端口就是刚刚发送的
AT+SOCKET=3,6666
后面的“6666”
填写这些信息后,点击连接,显示连接成功,如果连接失败的话注意看wifi是不是被自动切换了,或者端口是不是开错了,以及wifi模块有没有正常工作(电流不够可能会开启不了wifi,确保电源能提供最大电流超过500mA)
有这个代表连接成功了
其他的发送数据和接收数据,官方的文档也写得很清楚
我们发送:
手机网络调试工具显示:
然后我们客户端发数据(手机网络调试工具)
这是我网络调试工具发送的
这是我串口接收的
我们这串口工具显示有接收数据
这里因为我想直接读取我最新的发送数据于是我改了读取格式
AT+SOCKETRECVCFG=1
如果你按照默认的格式读取,那么还需要发送读取指令,去读取消息队列中缓存的数据
你还需要发送:
AT+SOCKETREAD=2
去读取数据,那些参数都可以去官方文档查找
AT+SOCKETRECVCFG=0
这样就实现了手机上网络调试工具与无线模组通信,这样以后很多内容就可以无线查看数据和调整参数了,例如制作平衡小车,更改pid参数,就可以用这种方法,当然也可以自己制作软件或者微信小程序调用官方的API代码,还是比较简单的,这里就简单的使用一下别人制作的软件了