入门指南
Ameba ARDUINO: Getting Started with AMB21/AMB22 (RTL8722)
介绍
Ameba是一个易于编程的微控制器平台,可用于开发各种物联网应用程序。AMB21/AMB22有各种外围接口,包括WiFi, GPIO INT, I2C, UART, SPI, PWM, ADC。通过这些接口,AMB21/AMB22可以连接LED、开关、压力计、湿度计、PM2.5粉尘传感器等电子元件。
Ameba所收集的数据可以通过WiFi无线上传,并被智能设备上的应用程序使用,实现物联网的应用。
AMB21/AMB22和Arduino Uno的尺寸类似,如上图所示,并且AMB21/AMB22上的引脚与Arduino Uno兼容。AMB21/AMB22使用Micro USB来供电,这在许多智能设备中很常见。引脚图和功能请参考下图和表格。
# |
GPIO Pin |
GPIO INT |
ADC |
PWM |
UART |
SPI |
I2C |
IR |
SWD |
---|---|---|---|---|---|---|---|---|---|
0 |
PB2 |
✓ |
A5 |
SERIAL2_RX (b) |
|||||
1 |
PB1 |
✓ |
A4 |
SERIAL2_TX (b) |
|||||
2 |
PB3 |
✓ |
A6 |
SWD_CLK (b) |
|||||
3 |
PB31 |
✓ |
IR_TX (c) |
||||||
4 |
PB30 |
✓ |
|||||||
5 |
PB28 |
✓ |
|||||||
6 |
PB29 |
✓ |
IR_RX (c) |
||||||
7 |
NC |
✓ |
|||||||
8 |
PB22 |
✓ |
✓ |
IR_RX (a) |
|||||
9 |
PB23 |
✓ |
✓ |
IR_TX (a) |
|||||
10 |
PB21 |
✓ |
✓ |
SERIAL1_RTS (b) |
SPI_SS |
||||
11 |
PB18 |
✓ |
✓ |
SERIAL1_RX (b) |
SPI_MOSI |
SWD_CLK (a) |
|||
12 |
PB19 |
✓ |
✓ |
SERIAL1_TX (b) |
SPI_MISO |
SWD_DATA |
|||
13 |
PB20 |
✓ |
✓ |
SERIAL1_CTS (b) |
SPI_SCLK |
||||
14 |
PA7 |
✓ |
LOG_TX |
||||||
15 |
PA8 |
✓ |
LOG_RX |
||||||
16 |
PA25 |
✓ |
✓ |
SERIAL2_RX (a) |
I2C_SCL (a) |
IR_TX (b) |
|||
17 |
PA26 |
✓ |
✓ |
SERIAL2_TX (a) |
I2C_SDA (a) |
IR_RX (b) |
|||
18 |
PB7 |
✓ |
A3 |
✓ |
SPI1_SS |
||||
19 |
PB6 |
✓ |
A2 |
SPI1_SCLK |
I2C_SDA (b) |
||||
20 |
PB5 |
✓ |
A1 |
✓ |
SPI1_MISO |
I2C_SCL (b) |
|||
21 |
PB4 |
✓ |
A0 |
✓ |
SPI1_MOSI |
||||
22 |
PA28 |
✓ |
|||||||
23 |
PA24 |
✓ |
✓ |
SERIAL1_CTS (a) |
I2C1_SDA |
||||
24 |
PA23 |
✓ |
✓ |
SERIAL1_RTS (a) |
I2C1_SCL |
||||
25 |
PA22 |
✓ |
SERIAL1_RX (a) |
||||||
26 |
PA21 |
✓ |
SERIAL1_TX (a) |
||||||
27 |
PA20 |
✓ |
|||||||
28 |
PA19 |
✓ |
设置开发环境
步骤1. 环境配置
AMB21/AMB22 (RTL8722CSM/RTL8722DM) 开发板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu) 和 macOS。为了获得最佳体验,请使用最新版本的作业系统。
步骤2: 安装驱动程序
首先,通过 Micro USB 将 AMB21/AMB22 连接到电脑:
如果这是您第一次将AMB21/AMB22连接到您的电脑,那么AMB21/AMB22的USB驱动程序将自动安装。如果遇到开发板连接到电脑的驱动程序问题,请参考下列USB 驱动程序https:// ftdichip.com/drivers /。在你的电脑的设备管理器中检查COM端口号:
步骤3: 设置Arduino IDE
从1.6.5版本开始,Arduino IDE支持第三方硬件。因此,我们可以使用Arduino IDE在AmebaD上开发应用程序,Arduino的示例也可以在AmebaD上运行.
Arduino IDE可以在Arduino网站下载:https://www.arduino.cc/en/Main/Software 。
安装完成后,打开Arduino IDE。为了在Arduino IDE中正常使用AMB21/AMB22,请打开 “File”—>“Preferences”。
并将以下网址粘贴到 “Additional Boards Manager URLs” 栏位:
https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek.com_amebad_index.json
接下来,选择 “Tools” -> “Board” -> “Boards Manager”:
The “Boards Manager” requires about 10~20 seconds to refresh all hardware files (if the network is in bad condition, it may take longer). Every time the new hardware is connected, we need to reopen the Board Manager. So, we close the Boards Manager, and then open it again. Find Realtek Ameba Boards in the list, click “Install”, then the Arduino IDE starts to download required files.
如果您遇到 GitHub 下载问题,请参考以下“下载/软体开发套件”中的链接。有3个部分。
“AMB21/AMB22_Arduino_patch1_SDK”,请至少选择 1 个 SDK。目前有 5 个最新发布的 SDK 选项。
“AMB21/AMB22_Arduino_patch2_Tools”,请根据您的作业系统进行选择。有 Windows、Linux 和 MacOS。
“AMB21/AMB22_Arduino_Source_Code”,此部分为可选下载,用来参考最新原始码。
https://www.amebaiot.com.cn/en/ameba-arduino-summary/
下载选择的文件,然后解压(patch1 和patch2 是必须的)。 有“Install_中文.doc”/“Install_中文.pdf”供您参考安装步骤。 根据您的系统,请运行“Offline_SDK_installation_tool”文件夹中的安装工具。
安装工具运行成功后,您可以打开Arduino IDE并选择 “tools” -> “Board“ -> “Boards Manager…”。尝试在列表中找到“Realtek Ameba Boards”,点击“Install”,Arduino IDE开始下载AMB21/AMB22所需的文件。
最后,我们在“tools”->“Board”-> “AMB21” 中选择了AmebaD作为当前连接的开发板:
测试第一个示例
步骤1: 编译并上传
Arduino IDE提供了很多内置的范例,可以在开发板上直接编译、上传和运行。这里,我们以“Blink”为例进行第一次尝试。
Arduino IDE打开一个带有完整示例代码的新窗口。
接下来,我们直接编译示例代码,点击“Sketch”->“Verify/Compile”
Arduino IDE在IDE窗口的底部区域打印编译消息。编译完成后,会得到如下图所示的消息:
之后,我们将把编译后的代码上传到开发板。
请确保AmebaD已连接到您的计算机,然后单击“Sketch” -> “Upload”。
Arduino IDE将首先编译,然后上传。用户需要将开发板调至上传模式。要进入上传模式,首先按住 UART_DOWNLOAD 按钮,然后按下并松开 RESET 按钮,最后松开 UART_DOWNLOAD 按钮。设置了 5 秒倒计时提醒进入上传模式。
用户可选择检查开发板是否进入上传模式。打开串行监视器并查找“#Flash Download Start”。请注意,某些串口终端可能会显示如下图所示的未知字符是正常的。
备注
某些串口终端可能会显示如下图所示的未知字符是正常的。
同样,在上传过程中IDE会自动显示消息。上传过程需要相当长的时间(大约30秒到1分钟)。上传完成后,您会看到“Done uploading”消息。
步骤2: 运行Blink示例
在每个示例中,Arduino不仅提供了示例代码,还提供了详细的文档,包括接线图、示例代码说明、技术细节等。这些示例可以直接用于 AMB21/AMB22。
简而言之,这个示例会使LED不停地闪烁。它使用的是GPIO引脚08(参考引脚图D08)。我们把LED和电阻连接起来,如下图所示:
最后,按RESET按钮,你就会看到LED开始闪烁。
备注
如果您遇到任何问题,请参考Q&A。