半岛·综合体育(中国)官方网站 bandao sports

新闻中心

诚邀各行业优秀的合作伙伴与半岛·综合体育一起共建生态

超详细!一文介绍安信可Ai-Thinker BW16模组搭建Arduino开发环境!

2024-01-31

97
分享

安信可Ai-Thinker BW16模组是基于 RTL8720DN开发的双频Wi-Fi+蓝牙SoC模组,具备超强性能。本文着重介绍安信可Ai-Thinker BW16及开发板如何搭建Arduino开发环境。

一、BW16模组产品特性

首先,我们先来了解一下BW16模组及开发板特性,BW16同时支持2.4GHZ/5.8GHZ双频WiFi+蓝牙低功耗蓝牙5.0双模;因其双频设置,BW16具备更强的抗干扰能力、更稳定的WiFi无线信号和更快的传输速度,可以节省更多的电量。

此外,安信可Ai-Thinker BW16集成了ARM V8(兼容 Cortex-M4F)高性能 MCU、ARM V8M(兼容 Cortex-M0)低功耗 MCU、WLAN(802.11 a / b / g / n)、MAC,蓝牙基带和 RF 基带,BW16 同时集成了内部存储器,支持简单的应用程序开发,可实现完整的 Wi-Fi 和 BT 5.0 协议功能,能被广泛地应用在物联网领域。具备丰富的外围接口,可以满足开发者快速完成不同产品的硬件开发;

值得一提的是,安信可Ai-Thinker BW16模组支持SSID混频路由配网,2.4GHz和5GHz两个频段的SSID合并成一个,用户只需要连接一个SSID就可以完成配网,不仅简化了配网流程,也提升了配网成功率;

且安信可Ai-Thinker BW16模组支持AWS IoT Core平台,使用户能够轻松地连接和控制设备;BW16模组支持Matter协议,将云端和物联网设备紧密联系起来,大大简化了设备的管理和运维工作,使用户能够更好地专注于业务开发和创新。

基本参数

  • 支持 802.11a/b/g/n,2.4GHz or 5GHz;
  • 支持 HT20/HT40 模式;
  • 支持低功耗信标监听模式,低功耗接收模式,低功耗挂起模式;
  • 内置 AES / DES / SHA 硬件引擎; n
  • 支持 TrustZone-M,支持安全启动;
  • 支持 SWD 调试端口访问保护和禁止模式;
  • 支持 BLE 5.0;
  • 蓝牙支持高功率模式(7dBm,与 Wi-Fi 共享同一PA);
  • Wi-Fi 和蓝牙共用同一天线;
  • 支持 STA/AP/STA+AP 工作模式;n
  • 支持安卓、IOS 的 Simple Config(APP)Wi-Fi 一键配网;
  • 支持蓝牙辅助配网;
  • 支持串口本地升级和远程固件升级(FOTA);
  • 支持二次开发,支持 Linux 和 Window 环境下编程;
  • 支持Arduino开发;

二、如何搭建Arduino开发环境?

Arduino在国外也是非常火爆的开发方式,它包含硬件(各种型号开发板)和软件(Arduino IDE),你只要在ArduinoIDE中编写程序代码,将程序上传到Arduino电路板后,就能实现软体对硬件的控制。

Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。

具体步骤如下:

1、BW16模组及开发板简介

作为2.4GHZ/5.8GHZ双频WiFi+蓝牙低功耗蓝牙5.0双模模组,BW16 开发板的尺寸为 50.4*25.4(±0.2) mm。它使用Micro USB供电,这在很多智能设备中都很常见。

更多资料见:

https://docs.ai-thinker.com/rtl87xx

BW16 的引脚图和功能请参考下图和下表。

BW16 Pinmap

清除flash或上传固件时,开发板需要上传模式。

2、设置开发环境

步骤一、 环境配置

BW16 (RTL8720DN) 开发板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu) 和 macOS。为了获得最佳体验,请使用最新版本的作业系统。

步骤二、 设定 Arduino IDE

从 1.6.5 版本开始,Arduino IDE 支持第三方硬件。 Arduino IDE用于在BW16上开发应用程序,以及Arduino基本范例(refer to the basic example link)。

Arduino IDE 可以在 Arduino 网站下载: https://www.arduino.cc/en/Main/Software

安装完成后,打开Arduino IDE。请打开 “File” -> “Preferences”;

并将以下 URL 复制到“Additional Boards Manager URLs”栏位: https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek.com_amebad_index.json

从 v3.0.8版本开始,Ameba Arduino将支持BW16开发板。

