Ameba ARDUINO: Getting Started with AW-CU488 Thing Plus (RTL8721DM)

介紹

Ameba 是一個易於編程的平台,用於開發各種物聯網應用程序。 AW-CU488 Thing Plus 配備多種外設接口,包括 WiFi、GPIO INT、I2C、UART、SPI、PWM、ADC。 通過這些接口,AW-CU488 Thing Plus 可以連接 LED、開關、壓力計、濕度計、PM2.5 粉塵傳感器等電子元件。
收集到的數據可以通過WiFi上傳,供智能設備上的應用程序使用,實現物聯網應用。

AW-CU488 Thing Plus 開發板
get-start-1

AW-CU488 Thing Plus使用Type C USB供電,這在很多智能設備中相當常見。支持自動進入上傳模式功能。
引腳圖和功能請參考下圖和下表。

AW-CU488 Thing Plus Pinmap
get-start-2

 GPIO pinGPIO INTADCPWMUARTSPII2CIRRGB LEDSWD
0PA18  SERIAL2_TXSPI_SCLK    
1PA16   SPI_MOSI    
2PA17   SPI_MISO    
3PA13 SERIAL1_RX (a)SPI1_MISO (b)    
4PA12 SERIAL1_TX (a)SPI1_MOSI (b)    
5PA26 SERIAL1_TX (b) I2C_SDA (a, qwiic)IR_RX (a)  
6PA25 SERIAL1_RX (b) I2C_SCL (a, qwiic)IR_TX (a)  
7PA30       
8PA19  SERIAL2_RXSPI_SS    
9PB3A6      SWD_CLK
10PB23    IR_TX (b)  
11PB22    IR_RX (b)  
12PB26        
13PB29     IR_RX (c)LED_BUILTIN (blue) 
14PB4A0 SPI1_MOSI (a)    
15PB5A1 SPI1_MISO (a)I2C_SCL (b)   
16PB6A2  SPI1_SCLK (a)I2C_SDA (b)   
17PB7A3 SPI1_SS (a)    
18PB1A4 SERIAL1_TX (c)     
19PB2A5 SERIAL1_RX (c)     
20PB31     IR_TX (c)  
21PA0        
22PA4        
23PA2        
24PA7  LOG_TX     
25PA8  LOG_RX     
26PA28       
27PA27       SWD_DATA
28PA15   SPI1_SS (b)    
29PA14   SPI1_SCLK (b)    

設置開發環境

步驟一、 環境配置

AW-CU488 Thing Plus (RTL8721DM) 開發板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu) 和 macOS。 為了獲得最佳體驗,請使用最新版本的作業系統。

任何 Linux 作業系統 (Ubuntu) 相關問題,請參考 https://forum.amebaiot.com/t/ubuntu-linux-environment/2259

任何 macOS 作業系統相關問題,請參考 https://forum.amebaiot.com/t/macos-environment/2260

步驟二、 設定 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/ambd_arduino/raw/master/Arduino_package/package_realtek_amebad_index.json

接下來,打開 “Tools” -> “Board” -> “Boards Manager”:

get-start-3

“Boards Manager”大約需要幾秒鐘來刷新所有硬件文件(如果網絡狀況不好,可能需要更長的時間)。在列表中找到“Realtek Ameba Boards (32-bits ARM Cortex-M33 @200MHz)”,點擊“Install”,Arduino IDE會自動開始下載AmebaD包含AW-CU488 Thing Plus所需的文件。

get-start-4

如果您遇到 GitHub 下載問題,請參考以下連結 中的“下載/軟體開發套件”。有3個部分。
1. “AmebaD_Arduino_patch1_SDK”,請至少選擇 1 個 SDK。目前有 5 個最新發布的 SDK 選項。
2. “AmebaD_Arduino_patch2_Tools”,請根據您的作業系統進行選擇。有 Windows、Linux 和 MacOS。
3. “AmebaD_Arduino_Source_Code”,此部分為可選下載,用來參考最新原始碼。

下載選擇的文件,然後解壓(patch1 和patch2 是必須的)。有“Install.doc”/“Install.pdf”供您參考安裝步驟。根據您的系統,請運行“Offline_SDK_installation_tool”文件夾中的安裝工具。
安裝運行成功後,您可以選擇 “Tools” -> “Board” -> “Ameba ARM (32-bits) Boards” ->”AW-CU488 Thing Plus (RTL8721DM)” 來選擇AmebaD作為當前連接的開發板。

get-start-5

步驟三、 安裝串行端口

首先,通過 TypeC USB 將開發板連接到電腦:

AW-CU488 Thing Plus
get-start-6

對應連接後,會自動安裝USB驅動。 如果連接板有驅動問題,請到 https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads 參考 USB 驅動程序。 在 Windows 作業系統的裝置管理員中檢查 COM 端口號:

get-start-7

到“Tools”->“Port”並選擇正確的 COM 端口。

get-start-8

進入“Tools”->“Serial Monitor”,將baud rate設置為“115200”,然後按RST按鈕檢查串口連接。

get-start-9

嘗試操作範例

步驟一、 編譯與上傳

Arduino IDE提供了很多內建的範例,可以在開發板上直接編譯、上傳和運行。這裡,我們以“Blink”為例進行第一次嘗試。
打開 “File” -> “Examples” -> “01.Basics” -> “Blink”:

get-start-10

get-start-11

AW-CU488 Thing Plus板載 LED,預設“LED_BUILTIN”為藍色。
接下來,直接編譯範例代碼。點擊“Sketch”->“Verify/Compile”。

get-start-12

Arduino IDE 在 IDE 窗口的底部區域打印編譯消息。 編譯完成後,您將收到如下消息。

get-start-13

之後,我們將編譯後的代碼上傳到開發板。
請記住啟用自動上傳模式。 在“Tools”→“Auto Upload Mode”→“Enable / Disable”。

get-start-14

請確保開發板已連接到您的電腦,然後單擊“Sketch”→“Upload”。
成功上傳將顯示訊息 “All images are sent successfully!”

get-start-15

步驟二、 執行 Blink 範例

板子將自動重置,板載 RGB LED 將閃爍。
在每個範例中,Arduino 不僅提供了範例代碼,還提供了詳細的文檔,包括接線圖、範例代碼說明、技術細節等。 這些範例可以直接在 AW-CU488 Thing Plus 上使用。 請參閱以下連結中的 Blink 詳細信息:
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink

特色介紹

Erase Flash

get-start-17

• Enable: 清除快閃記憶體中的image而不上傳當前image。
• Disable: 編譯完成後上傳使用者代碼。

“Erase Flash”預設選擇為“Disable”來上傳使用者代碼。

Standard Lib Enable

get-start-17

• Arduino_STD_PRTINF: 使用 printf 時啟用 Arduino avr“stdio.h”和“#include ”
• NA: 使用 printf() 基於標準 sdk _rtl_printf()

“Standard Lib Enable”預設選擇為“NA”。

Upload Speed

get-start-17

選擇上傳 baudrate 為 1,500,000 或 921,600。

請先確認已安裝QQ通訊軟體