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 | ✓ |
設置開發環境
步驟一、 環境配置
AMB82 MINI 開發板目前支持Windows作業系統64位元(Windows 10及以上),Linux作業系統(Ubuntu22及以上)與 MacOS (Intel 和 Apple Silicon)。為了獲得最佳體驗,請使用最新版本的作業系統。
任何 Linux 作業系統 (Ubuntu) 相關問題,請參考 https://forum.amebaiot.com/t/ubuntu-linux-environment/2259。
任何 macOS 作業系統相關問題,請參考 https://forum.amebaiot.com/t/macos-environment/2260。
步驟二、 安裝驅動程式
首先,將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_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 All Flash Memory (16MB) | • Erase only. Erase entire flash. • Erase then Upload. Erase entire flash then upload the current application. • Disable. Disable this option. | |
* Auto Flash Mode | • Enable. Avoid manual process when uploading. • Disable. Disable this option. | |
* Standard Lib | • Arduino_STD_PRINTF. Choose the standard library function for compile and upload. • Disable. No standard library function. | |
* Upload Speed | • Different upload baud rate to select. The default is 2000000. |
步驟二、 編譯
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 按鈕。
另外,如果開發板有硬件更新並啟用了“Auto Flash Mode”,請忽略以上說明。
用戶可以選擇檢查板子是否進入上傳模式。打開串行監視器/終端並檢查以下資訊。
上傳完成後,將印出“上傳完成”訊息。
步驟四、 執行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/welcome-to-ameba-faq/1748。
論壇: https://forum.amebaiot.com/。
Facebook 中文社群: https://www.facebook.com/groups/AmebaIoT。
Facebook 英文社群: https://www.facebook.com/groups/amebaioten。