Standard SDK: [RTL8195AM] 透傳 - 使用 Ameba 當作 Wi-Fi 透傳
準備
此教學中使用到的工具及程式碼:Ameba 透傳
透傳即是透明傳輸,即傳送網絡無論傳輸業務如何,只負責將需要傳送的業務傳送到目的節點,同時保證傳輸的質量即可,而不對傳輸的業務進行處理。 使用Ameba實現AT透傳,大致可分為兩步實現:建立連接,發送/接收數據。- Ameba UART 透傳 主MCU通過UART連接Ameba,使用AT 指令讓Ameba連接到服務器,完成數據的上傳和接受服務器推送數據。 教程中,選用PC作為通過串口工具模擬主MCU UART發送數據。
- 開發板/模塊開機測試
(注:這裡的開發板/模塊並不針對某一款開發板或模塊,方法對所有Ameba開發板或模塊有效)
通過Ameba LOG UART測試Ameba是否正常開機。
Ameba有一組LOG UART用於接收用戶輸入和系統信息輸出,其引腳為GPIOB_0(LOG_UART_OUT)、GPIOB_1(LOG_UART_IN).
- Ameba 開發板 如果使用開發板(一般開發板會配置USB轉串口芯片,連接micro USB到LOG UART),使用一根micro USB 線連接開發板到PC。 開發板一般使用micro USB供電,具體情況,依據開發闆說明。否則需要在VCC引腳供電,Ameba使用3.3V供電。
- Ameba Wi-Fi 模塊
如果使用模塊(一般只會引出Ameba的PIN),這時候需要用杜邦線連接PC串口TX和RX分別到模塊的GPIOB_1和GPIOB_0. 並且在VCC引腳供電,Ameba使用3.3V供電。
Ameba LOG UART默認配置為:波特率38400,數據位8,校驗None,停止位1,無流控。
在PC上使用串口調試助手(推薦使用SecureCRT)打開對應串口,默認設置如下:
連接串口之後,輸入“help”,串口打印信息如下,如未打印如下信息: 1. 檢查供電是否正常 2. 請檢查串口是否連接正常(TX,RX是否反接) 3. 出現亂碼,檢查串口設置是否正確
- 升級AT固件
1. 使用image tool下載完整固件(RTL871xAF_AT_v2.2.1.bin)到開發板
2. 使用OTA升級到最新AT固件v2.2.x.(RTL871xAF_AT_v2.2.1_OTA.bin)
檢查開發板AT指令版本,在串口中輸入“AT”,如果響應unknown command ‘AT’,
那麼對應AT版本為V1,否則為V2
- AT V1 升級 1. 連接Ameba到AP, 並確保PC和Ameba處在同一個網絡下 假設AP: SSID=test, PASSWORD=12345678 連接到AP方法如下: ATW0=test ATW1=12345678 ATWC 2. 在PC 端進入OTA 升級服務器的目錄DownloadServer(../SDK/ tools/DownloadServer),根據readme.txt修改並運行:start.bat(如果出現權限問題,點擊右鍵使用管理員權限運行) 3. 在串口中端輸入升級命令,等待升級完成,系統會重啟 ATWO=192.168.0.1,8080(ex: PC 端的地址為:192.168.0.1,端口為8080)
- AT V2 升級 1. 設置Ameba為STA模式,連接Ameba到AP, 並確保PC和Ameba處在同一個網絡下。 假設AP: SSID=test, PASSWORD=12345678 連接到AP方法如下: ATPW=1 ATPN=test,12345678 2. 在PC 端進入OTA 升級服務器的目錄DownloadServer(../SDK/ tools/DownloadServer),根據readme.txt修改並運行:start.bat(如果出現權限問題,點擊右鍵使用管理員權限運行) 3. 在串口中端輸入升級命令,等待升級完成,系統會重啟 ATSO=192.168.0.1,8080(ex: PC 端的地址為:192.168.0.1,端口為8080)
- AT V2 UART 連接
V2固件使用一組獨立的AT UART(RX: GPIOA_0/TX: GPIOA_4)作AT command的輸入和響應,使用杜邦線連接開發板與PC串口TX和RX分別到Ameba GPIOA_0和GPIOA_4。
測試固件升級成功,通過AT UART確認AT固件版本號為v2.2.x.
AT指令参照:AT command 說明
TCP/UDP服務器配置
本教程使用TCP/UDP測試工具sokit 1.3,建立TCP/UDP服務器,通過Ameba透傳數據到服務器。
多鏈接指令傳輸
Ameba支持多路socket連接,Host MCU可以同時和多個服務器或者設備通信。為了區分多個socket鏈路,會在串口傳輸指令中附帶socket的鏈路id。TCP指令傳輸
使用sokit建立TCP服務器,端口號設定為5000。 1. 使用”ATPW”設置Ameba為STA,執行”ATPN”讓Ameba連接到一個沒有加密的AP(SSID:iot_tplink)







UDP指令傳輸
使用sokit建立UDP服務器,端口號設定為5000。 1. 使用”ATPW”設置Ameba為STA,執行”ATPN”讓Ameba連接到一個沒有加密的AP(SSID:iot_tplink)







單鏈接純數據透傳(TT模式)
在純數據透傳模式下,串口輸入不需要帶任何協議或指令,僅支持單一連接,TCP和UDP類似,所有串口輸入將會被發送到目標地址。 Ameba在接收字符後,如果在20ms內沒接收到新的字符,將觸發一次發送。TCP純數據透傳
使用sokit建立TCP服務器,端口號設定為5000。 1. 使用”ATPW”設置Ameba為STA,執行”ATPN”讓Ameba連接到一個沒有加密的AP(SSID:iot_tplink)






UDP純數據透傳
方法與TCP透傳類似,參考前一章節。Arduino + Ameba UDP 指令傳輸實例
使用Arduino UNO配置Ameba實現UDP透傳,硬件連接如下:



Realtek IoT/Wi-Fi MCU Solutions . All Rights Reserved. 使用條款