入门指南

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无线上传,并被智能设备上的应用程序使用,实现物联网的应用。

../../../_images/image188.png

AMB21/AMB22和Arduino Uno的尺寸类似,如上图所示,并且AMB21/AMB22上的引脚与Arduino Uno兼容。AMB21/AMB22使用Micro USB来供电,这在许多智能设备中很常见。引脚图和功能请参考下图和表格。

../../../_images/image279.png

#

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 连接到电脑:

../../../_images/image354.png

如果这是您第一次将AMB21/AMB22连接到您的电脑,那么AMB21/AMB22的USB驱动程序将自动安装。如果遇到开发板连接到电脑的驱动程序问题,请参考下列USB 驱动程序https:// ftdichip.com/drivers /。在你的电脑的设备管理器中检查COM端口号:

../../../_images/image442.png

步骤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”

../../../_images/image530.png

并将以下网址粘贴到 “Additional Boards Manager URLs” 栏位:

https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek.com_amebad_index.json

接下来,选择 “Tools” -> “Board” -> “Boards Manager”:

../../../_images/image618.png

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.

../../../_images/image715.png

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

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

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

  3. “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作为当前连接的开发板:

../../../_images/image811.png

测试第一个示例

步骤1: 编译并上传

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

../../../_images/image97.png

Arduino IDE打开一个带有完整示例代码的新窗口。

接下来,我们直接编译示例代码,点击“Sketch”->“Verify/Compile”

../../../_images/image107.png

Arduino IDE在IDE窗口的底部区域打印编译消息。编译完成后,会得到如下图所示的消息:

../../../_images/image1113.png

之后,我们将把编译后的代码上传到开发板。

请确保AmebaD已连接到您的计算机,然后单击“Sketch” -> “Upload”。

Arduino IDE将首先编译,然后上传。用户需要将开发板调至上传模式。要进入上传模式,首先按住 UART_DOWNLOAD 按钮,然后按下并松开 RESET 按钮,最后松开 UART_DOWNLOAD 按钮。设置了 5 秒倒计时提醒进入上传模式。

../../../_images/image1210.png ../../../_images/image1310.png

用户可选择检查开发板是否进入上传模式。打开串行监视器并查找“#Flash Download Start”。请注意,某些串口终端可能会显示如下图所示的未知字符是正常的。

备注

某些串口终端可能会显示如下图所示的未知字符是正常的。

../../../_images/image1410.png

同样,在上传过程中IDE会自动显示消息。上传过程需要相当长的时间(大约30秒到1分钟)。上传完成后,您会看到“Done uploading”消息。