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 模组进行通信,可以遵循以下步骤:
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);
}

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

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

免费,但白嫖万万不可以

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值