Ameba ARDUINO: Getting Started with AMB82 MINI (RTL8735B)
介紹
Ameba 是一個易於編程的平台,用於開發各種物聯網應用程序。 AMB82 MINI配備豐富的外圍接口,包括WiFi、BLE、GPIO INT、I2C、UART、SPI、PWM、ADC。通過這些接口,AMB82 MINI可以連接LED、開關、壓力計、濕度計、PM2.5粉塵傳感器等電子元器件。此外,AMB82 MINI 具有 3 個主要功能,音頻編解碼器、視頻編解碼器和 NN(內置 NPU,用於 AIoT)。
收集到的數據可以通過WiFi上傳,供智能設備上的應用程序使用,實現物聯網應用。
AMB82 MINI 使用最廣泛的開發環境之一 Arduino。 HDK、SDK、API文檔、範例教學等更多資訊,請參考以下Ameba Arduino SDK頁面
AMB82 MINI 開發板
AMB82 MINI採用Micro USB供電,這在很多智能設備中都很常見。
AMB82 MINI 的引腳圖和功能請參考下圖和下表。
AMB82 MINI Pinmap
GPIO pin | GPIO INT | ADC | PWM | UART | SPI | I2C | SWD | LED | |
0 | PF5 | ✓ | SPI1_MISO | ||||||
1 | PF6 | ✓ | ✓ | SPI1_SCLK | |||||
2 | PF7 | ✓ | ✓ | SPI1_MOSI | |||||
3 | PF8 | ✓ | ✓ | SPI1_SS | |||||
4 | PF11 | ✓ | ✓ | ||||||
5 | PF12 | ✓ | ✓ | ||||||
6 | PF13 | ✓ | ✓ | ||||||
7 | PF14 | ✓ | ✓ | ||||||
8 | PF15 | ✓ | ✓ | ||||||
9 | PF2 | ✓ | A2 | I2C1_SDA | |||||
10 | PF1 | ✓ | A1 | I2C1_SCL | |||||
11 | PF0 | ✓ | A0 | ||||||
12 | PE4 | ✓ | SPI_SS | I2C_SDA | |||||
13 | PE3 | ✓ | SPI_MOSI | I2C_SCL | |||||
14 | PE2 | ✓ | SERIAL3_RX | SPI_MISO | |||||
15 | PE1 | ✓ | SERIAL3_TX | SPI_SCLK | |||||
16 | PD18 | ✓ | |||||||
17 | PD17 | ✓ | |||||||
18 | PD16 | ✓ | SERIAL2_RX | ||||||
19 | PD15 | ✓ | SERIAL2_TX | ||||||
20 | PD14 | ✓ | |||||||
21 | PA2 | ✓ | A6 | SERIAL1_TX | |||||
22 | PA3 | ✓ | A7 | SERIAL1_RX | |||||
23 | PF9 | ✓ | ✓ | LED_BUILTIN / LEB_B (blue) | |||||
24 | PE6 | ✓ | LED_G (green) | ||||||
25 | PF4 | ✓ | LOG_TX | ||||||
26 | PF3 | ✓ | *A3 | LOG_RX | |||||
27 | PA1 | ✓ | A5 | I2C2_SDA | SWD_CLK | ||||
28 | PA0 | ✓ | A4 | I2C2_SCL | SWD_DATA | ||||
29 | PF10 | ✓ |
設置開發環境
步驟一、 環境配置
AMB25 (RTL8720DF) 開發板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu22以上) 和 macOS。為了獲得最佳體驗,請使用最新版本的作業系統。
步驟二、 安裝驅動程式
首先,將AMB82 MINI通過Micro USB連接到電腦:
如果這是第一次將開發板連接到電腦,則會自動安裝此板的 USB 驅動程序。
如果您有連接開發板到電腦的驅動程序問題,請到http://www.wch-ic.com/downloads/CH341SER_ZIP.html下載相關驅動程式。
在電腦的設備管理器中查看COM端口:
步驟三、 設定 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/ambpro2_arduino/raw/main/Arduino_package/package_realtek.com_amebapro2_index.json
接下來,打開 “Tools” -> “Board” -> “Boards Manager”:
“Boards Manager”大約需要10~20秒鐘來刷新所有硬件文件(如果網絡狀況不好,可能需要更長的時間)。每次與新硬體重新連接時,需要重新開啟Board Manager。在列表中找到“Realtek Ameba Boards”,點擊“Install”,Arduino IDE會自動開始下載AmebaD包含AMB82 MINI所需的文件。
安裝運行成功後,您可以打開Arduino IDE並選擇 “Tools” -> “Board” -> “Boards Manager…”。嘗試在列表中找到“Realtek Ameba Boards”,點擊“Install”,然後Arduino IDE開始下載所需的文件。
最後,選擇“Tools” -> “Board” -> “AmebaPro2 ARM (32-bits) Boars” -> “AMB82-MINI”作為當前連接的開發板。
嘗試第一個例子
步驟一、 選擇Ameba模式
對於不同的編譯和上傳設置,有多種不同的模式供用戶選擇。請參考以下圖片和表格。
Mode Name | Usage | Remarks |
* Erase Flash | Erase all firmware from flash. | |
* Auto Flash Mode | Enable this mode to avoid manual process when uploading. | |
* Upload Mode | Choose upload mode between Normal Mode and Speed Mode. • Normal Mode. Upload all bins as one flash bin. • Speed Mode. Only upload the specific bin to its flash address. | A normal flash bin should include system file bins, firmware bin, Video ISP Bin and Neural Network Bin. To run the board successfully, system file bins and firmware bin are must. Speed Mode will skip system file bins and firmware bin. For all combinations of upload, please refer to the following table.It is recommended to use Normal Mode with Video ISP Bin and Neural Network Bin at least once, for the first time using the board. |
** Video ISP Bin | Speed Mode. Only upload Video ISP Bin to its flash address. Normal Mode. Upload a flash bin includes Video ISP Bin. | |
** Neural Network Bin | Speed Mode. Only upload Neural Network Bin to its flash address. Normal Mode. Upload a flash bin includes Neural Network Bin. | |
*** NN Models Object Detection | Choose Default or Customize models from Yolov4Tiny, Yolov3Tiny, or Yolov7Tiny. | For more information about Customize models, please refer to section “Apply Customized AI model” |
*** NN Models Face Detection | Choose Default or Customize MobileFaceNet models. | |
*** NN Models Face Recognition | Choose Default or Customize SCRFD models. | |
* Standard Lib Enable | Choose the standard library function for compile and upload. |
Selections (Upload Mode, Video ISP Bin, Neural Network Bin) | Flash Bin combinations | Remarks | ||
System file bins and firmware bin | Video ISP Bin | Neural Network Bin | ||
Normal Mode; Yes; Yes | ✓ | ✓ | ✓ | |
Normal Mode; Yes; No | ✓ | ✓ | NA | |
Normal Mode; No; No | ✓ | NA | NA | |
Speed Mode; No; Yes | NA | NA | ✓ | |
Speed Mode; Yes; No | NA | ✓ | NA | |
Speed Mode; No; No | ✓ | NA | NA |
步驟二、 編譯
Arduino IDE提供了很多內建的例子,可以直接在板子上編譯、上傳、執行。在這裡,我們以“Blink”示例作為第一次嘗試。
開啟 “File” -> “Examples” -> “01.Basics” -> “Blink”:
Arduino IDE 開啟一個包含完整範例代碼的新視窗。
接下來,我們直接編譯範例代碼; 單擊“Sketch” -> “Verify/Compile”。
Arduino IDE 在 IDE 窗口的底部區域打印編譯信息。編譯完成後,您將收到如下消息。
之後,我們將編譯後的代碼上傳到開發板。
步驟三、 上傳
請確保開發板已連接到電腦,然後點擊“Sketch” -> “Upload”。
Arduino IDE 會先編譯再上傳。用戶需要進入此板上傳模式。要進入上傳模式,首先按住 UART_DOWNLOAD 按鈕,然後按下並釋放 RESET 按鈕,最後釋放 UART_DOWNLOAD 按鈕。有一個 5 秒倒計時設置作為進入上傳模式的提醒。
另外,如果使用的版子開啟了“Auto Flash Mode”,請忽略以上說明。
用戶可以選擇檢查板子是否進入上傳模式。打開串行監視器/終端並尋找“Download Image over UART1”。
上傳完成後,將印出“上傳完成”訊息。
步驟四、 執行Blink範例
在每個範例中,Arduino 不僅提供了範例代碼,還提供了詳細的文件,包括接線圖、範例代碼解釋、技術細節等。 Blink範例的詳細信息請參考:
https://www.arduino.cc/en/Tutorial/Blink
簡而言之,此範例使on-board LED 閃爍。
影片教學與示範
YouTube 頻道:
• https://youtu.be/_rLiih5RkXY。
• https://youtube.com/playlist?list=PLEQfNjOZQRyPnmXCuRqE1f5au2HT4E9CP。
• https://youtu.be/-jQDpDFX2ao。
• https://youtube.com/playlist?list=PLEQfNjOZQRyOxXFV7X_2fIcnd_J6VBmyM。
BiliBili 頻道:
• https://space.bilibili.com/457777430。
參考連結
Ameba Arduino SDK: https://www.amebaiot.com/ameba-arduino-summary/。
FAQ: https://forum.amebaiot.com/t/ameba-faq/1220。
論壇: https://forum.amebaiot.com/。
Facebook 中文社群: https://www.facebook.com/groups/AmebaIoT。
Facebook 英文社群: https://www.facebook.com/groups/amebaioten。