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 pinGPIO INTADCPWMUARTSPII2CSWDLED
0PF5   SPI1_MISO   
1PF6  SPI1_SCLK   
2PF7  SPI1_MOSI   
3PF8  SPI1_SS   
4PF11      
5PF12      
6PF13      
7PF14      
8PF15      
9PF2A2   I2C1_SDA  
10PF1A1   I2C1_SCL  
11PF0A0      
12PE4   SPI_SSI2C_SDA  
13PE3   SPI_MOSII2C_SCL  
14PE2  SERIAL3_RXSPI_MISO   
15PE1  SERIAL3_TXSPI_SCLK   
16PD18       
17PD17       
18PD16  SERIAL2_RX    
19PD15  SERIAL2_TX    
20PD14       
21PA2A6 SERIAL1_TX    
22PA3A7 SERIAL1_RX    
23PF9     LED_BUILTIN / LEB_B (blue)
24PE6      LED_G (green)
25PF4  LOG_TX    
26PF3*A3 LOG_RX    
27PA1A5   I2C2_SDASWD_CLK 
28PA0A4   I2C2_SCLSWD_DATA 
29PF10       

設置開發環境

步驟一、 環境配置

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 NameUsageRemarks
* 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

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