Ameba ARDUINO: Getting Started with RTL8722
工作環境
AmebaD RTL8722CSM/RTL8722DM 開發板目前支持 Windows OS 32 位元和 64 位元(WIN7/8/10)、Linux OS(Ubuntu 18 LTS/20 LTS/最新)和 macOS 作業系統。請使用最新的作業系統版本以獲得最佳體驗。在本文檔中,請使用最新版本的 Arduino IDE(至少 1.8.12 版)。
AmebaD RTL8722CSM/RTL8722DM介紹
Ameba是一個易於編程的微控制器平台,可用於開發各種物聯網應用程序。
AmebaD有各種外圍接口,包括WiFi, GPIO INT, I2C, UART, SPI, PWM, ADC。通過這些接口,AmebaD可以連接LED、開關、壓力計、濕度計、PM2.5粉塵傳感器等電子元件。
Ameba所收集的數據可以通過WiFi無線上傳,並被智能設備上的應用程序使用,實現物聯網的應用。
AmebaD和Arduino Uno的尺寸類似,如上圖所示,並且AmebaD上的引腳與Arduino Uno兼容。
AmebaD使用Micro USB來供電,這在許多智能設備中很常見。
AmebaD的引腳圖和功能請參考下圖和表格。
PIN name | GPIO INT | ADC | PWM | UART | SPI | I2C | |
D0 | GPIOB_2 | ✓ | A5 | UART3_RX(b) | |||
D1 | GPIOB_1 | ✓ | A4 | UART3_TX(b) | |||
D2 | GPIOB_3 | ✓ | A6 | ||||
D3 | GPIOB_31 | ✓ | |||||
D4 | GPIOB_30 | ✓ | |||||
D5 | GPIOB_28 | ✓ | |||||
D6 | GPIOB_29 | ✓ | |||||
D7 | NC | ||||||
D8 | GPIOB_22 | ✓ | ✓ | ||||
D9 | GPIOB_23 | ✓ | ✓ | ||||
D10 | GPIOB_21 | ✓ | ✓ | UART0_RTS(b) | SPI0_CS | ||
D11 | GPIOB_18 | ✓ | ✓ | UART0_RX(b) | SPI0_MOSI | ||
D12 | GPIOB_19 | ✓ | ✓ | UART0_TX(b) | SPI0_MISO | ||
D13 | GPIOB_20 | ✓ | ✓ | UART0_CTS(b) | SPI0_CLK | ||
D14 | GPIOA_7 | ✓ | UART2_TX(log) | ||||
D15 | GPIOA_8 | ✓ | UART2_RX(log) | ||||
D16 | GPIOA_25 | ✓ | ✓ | UART3_RX(a) | I2C0_SCL | ||
D17 | GPIOA_26 | ✓ | ✓ | UART3_TX(a) | I2C0_SDA | ||
D18 | GPIOB_7 | ✓ | A3 | ✓ | SPI1_CS | ||
D19 | GPIOB_6 | ✓ | A2 | SPI1_CLK | |||
D20 | GPIOB_5 | ✓ | A1 | ✓ | SPI1_MISO | ||
D21 | GPIOB_4 | ✓ | A0 | ✓ | SPI1_MOSI | ||
D22 | GPIOA_28 | ✓ | |||||
D23 | GPIOA_24 | ✓ | ✓ | UART0_CTS(a) | I2C1_SDA | ||
D24 | GPIOA_23 | ✓ | ✓ | UART0_RTS(a) | I2C1_SCL | ||
D25 | GPIOA_22 | ✓ | UART0_RX(a) | ||||
D26 | GPIOA_21 | ✓ | UART0_TX(a) | ||||
D27 | GPIOA_20 | ✓ | |||||
D28 | GPIOA_19 | ✓ |
設置開發環境
步驟1: 安裝驅動程序
首先,通過Micro USB將AmebaD連接到電腦:
如果這是您第一次將AmebaD連接到您的電腦,那麼AmebaD的USB驅動程序將自動安裝。
如果遇到開發板連接到電腦的驅動程序問題,請參考下列USB 驅動程序https:// ftdichip.com/drivers /。
你可以在你的電腦的設備管理器中檢查COM端口號:
步驟2: 設置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 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 下載問題,請參考以下“下載/軟體開發套件”中的鏈接。有3個部分。
1. “AmebaD_Arduino_patch1_SDK”,請至少選擇 1 個 SDK。目前有 5 個最新發布的 SDK 選項。
2. “AmebaD_Arduino_patch2_Tools”,請根據您的作業系統進行選擇。有 Windows、Linux 和 MacOS。
3. “AmebaD_Arduino_Source_Code”,此部分為可選下載,用來參考最新原始碼。
https://www.amebaiot.com.cn/cn/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開始下載AmebaD所需的文件。
最後,我們在“tools”->“Board”->“Arduino AmebaD”中選擇了AmebaD作為當前連接的開發板:
測試第一個示例
步驟1: 編譯並上傳
Arduino IDE提供了很多內置的範例,可以在開發板上直接編譯、上傳和運行。這裡,我們以“Blink”為例進行第一次嘗試。
打開“File”->“Examples”->“ 01.Basics”-> “Blink”:
Arduino IDE打開一個帶有完整示例代碼的新窗口。
接下來,我們直接編譯示例代碼,點擊“Sketch”->“Verify/Compile”
Arduino IDE在IDE窗口的底部區域打印編譯消息。編譯完成後,會得到如下圖所示的消息:
之後,我們將把編譯後的代碼上傳到AmebaD。請確保AmebaD已連接到您的電腦,然後單擊“Sketch” -> “Upload”。
Arduino IDE將首先編譯,然後上傳。用戶需要將開發板調至上傳模式。
要進入上傳模式,首先按住 UART_DOWNLOAD 按鈕,然後按下並鬆開 RESET 按鈕,最後鬆開 UART_DOWNLOAD 按鈕。 設置了 5 秒倒計時提醒進入上傳模式。
用戶可選擇檢查開發板是否進入上傳模式。打開串行監視器並查找“#Flash Download Start”。請注意,某些串口終端可能會顯示如下圖所示的未知字符是正常的。
同樣,在上傳過程中IDE會自動顯示消息。上傳過程需要相當長的時間(大約30秒到1分鐘)。上傳完成後,您會看到“Done uploading”消息。
步驟2: 運行Blink示例
在每個示例中,Arduino不僅提供了示例代碼,還提供了詳細的文檔,包括接線圖、示例代碼說明、技術細節等。這些示例可以直接用於AmebaD。在這裡我們可以找到Blink這個示例的詳細信息:
https://www.arduino.cc/en/Tutorial/Blink
簡而言之,這個示例會使LED不停地閃爍。它使用的是GPIO引腳08(參考引腳圖D08)。我們把LED和電阻連接起來,如下圖所示:(注意:在一個LED中,較長的引腳是正極,較短的引腳是負極。我們將較長的引腳連接到D08,並將較短的引腳連接到GND。另外,請在LED和GND之間串聯一個合適大小的電阻來保護LED)
最後,按RESET按鈕,你就會看到LED開始閃爍。
如果您遇到任何問題,請參考故障排除。