入门指南
Ameba ARDUINO: Getting Started with AMB21/AMB22
工作环境
AmebaD RTL8722CSM/RTL8722DM 开发板目前支持 Windows OS 32位元和 64 位元(WIN 7/8/10),Linux OS (Ubuntu 18LTS/20LTS/最新)和 macOS 作业系统。请使用最新的作业系统版本以获得最佳体验。在本文档中,请使用最新版本的 Arduino IDE(至少 1.8.12 版)。
AmebaD【AMB21/AMB22】介绍
Ameba是一个易于编程的微控制器平台,可用于开发各种物联网应用程序。AmebaD有各种外围接口,包括WiFi, GPIO INT, I2C, UART, SPI, PWM, ADC。AmebaD可以连接LED、开关、压力计、湿度计、PM2.5粉尘传感器等电子元件。
Ameba所收集的数据可以通过WiFi无线上传,并被智能设备上的应用程序使用,实现物联网的应用。
AMB21/AMB22 和Arduino Uno的尺寸类似,如上图所示,并且 AMB21/AMB22 上的引脚与Arduino Uno兼容。
AMB21/AMB22 使用Micro USB来供电,这在许多智能设备中很常见。
AmebaD的引脚图和功能请参考下图和表格。
# |
PIN name |
GPIO |
ADC |
PWM |
UART |
SPI |
I2C |
---|---|---|---|---|---|---|---|
D0 |
GPIOB_2 |
✓ |
A5 |
UART3_RX(b) |
|||
D1 |
GPIOB_1 |
✓ |
A4 |
UART3_TX(b) |
|||
D2 |
GPIOB_3 |
✓ |
A6 |
||||
D3 |
GPIOB_31 |
✓ |
|||||
D4 |
GPIOB_30 |
✓ |
|||||
D5 |
GPIOB_28 |
✓ |
|||||
D6 |
GPIOB_29 |
✓ |
|||||
D7 |
NC |
||||||
D8 |
GPIOB_22 |
✓ |
✓ |
||||
D9 |
GPIOB_23 |
✓ |
✓ |
||||
D10 |
GPIOB_21 |
✓ |
✓ |
UART0_RTS(b) |
SPI0_CS |
||
D11 |
GPIOB_18 |
✓ |
✓ |
UART0_RX(b) |
SPI0_MOSI |
||
D12 |
GPIOB_19 |
✓ |
✓ |
UART0_TX(b) |
SPI0_MISO |
||
D13 |
GPIOB_20 |
✓ |
✓ |
UART0_CTS(b) |
SPI0_CLK |
||
D14 |
GPIOA_7 |
✓ |
UART2_TX(log) |
||||
D15 |
GPIOA_8 |
✓ |
UART2_RX(log) |
||||
D16 |
GPIOA_25 |
✓ |
✓ |
UART3_RX(a) |
I2C0_SCL |
||
D17 |
GPIOA_26 |
✓ |
✓ |
UART3_TX(a) |
I2C0_SDA |
||
D18 |
GPIOB_7 |
✓ |
A3 |
✓ |
SPI1_CS |
||
D19 |
GPIOB_6 |
✓ |
A2 |
SPI1_CLK |
|||
D20 |
GPIOB_5 |
✓ |
A1 |
✓ |
SPI1_MISO |
||
D21 |
GPIOB_4 |
✓ |
A0 |
✓ |
SPI1_MOSI |
||
D22 |
GPIOA_28 |
✓ |
|||||
D23 |
GPIOA_24 |
✓ |
✓ |
UART0_CTS(a) |
I2C1_SDA |
||
D24 |
GPIOA_23 |
✓ |
✓ |
UART0_RTS(a) |
I2C1_SCL |
||
D25 |
GPIOA_22 |
✓ |
UART0_RX(a) |
||||
D26 |
GPIOA_21 |
✓ |
UART0_TX(a) |
||||
D27 |
GPIOA_20 |
✓ |
|||||
D28 |
GPIOA_19 |
✓ |
设置开发环境
步骤1:安装驱动程序
首先,通过 Micro USB 将 AMB21/AMB22 连接到电脑:
如果这是您第一次将AmebaD连接到您的电脑,那么AmebaD的USB驱动程序将自动安装。
如果遇到开发板连接到电脑的驱动程序问题,请参考下列USB 驱动程序 https://ftdichip.com/drivers/。
你可以在你的电脑的 设备管理器 中检查 COM 端口号:
步骤2: 设置 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中正常使用AmebaD,请打开“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”:
“Boards Manager”大约需要10~20秒来刷新所有硬件文件(如果网络状况不好,可能需要更长的时间)。每次连接新硬件时,我们都需要重新打开Boards Manager。因此,我们先关闭然后再次打开它。在列表中找到“Realtek Ameba Boards”,点击“Install”,Arduino IDE会自动开始下载AmebaD所需的文件。
如果您遇到 GitHub 下载问题,请参考以下 Download/Software Development Kit 中的链接。 有3个部分。
“AmebaD_Arduino_patch1_SDK”,请至少选择 1 个 SDK。 目前有 5 个最新发布的 SDK 选项。
“AmebaD_Arduino_patch2_Tools”,请根据您的作业系统进行选择。 有 Windows、Linux 和 MacOS。
“AmebaD_Arduino_Source_Code”,此部分为可选下载,用來参考最新原始码。
下载选择的文件,然后解压(patch1 和patch2 是必须的)。 有“Install_中文.doc”/“Install_中文.pdf”供您参考安装步骤。 根据您的系统,请运行“Offline_SDK_installation_tool”文件夹中的安装工具。
根据你的系统,请在 “Offline_SDK_installation_tool” 运行安装工具。
安装工具运行成功后,您可以打开Arduino IDE并选择 “tools” -> “Board“ -> “Boards Manager…”。尝试在列表中找到“Realtek Ameba Boards (32-bits ARM Cortex-M4 @200MHz)”,点击“Install”,Arduino IDE开始下载AmebaD所需的文件。
最后,我们在“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和电阻连接起来,如下图所示:
重要
(注意:在一个LED中,较长的引脚是正极,较短的引脚是负极。我们将较长的引脚连接到D08,并将较短的引脚连接到GND。另外,请在LED和GND之间串联一个合适大小的电阻来保护LED)
最后,按RESET按钮,你就会看到LED开始闪烁。
(End)
备注
如果您遇到任何问题,请参考 支援 的页面。