安信可BW16模組是基于 RTL8720DN開發的雙頻Wi-Fi+藍牙SoC模組,具備超強性能。本文著重介紹BW16及開發板如何搭建Arduino開發環境。
PART 01 ? BW16模組產品特性
首先,我們先來了解一下BW16模組及開發板特性,BW16同時支持2.4GHZ/5.8GHZ雙頻WiFi+藍牙低功耗藍牙5.0雙模;因其雙頻設置,BW16具備更強的抗干擾能力、更穩定的WiFi無線信號和更快的傳輸速度,可以節省更多的電量。
此外,BW16集成了ARM V8(兼容 Cortex-M4F)高性能 MCU、ARM V8M(兼容 Cortex-M0)低功耗 MCU、WLAN(802.11 a / b / g / n)、MAC,藍牙基帶和 RF 基帶,BW16 同時集成了內部存儲器,支持簡單的應用程序開發,可實現完整的 Wi-Fi 和 BT 5.0 協議功能,能被廣泛地應用在物聯網領域。具備豐富的外圍接口,可以滿足開發者快速完成不同產品的智能化開發。
值得一提的是,BW16模組支持SSID混頻路由配網,2.4GHz和5GHz兩個頻段的SSID合并成一個,用戶只需要連接一個SSID就可以完成配網,不僅簡化了配網流程,也提升了配網成功率。
且BW16模組支持AWS IoT Core平臺,使用戶能夠輕松地連接和控制設備;BW16模組支持Matter協議,將云端和物聯網設備緊密聯系起來,大大簡化了設備的管理和運維工作,使用戶能夠更好地專注于業務開發和創新。
? 基本參數:
支持 802.11a/b/g/n,2.4GHz or 5GHz;
l支持 HT20/HT40 模式;
支持低功耗信標監聽模式,低功耗接收模式,低功耗掛起模式;
內置 AES / DES / SHA 硬件引擎;
支持 TrustZone-M,支持安全啟動;
支持 SWD 調試端口訪問保護和禁止模式;?
支持 BLE 5.0;?
藍牙支持高功率模式(7dBm,與 Wi-Fi 共享同一PA);
Wi-Fi 和藍牙共用同一天線;
支持 STA/AP/STA+AP 工作模式;
支持安卓、IOS 的 Simple Config(APP)Wi-Fi 一鍵配網;
支持藍牙輔助配網;?
支持串口本地升級和遠程固件升級(FOTA);
支持二次開發,支持 Linux 和 Window 環境下編程;
支持Arduino開發;
PART 02 ? 如何搭建Arduino開發環境?
Arduino在國外也是非常火爆的開發方式,它包含硬件(各種型號開發板)和軟件(Arduino IDE),你只要在ArduinoIDE中編寫程序代碼,將程序上傳到Arduino電路板后,就能實現軟體對硬件的控制。
Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系統上運行,而其他的大多數控制器只能在Windows上開發。
具體步驟如下:
1 ? BW16模組及開發板簡介
作為2.4GHZ/5.8GHZ雙頻WiFi+藍牙低功耗藍牙5.0雙模模組,BW16-Kit開發板的尺寸為 50.4*25.4(±0.2) mm。它使用Type C供電,這在很多智能設備中都很常見。
更多資料見:
https://docs.ai-thinker.com/rtl87xx
BW16 的引腳圖和功能請參考下圖和下表。
BW16 Pinmap
清除flash或上傳固件時,開發板需要上傳模式。
2 ? 設置開發環境
步驟一、 環境配置
BW16 (RTL8720DN) 開發板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu) 和 macOS。為了獲得最佳體驗,請使用最新版本的作業系統。
步驟二、 設定 Arduino IDE
從 1.6.5 版本開始,Arduino IDE 支持第三方硬件。Arduino IDE用于在BW16上開發應用程序,以及Arduino基本范例(refer to the basic example link)。
Arduino IDE 可以在 Arduino 網站下載:?https://www.arduino.cc/en/Main/Software
?
安裝完成后,打開Arduino IDE。請打開 “File”?-> “Preferences”;
并將以下 URL 復制到“Additional Boards Manager URLs”欄位:?https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek.com_amebad_index.json
?
從 v3.0.8版本開始,Ameba Arduino將支持BW16開發板。
接下來,打開 “Tools” -> “Board” -> “Boards Manager”:
“Boards Manager”大約需要幾秒鐘來刷新所有硬件文件(如果網絡狀況不好,可能需要更長的時間)。在列表中找到“Realtek Ameba Boards (32-bits ARM Cortex-M33 @200MHz)”,點擊“Install”,Arduino IDE會自動開始下載AmebaD包含BW16所需的文件。
如果您遇到 GitHub 下載問題,請參考以下連結?中的“下載/軟體開發套件”。有3個部分:
1. “AmebaD_Arduino_patch1_SDK”,請至少選擇 1 個 SDK。目前有 5 個最新發布的 SDK 選項。
2. “AmebaD_Arduino_patch2_Tools”,請根據您的作業系統進行選擇。有 Windows、Linux 和 MacOS。
3. “AmebaD_Arduino_Source_Code”,此部分為可選下載,用來參考最新原始碼。
下載選擇的文件,然后解壓(patch1 和patch2 是必須的)。
有“Install.doc”/“Install.pdf”供您參考安裝步驟。根據您的系統,請運行“Offline_SDK_installation_tool”文件夾中的安裝工具。
安裝運行成功后,您可以打開Arduino IDE并選擇 “Tools” -> “Board” -> “Ameba ARM (32-bits) Boards” ->” BW16(RTL8720DN)” 來選擇AmebaD作為當前連接的開發板。
步驟三、 安裝串行端口
BW16
對應連接后,會自動安裝USB驅動。如果連接板有驅動問題,請到http://www.wch- ic.com/downloads/CH341SER_ZIP.html?
參考 USB 驅動程序。在 Windows 作業系統的裝置管理員中檢查 COM 端口號:
到“Tools”->“Port”并選擇正確的 COM 端口。
進入“Tools”->“Serial Monitor”,將baud rate設置為“115200”,然后按RST按鈕檢查串口連接。
步驟四、 清除 flash
根據生產批次的不同,部分開發板可能內置了預設的B&T固件,固件信息如下圖所示:
固件位于 OTA 部分。所有新編譯的固件將被 OTA 固件自動替換。因此,需要先清除 OTA 固件才能使用已編譯的固件。
方法一:Arduino SDK V3.1.3 之后的“Erase Flash Enable”。
選擇“Tools”->“Erase Flash”->“Enable”;
然后進入上傳模式。
? 自動。選擇“Tools”->“Auto Upload Mode”->“Enable”。
接下來,選擇“Sketch”->“Upload”。“Erase flash done” 會出現。
按RST按鈕來檢查串行監視器和重制開發板。如果只有“#”表示清除flash成功。記得選擇“Tools”->“Erase Flash”->“Disable”。
?
嘗試操作范例
Step 1. 編譯與上傳
Arduino IDE提供了很多內建的范例,可以在開發板上直接編譯、上傳和運行。這里,我們以“Blink”為例進行第一次嘗試。
打開 “File” -> “Examples” -> “01.Basics” -> “Blink”:
板載 RGB LED,預設“LED_BUILTIN”為綠色。
將“LED_BUILTIN”更改為“LED_R”、“LED_G”或“LED_B”以獲得紅色、綠色或藍色。
接下來,直接編譯范例代碼。“Sketch”->“Verify/Compile”。然后如果沒有編譯錯誤,接著“Sketch”->“Upload”。
? 檢查并選擇 “Tools” -> “Erase Flash” -> “Disable”。
? 進入上傳模式。手動或自動。選擇 “Tools” -> “Auto Upload Mode” -> “Enable”/ ”Disable”。
? “Verify/Compile” 和 “Upload”. “Upload” 包括 “Verify/Compile”, “Verify/Compile” 可以跳過。
?
上傳成功會顯示“All images are sent successfully!”
Step 2. 執行 Blink 范例
板子將自動重置,如果板子不支持自動上傳模式,請按 RST 按鈕。板載 RGB LED 將閃爍。
在每個范例中,Arduino 不僅提供了范例代碼,還提供了詳細的文檔,包括接線圖、范例代碼說明、技術細節等。這些范例可以直接在 BW16 上使用。
編輯:黃飛
?
評論
查看更多