Ameba ARDUINO: Getting Started with AMB82 MINI (RTL8735B)
介绍
Ameba 是一个易于编程的平台,用于开发各种物联网应用程序。 AMB82 MINI配备丰富的外围接口,包括WiFi、BLE、GPIO INT、I2C、UART、SPI、PWM、ADC。通过这些接口,AMB82 MINI可以连接LED、开关、压力计、湿度计、PM2.5粉尘传感器等电子元器件。此外,AMB82 MINI 具有 3 个主要功能,音频编解码器、视频编解码器和 NN(内置 NPU,用于 AIoT)。
收集到的数据可以通过WiFi上传,供智能设备上的应用程序使用,实现物联网应用。
AMB82 MINI 使用最广泛的开发环境之一 Arduino。 HDK、SDK、API文档、范例教学等更多资讯,请参考以下Ameba Arduino SDK页面
AMB82 MINI 开发板
AMB82 MINI采用Micro USB供电,这在很多智能设备中都很常见。
AMB82 MINI 的引脚图和功能请参考下图和下表。
AMB82 MINI Pinmap
GPIO pin | GPIO INT | ADC | PWM | UART | SPI | I2C | SWD | LED | |
0 | PF5 | ✓ | SPI1_MISO | ||||||
1 | PF6 | ✓ | ✓ | SPI1_SCLK | |||||
2 | PF7 | ✓ | ✓ | SPI1_MOSI | |||||
3 | PF8 | ✓ | ✓ | SPI1_SS | |||||
4 | PF11 | ✓ | ✓ | ||||||
5 | PF12 | ✓ | ✓ | ||||||
6 | PF13 | ✓ | ✓ | ||||||
7 | PF14 | ✓ | ✓ | ||||||
8 | PF15 | ✓ | ✓ | ||||||
9 | PF2 | ✓ | A2 | I2C1_SDA | |||||
10 | PF1 | ✓ | A1 | I2C1_SCL | |||||
11 | PF0 | ✓ | A0 | ||||||
12 | PE4 | ✓ | SPI_SS | I2C_SDA | |||||
13 | PE3 | ✓ | SPI_MOSI | I2C_SCL | |||||
14 | PE2 | ✓ | SERIAL3_RX | SPI_MISO | |||||
15 | PE1 | ✓ | SERIAL3_TX | SPI_SCLK | |||||
16 | PD18 | ✓ | |||||||
17 | PD17 | ✓ | |||||||
18 | PD16 | ✓ | SERIAL2_RX | ||||||
19 | PD15 | ✓ | SERIAL2_TX | ||||||
20 | PD14 | ✓ | |||||||
21 | PA2 | ✓ | A6 | SERIAL1_TX | |||||
22 | PA3 | ✓ | A7 | SERIAL1_RX | |||||
23 | PF9 | ✓ | ✓ | LED_BUILTIN / LEB_B (blue) | |||||
24 | PE6 | ✓ | LED_G (green) | ||||||
25 | PF4 | ✓ | LOG_TX | ||||||
26 | PF3 | ✓ | *A3 | LOG_RX | |||||
27 | PA1 | ✓ | A5 | I2C2_SDA | SWD_CLK | ||||
28 | PA0 | ✓ | A4 | I2C2_SCL | SWD_DATA | ||||
29 | PF10 | ✓ |
设置开发环境
步骤一、 环境配置
AMB25 (RTL8720DF) 开发板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu22以上) 和 macOS。为了获得最佳体验,请使用最新版本的作业系统。
步骤二、 安装驱动程式
首先,将AMB82 MINI通过Micro USB连接到电脑:
如果这是第一次将开发板连接到电脑,则会自动安装此板的 USB 驱动程序。
如果您有连接开发板到电脑的驱动程序问题,请到http://www.wch-ic.com/downloads/CH341SER_ZIP.html下载相关驱动程式。
在电脑的设备管理器中查看COM端口:
步骤三、 设定 Arduino IDE
从 1.6.5 版本开始,Arduino IDE 支持第三方硬件。因此,我们可以使用Arduino IDE开发应用程序,并且Arduino有基础范例可供参考。
Arduino IDE 可以在 Arduino 网站下载: https://www.arduino.cc/en/Main/Software
安装完成后,打开Arduino IDE。请打开 “File” -> “Preferences” 来正确设置。
并将以下 URL 粘贴到“Additional Boards Manager URLs”字串中:https://github.com/ambiot/ambpro2_arduino/raw/main/Arduino_package/package_realtek.com_amebapro2_index.json
接下来,打开 “Tools” -> “Board” -> “Boards Manager”:
“Boards Manager”大约需要10~20秒钟来刷新所有硬件文件(如果网络状况不好,可能需要更长的时间)。每次与新硬体重新连接时,需要重新开启Board Manager。在列表中找到“Realtek Ameba Boards”,点击“Install”,Arduino IDE会自动开始下载AmebaD包含AMB82 MINI所需的文件。
安装运行成功后,您可以打开Arduino IDE并选择 “Tools” -> “Board” -> “Boards Manager…”。尝试在列表中找到“Realtek Ameba Boards”,点击“Install”,然后Arduino IDE开始下载所需的文件。
最后,选择“Tools” -> “Board” -> “AmebaPro2 ARM (32-bits) Boars” -> “AMB82-MINI”作为当前连接的开发板。
尝试第一个例子
步骤一、 选择Ameba模式
对于不同的编译和上传设置,有多种不同的模式供用户选择。请参考以下图片和表格。
Mode Name | Usage | Remarks |
* Erase Flash | Erase all firmware from flash. | |
* Auto Flash Mode | Enable this mode to avoid manual process when uploading. | |
* Upload Mode | Choose upload mode between Normal Mode and Speed Mode. • Normal Mode. Upload all bins as one flash bin. • Speed Mode. Only upload the specific bin to its flash address. | A normal flash bin should include system file bins, firmware bin, Video ISP Bin and Neural Network Bin. To run the board successfully, system file bins and firmware bin are must. Speed Mode will skip system file bins and firmware bin. For all combinations of upload, please refer to the following table.It is recommended to use Normal Mode with Video ISP Bin and Neural Network Bin at least once, for the first time using the board. |
** Video ISP Bin | Speed Mode. Only upload Video ISP Bin to its flash address. Normal Mode. Upload a flash bin includes Video ISP Bin. | |
** Neural Network Bin | Speed Mode. Only upload Neural Network Bin to its flash address. Normal Mode. Upload a flash bin includes Neural Network Bin. | |
*** NN Models Object Detection | Choose Default or Customize models from Yolov4Tiny, Yolov3Tiny, or Yolov7Tiny. | For more information about Customize models, please refer to section “Apply Customized AI model” |
*** NN Models Face Detection | Choose Default or Customize MobileFaceNet models. | |
*** NN Models Face Recognition | Choose Default or Customize SCRFD models. | |
* Standard Lib Enable | Choose the standard library function for compile and upload. |
Selections (Upload Mode, Video ISP Bin, Neural Network Bin) | Flash Bin combinations | Remarks | ||
System file bins and firmware bin | Video ISP Bin | Neural Network Bin | ||
Normal Mode; Yes; Yes | ✓ | ✓ | ✓ | |
Normal Mode; Yes; No | ✓ | ✓ | NA | |
Normal Mode; No; No | ✓ | NA | NA | |
Speed Mode; No; Yes | NA | NA | ✓ | |
Speed Mode; Yes; No | NA | ✓ | NA | |
Speed Mode; No; No | ✓ | NA | NA |
步骤二、 编译
Arduino IDE提供了很多内建的例子,可以直接在板子上编译、上传、执行。在这里,我们以“Blink”示例作为第一次尝试。
开启 “File” -> “Examples” -> “01.Basics” -> “Blink”:
Arduino IDE 开启一个包含完整范例代码的新视窗。
接下来,我们直接编译范例代码; 单击“Sketch” -> “Verify/Compile”。
Arduino IDE 在 IDE 窗口的底部区域打印编译信息。编译完成后,您将收到如下消息。
之后,我们将编译后的代码上传到开发板。
步骤三、 上传
请确保开发板已连接到电脑,然后点击“Sketch” -> “Upload”。
Arduino IDE 会先编译再上传。用户需要进入此板上传模式。要进入上传模式,首先按住 UART_DOWNLOAD 按钮,然后按下并释放 RESET 按钮,最后释放 UART_DOWNLOAD 按钮。有一个 5 秒倒计时设置作为进入上传模式的提醒。
另外,如果使用的版子开启了“Auto Flash Mode”,请忽略以上说明。
用户可以选择检查板子是否进入上传模式。打开串行监视器/终端并寻找“Download Image over UART1”。
上传完成后,将印出“上传完成”讯息。
步骤四、 执行Blink范例
在每个范例中,Arduino 不仅提供了范例代码,还提供了详细的文件,包括接线图、范例代码解释、技术细节等。 Blink范例的详细信息请参考:
https://www.arduino.cc/en/Tutorial/Blink
简而言之,此范例使on-board LED 闪烁。
影片教学与示范
YouTube 频道:
• https://youtu.be/_rLiih5RkXY。
• https://youtube.com/playlist?list=PLEQfNjOZQRyPnmXCuRqE1f5au2HT4E9CP。
• https://youtu.be/-jQDpDFX2ao。
• https://youtube.com/playlist?list=PLEQfNjOZQRyOxXFV7X_2fIcnd_J6VBmyM。
BiliBili 频道:
• https://space.bilibili.com/457777430。
参考连结
Ameba Arduino SDK: https://www.amebaiot.com/ameba-arduino-summary/。
FAQ: https://forum.amebaiot.com/t/ameba-faq/1220。
论坛: https://forum.amebaiot.com/。
Facebook 中文社群: https://www.facebook.com/groups/AmebaIoT。
Facebook 英文社群: https://www.facebook.com/groups/amebaioten。