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 | ✓ |
设置开发环境
步骤一、 环境配置
AMB82 MINI 开发板目前支持Windows作业系统64位元(Windows 10及以上),Linux作业系统(Ubuntu22及以上)与 MacOS (Intel 和 Apple Silicon)。为了获得最佳体验,请使用最新版本的作业系统。
任何 Linux 作业系统 (Ubuntu) 相关问题,请参考 https://forum.amebaiot.com/t/ubuntu-linux-environment/2259。
任何 macOS 作业系统相关问题,请参考 https://forum.amebaiot.com/t/macos-environment/2260。
步骤二、 安装驱动程式
首先,将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_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 All Flash Memory (16MB) | • Erase only. Erase entire flash. • Erase then Upload. Erase entire flash then upload the current application. • Disable. Disable this option. | |
* Auto Flash Mode | • Enable. Avoid manual process when uploading. • Disable. Disable this option. | |
* Standard Lib | • Arduino_STD_PRINTF. Choose the standard library function for compile and upload. • Disable. No standard library function. | |
* Upload Speed | • Different upload baud rate to select. The default is 2000000. |
步骤二、 编译
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 按钮。
另外,如果开发板有硬件更新并启用了“Auto Flash Mode”,请忽略以上说明。
用户可以选择检查板子是否进入上传模式。打开串行监视器/终端并检查以下资讯。
上传完成后,将印出“上传完成”讯息。
步骤四、 执行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/welcome-to-ameba-faq/1748。
论坛: https://forum.amebaiot.com/。
Facebook 中文社群: https://www.facebook.com/groups/AmebaIoT。
Facebook 英文社群: https://www.facebook.com/groups/amebaioten。