0


Ai-WB2-01S(WiFi和蓝牙集为一体)

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 模组进行通信,可以遵循以下步骤:
  13. 硬件连接:
    将 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,取决于模块的规格)。
  14. 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);
}

这篇文章能不能帮助到你呢?

如果帮助到了你,点个赞吧

免费,但白嫖万万不可以

标签: 网络

本文转载自: https://blog.csdn.net/2402_85220747/article/details/141435642
版权归原作者 去吗_配吗 所有, 如有侵权,请联系我们删除。

“Ai-WB2-01S(WiFi和蓝牙集为一体)”的评论:

还没有评论