Ai-WB2-01S(WiFi和蓝牙集为一体)
去吗_配吗 2024-10-20 10:01:01 阅读 78
Ai-WB2-01S 模块是由安信可科技(Ai-Thinker)生产的一款多功能物联网通信模块。它集成了 Wi-Fi 和蓝牙(BLE)功能,适用于需要无线连接的多种应用场景,如智能家居、工业自动化、远程监控等。以下是 Ai-WB2-01S 模块的一些关键特性和功能:
1. Wi-Fi 功能:
支持 IEEE 802.11 b/g/n 协议。
支持 20MHz 带宽,最高速率可达 72.2 Mbps。
2. 蓝牙功能:
支持 Bluetooth 5.0,包括 BLE(Bluetooth Low Energy)。
支持 Bluetooth Mesh 网络,适用于大规模设备网络。
3. 处理器和内存:
内置高性能 32 位 RISC CPU。
拥有 276KB 的 RAM,适用于运行复杂的应用程序。
4. 安全特性:
支持安全启动,确保固件的安全性。
支持使用 ECC-256 签名的镜像。
5. 加密功能:
支持 AES 128/192/256 位加密引擎。
支持 SHA-1/224/256 哈希算法。
6. 外设接口:
提供多种外设接口,如 SDIO、SPI、UART、I2C、IR remote、PWM、ADC、DAC、PIR、GPIO 等。
7. 低功耗设计:
支持多种休眠模式,深度睡眠电流仅为 12μA,适合电池供电的应用。
8. 通用 AT 指令:
提供通用的 AT 指令集,方便开发者快速上手和开发。
9. 二次开发支持:
支持二次开发,提供 Windows 和 Linux 开发环境。
10. 固件升级:
支持通过 AT 命令或二次开发进行固件升级。
11. 尺寸和封装:
模块尺寸小巧,便于集成到各种设备中。
12. 开发支持:
提供详细的开发文档、API 和示例代码,帮助开发者快速开发应用。
Ai-WB2-01S 模块的多样性和灵活性使其成为物联网项目的理想选择。开发者可以利用其丰富的功能和接口,轻松实现设备的智能化和网络化。
下面话不多说,我们一起来学习一下它的使用
它支持at命令,我们先来说一下at命令吧,学好at命令才可以使用它
主要功能(包括WiFi和核心功能)
测试模块响应:
命令: AT
作用:检查模块是否处于接收命令状态。
示例:AT
返回:OK 或 AT version: x.x.x ...
2. 查询模块固件版本:
命令: AT+GMR
作用:获取模块的固件版本号和制造商信息。
示例:AT+GMR
返回:AT version: x.x.x ...
3. 设置 Wi-Fi 工作模式:
命令: AT+WMODE=<mode>
作用:配置模块为 Station(1)或 SoftAP(2)模式。
示例:AT+WMODE=1
返回:OK
4. 连接到 Wi-Fi 网络:
命令: AT+WJAP="SSID","PASSWORD"
作用:连接到指定的 Wi-Fi 网络。
示例:AT+WJAP="my_wifi","my_password"
返回:WIFI CONNECTED 或 ERROR
5. 进行 Wi-Fi 网络扫描:
命令: AT+WSCAN
作用:列出所有在范围内的 Wi-Fi 网络。
示例:AT+WSCAN
返回:+WSCAN:SSID,RSSI,BSSID,CHANNEL
OK
6. 建立 TCP 连接:
命令: AT+SOCKET=<socket_id>,"IP_ADDRESS",<PORT>
作用:创建 TCP 连接到指定的服务器。
示例:AT+SOCKET=4,"192.168.1.100",8080
返回:SOCKET CONNECTED
OK
7. 开启透传模式:
命令: AT+SOCKETTT
作用:使模块进入透传模式,允许 UART 和网络之间的数据直接传输。
示例:AT+SOCKETTT
返回:TRANSPARENT MODE
OK
8. 发送数据:
命令: AT+SEND=<len>
作用:通过已建立的 TCP 连接发送数据。
示例:AT+SEND=10
返回:>
(然后输入要发送的数据)
9. 接收数据:
命令: AT+RECV
作用:从 TCP 连接中接收数据。
示例:AT+RECV
返回:+RECV:<len>
接收到的数据
OK
10. 进入低功耗模式:
命令: AT+SLEEP
作用:减少模块的能耗。
示例:AT+SLEEP
返回:SLEEP MODE
OK
11. 使用 WPS 快速连接 Wi-Fi:
命令: AT+WPS
作用:使用 WPS 功能简化 Wi-Fi 连接过程。
示例:AT+WPS
返回:WIFI WPS START
OK
12. 域名解析:
命令: AT+WDOMAIN="example.com"
作用:将域名转换为 IP 地址。
示例:AT+WDOMAIN="example.com"
返回:+WDOMAIN:IP_ADDRESS
OK
13. SNTP 时间同步配置:
命令: AT+SNTPTIMECFG="pool.ntp.org"
作用:配置 SNTP 服务器地址,用于模块的时间同步。
示例:AT+SNTPTIMECFG="pool.ntp.org"
返回:OK
14. 模块复位:
命令: AT+RST
作用:重启模块,用于退出错误状态或重新初始化模块。
示例:AT+RST
(模块将重启)
蓝牙功能
1. 蓝牙初始化:
命令: AT+BINIT
参数:无
作用:初始化蓝牙模块,准备进行蓝牙通信。
示例:AT+BINIT
返回:OK
2. 设置蓝牙模式:
命令: AT+BMODE=<mode>
参数: <mode> - 蓝牙工作模式,例如:
0 :仅广播模式
1 :仅连接模式
2 :广播和连接模式
作用:设置模块的蓝牙工作模式。
示例:AT+BMODE=2
返回:OK
3. 设置蓝牙名称:
命令: AT+BNAME="name"
参数: "name" - 您希望设置的蓝牙设备名称,字符串。
作用:配置模块的蓝牙名称,用于设备识别。
示例:AT+BNAME="Ai-WB2-01S-MyDevice"
返回:OK
4. 设置蓝牙服务 UUID:
命令: AT+BUUID=<service_uuid>
参数: <service_uuid> - 服务的 UUID,通常为 16 位或 32 位十六进制数。
作用:设置蓝牙服务的 UUID,用于 BLE 服务识别。
示例:AT+BUUID=0x123456
返回:OK
5. 设置蓝牙特征 UUID:
命令: AT+BCHAR=<characteristic_uuid>
参数: <characteristic_uuid> - 特征的 UUID,格式同上。
作用:设置蓝牙特征的 UUID,用于 BLE 特征识别。
示例:AT+BCHAR=0xabcdef
返回:OK
6. 蓝牙配对和连接:
命令: AT+BCON=<mac_address>
参数: <mac_address> - 目标设备的 MAC 地址,格式为 xx:xx:xx:xx:xx:xx 。
作用:与指定 MAC 地址的蓝牙设备进行配对和连接。
示例:AT+BCON=12:34:56:78:9a:bc
返回:CONNECTED
OK
7. 蓝牙断开连接:
命令: AT+BDISCON
参数:无
作用:断开当前的蓝牙连接。
示例:AT+BDISCON
返回:DISCONNECTED
OK
8. 蓝牙发送数据:
命令: AT+BSEND=<len>,<data>
参数: <len> - 要发送的数据长度; <data> - 要发送的数据内容。
作用:通过蓝牙发送数据给已连接的设备。
示例:AT+BSEND=10,HelloWorld
返回:SEND OK
9. 蓝牙接收数据:
命令: AT+BRECV
参数:无
作用:从蓝牙连接中接收数据。
示例:AT+BRECV
返回:+BRECV:14
Some received data
OK
10. 蓝牙广播开启:
命令: AT+BADV
参数:无
作用:开启蓝牙广播,使设备可被发现。
示例:AT+BADV
返回:ADVERTISING STARTED
OK
11. 蓝牙广播关闭:
命令: AT+BADVSTOP
参数:无
作用:停止蓝牙广播。
示例:AT+BADVSTOP
返回:ADVERTISING STOPPED
OK
12. 蓝牙设置广播参数:
命令: AT+BADVPARAMS=<adv_interval_min>,<adv_interval_max>,<adv_channel_map>
参数: <adv_interval_min> - 广播间隔最小值; <adv_interval_max> - 广播间隔最大值; <adv_channel_map> - 广播使用的频道映射。
作用:设置蓝牙广播参数,包括广播间隔和使用的频道。
示例:AT+BADVPARAMS=160,160,7
返回:OK
知识拓展
使用Arduino硬件连接此模块并执行AT命令:
要使用 Arduino 执行 AT 命令与 Ai-WB2-01S 模组进行通信,可以遵循以下步骤:
1. 硬件连接:
将 Ai-WB2-01S 模组的 TX(发送)引脚连接到 Arduino 的 RX(接收)引脚。
将 Ai-WB2-01S 模组的 RX(接收)引脚连接到 Arduino 的 TX(发送)引脚。
连接 Ai-WB2-01S 模组的 GND(地)引脚到 Arduino 的 GND 引脚。
确保 Ai-WB2-01S 模组的 VCC(电源)接到适当的电压源(通常为 3.3V 或 5V,取决于模块的规格)。
2. Arduino 编程:
在 Arduino IDE 中创建一个新的草图。
包含用于串口通信的库:#include <SoftwareSerial.h>
初始化软件串口,将 Arduino 的数字引脚与 Ai-WB2-01S 模组的 RX 和 TX 引脚相连接:SoftwareSerial mySerial(<RX>, <TX>); // RX, TX - 根据实际连接的引脚修改
在 setup() 函数中,设置串口的波特率,并初始化软件串口:void setup() {
Serial.begin(115200); // 与 Ai-WB2-01S 模组通信的波特率
mySerial.begin(115200); // 软件串口的波特率
// 等待串口准备就绪
while (!Serial) {
; // 等待
}
}
在 loop() 函数中,发送 AT 命令并读取响应:void loop() {
// 发送 AT 命令
mySerial.println("AT");
// 等待响应
delay(1000); // 等待响应时间可能需要根据实际情况调整
// 读取响应
String response = mySerial.readString();
Serial.println(response);
}
3. 上传代码:
将编写好的代码上传到 Arduino。
4. 监视串口输出:
在 Arduino IDE 中打开串口监视器,查看 Ai-WB2-01S 模组的响应。
5. 调试和测试:
根据需要修改 AT 命令并测试不同的功能。
6. 示例代码: 下面的示例代码演示了如何发送一个简单的 AT 命令并打印响应:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(115200);
mySerial.begin(115200);
while (!Serial) {
; // 等待
}
}
void loop() {
// 发送 AT 命令
mySerial.println("AT+GMR");
// 简单的延迟,等待响应
delay(1000);
// 读取响应
String response = mySerial.readString();
Serial.println(response);
// 简单的延迟,再次发送命令
delay(1000);
}
这篇文章能不能帮助到你呢?
如果帮助到了你,点个赞吧
免费,但白嫖万万不可以
上一篇: 前端的AI工具:ChatGPT Canvas与Claude Artifacts对比 -仅仅是OpenAI一个迟来的追赶吗?- 贺星舰五飞试验成功
下一篇: 动手学深度学习(预备知识)
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。