Ameba ARDUINO: Getting Started with AMB82 MINI (RTL8735B)

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 開發板

get-start-1

AMB82 MINI採用Micro USB供電,這在很多智能設備中都很常見。
AMB82 MINI 的引腳圖和功能請參考下圖和下表。

AMB82 MINI Pinmap

get-start-2

  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連接到電腦:

get-start-3

如果這是第一次將開發板連接到電腦,則會自動安裝此板的 USB 驅動程序。
如果您有連接開發板到電腦的驅動程序問題,請到http://www.wch-ic.com/downloads/CH341SER_ZIP.html下載相關驅動程式。

在電腦的設備管理器中查看COM端口:

get-start-4

步驟三、 設定 Arduino IDE

從 1.6.5 版本開始,Arduino IDE 支持第三方硬件。因此,我們可以使用Arduino IDE開發應用程序,並且Arduino有基礎範例可供參考。
Arduino IDE 可以在 Arduino 網站下載: https://www.arduino.cc/en/Main/Software
安裝完成後,打開Arduino IDE。請打開 “File” -> “Preferences” 來正確設置。

get-start-4

並將以下 URL 粘貼到“Additional Boards Manager URLs”字串中:https://github.com/ambiot/ambpro2_arduino/raw/main/Arduino_package/package_realtek_amebapro2_index.json

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

get-start-3

“Boards Manager”大約需要10~20秒鐘來刷新所有硬件文件(如果網絡狀況不好,可能需要更長的時間)。每次與新硬體重新連接時,需要重新開啟Board Manager。在列表中找到“Realtek Ameba Boards”,點擊“Install”,Arduino IDE會自動開始下載AmebaD包含AMB82 MINI所需的文件。

get-start-4

安裝運行成功後,您可以打開Arduino IDE並選擇 “Tools” -> “Board” -> “Boards Manager…”。嘗試在列表中找到“Realtek Ameba Boards”,點擊“Install”,然後Arduino IDE開始下載所需的文件。

最後,選擇“Tools” -> “Board” -> “AmebaPro2 ARM (32-bits) Boars” -> “AMB82-MINI”作為當前連接的開發板。

get-start-4

嘗試第一個例子

步驟一、 選擇Ameba模式

對於不同的編譯和上傳設置,有多種不同的模式供用戶選擇。請參考以下圖片和表格。

get-start-14

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”:

get-start-14

Arduino IDE 開啟一個包含完整範例代碼的新視窗。

接下來,我們直接編譯範例代碼; 單擊“Sketch” -> “Verify/Compile”。

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

get-start-14

之後,我們將編譯後的代碼上傳到開發板。

步驟三、 上傳

請確保開發板已連接到電腦,然後點擊“Sketch” -> “Upload”。

Arduino IDE 會先編譯再上傳。用戶需要進入此板上傳模式。要進入上傳模式,首先按住 UART_DOWNLOAD 按鈕,然後按下並釋放 RESET 按鈕,最後釋放 UART_DOWNLOAD 按鈕。

另外,如果開發板有硬件更新並啟用了“Auto Flash Mode”,請忽略以上說明。

get-start-14

用戶可以選擇檢查板子是否進入上傳模式。打開串行監視器/終端並檢查以下資訊。

get-start-14

上傳完成後,將印出“上傳完成”訊息。

步驟四、 執行Blink範例

在每個範例中,Arduino 不僅提供了範例代碼,還提供了詳細的文件,包括接線圖、範例代碼解釋、技術細節等。 Blink範例的詳細信息請參考:
https://www.arduino.cc/en/Tutorial/Blink
簡而言之,此範例使on-board LED 閃爍。

get-start-14

影片教學與示範

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。