入門指南
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將AmebaD連接到電腦:
如果這是您第一次將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網站下載: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”,此部分為可選下載,用來參考最新原始碼。
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”->“Arduino AmebaD”中選擇了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。