接下来,打开 “Tools” -> “Board” -> “Boards Manager”:

“Boards Manager”大约需要几秒钟来刷新所有硬件文件(如果网络状况不好,可能需要更长的时间)。在列表中找到“Realtek Ameba Boards (32-bits ARM Cortex-M33 @200MHz)”,点击“Install”,Arduino IDE会自动开始下载AmebaD包含BW16所需的文件。

如果您遇到 GitHub 下载问题,请参考以下连结 中的“下载/软体开发套件”。有3个部分。

1. “AmebaD_Arduino_patch1_SDK”,请至少选择 1 个 SDK。目前有 5 个最新发布的 SDK 选项。

2. “AmebaD_Arduino_patch2_Tools”,请根据您的作业系统进行选择。有 Windows、Linux 和 MacOS。

3. “AmebaD_Arduino_Source_Code”,此部分为可选下载,用来参考最新原始码。

下载选择的文件,然后解压(patch1 和patch2 是必须的)。有“Install.doc”/“Install.pdf”供您参考安装步骤。根据您的系统,请运行“Offline_SDK_installation_tool”文件夹中的安装工具。

安装运行成功后,您可以打开Arduino IDE并选择 “Tools” -> “Board” -> “Ameba ARM (32-bits) Boards” ->” BW16(RTL8720DN)” 来选择AmebaD作为当前连接的开发板。

步骤三、 安装串行端口

首先,通过 Micro USB 将开发板连接到电脑:

BW16

对应连接后,会自动安装USB驱动。如果连接板有驱动问题,请到http://www.wch- ic.com/downloads/CH341SER_ZIP.html 参考 USB 驱动程序。在 Windows 作业系统的装置管理员中检查 COM 端口号:

到“Tools”->“Port”并选择正确的 COM 端口。

进入“Tools”->“Serial Monitor”,将baud rate设置为“115200”,然后按RST按钮检查串口连接。

步骤四、 清除 flash

根据生产批次的不同,部分开发板可能内置了预设的B&T固件,固件信息如下图所示:

固件位于 OTA 部分。所有新编译的固件将被 OTA 固件自动替换。因此,需要先清除 OTA 固件才能使用已编译的固件。

方法一:Arduino SDK V3.1.3 之后的“Erase Flash Enable”。

选择“Tools”->“Erase Flash”->“Enable”

然后进入上传模式。

• 自动。选择“Tools”->“Auto Upload Mode”->“Enable”。

接下来,选择“Sketch”->“Upload”。 “Erase flash done” 会出现。

按RST按钮来检查串行监视器和重制开发板。如果只有“#”表示清除flash成功。记得选择“Tools”->“Erase Flash”->“Disable”。

尝试操作范例

Step 1. 编译与上传

Arduino IDE提供了很多内建的范例,可以在开发板上直接编译、上传和运行。这里,我们以“Blink”为例进行第一次尝试。

打开 “File” -> “Examples” -> “01.Basics” -> “Blink”:

板载 RGB LED,预设“LED_BUILTIN”为绿色。将“LED_BUILTIN”更改为“LED_R”、“LED_G”或“LED_B”以获得红色、绿色或蓝色。

接下来,直接编译范例代码。 “Sketch”->“Verify/Compile”。然后如果没有编译错误,接着“Sketch”->“Upload”。

• 检查并选择 “Tools” -> “Erase Flash” -> “Disable”。


• 进入上传模式。手动或自动。选择 “Tools” -> “Auto Upload Mode” -> “Enable”/ ”Disable”。

• “Verify/Compile” 和 “Upload”. “Upload” 包括 “Verify/Compile”, “Verify/Compile” 可以跳过。

上传成功会显示“All images are sent successfully!”

Step 2. 执行 Blink 范例


板子将自动重置,如果板子不支持自动上传模式,请按 RST 按钮。板载 RGB LED 将闪烁。


在每个范例中,Arduino 不仅提供了范例代码,还提供了详细的文档,包括接线图、范例代码说明、技术细节等。这些范例可以直接在 BW16 上使用。请参阅以下连结中的 Blink 详细信息:

https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink


以上就是本期分享的内容,希望能帮助大家快速进行BW16模组方案的开发,如有其他疑问,也欢迎给我们留言,届时为您解答哦!



安信可更多产品信息可点击以下链接查阅:

►开发资料:https://docs.ai-thinker.com/

►官方教程:https://blog.csdn.net/Boantong_

►安信可官网:https://www.ai-thinker.com

►安信可社区:http://bbs.ai-thinker.com/

►业务咨询请联系:18022036575