Ⅰ 利用WiFi模塊對於ESP32開發程序
利用區域網網路轉串口模塊可以方便進行自動控制系統的搭建以及相應的調試。比如手頭現在存在的已經停產的 USR-WiFi-232-T [1] 模塊,可以比較方便通過手機進行設置,完成UDP-232的轉換。
這款模塊現在也被應用在無線調試情境中:
圖1.1 USR-WiFi 模塊
MicroPython在很多平台上都有著應用,包括 STM32F40x,ESP32,ESP8266,PicoPy等。利用 Thonny軟體 [4] 比較方便利用串口完成對於MicroPython的開發與調試。可否使用WiFi轉串口來完成對於MicroPython模塊的調試呢?
這其中需要使用到 UDP-COM的虛擬軟體,這樣便可以利用WiFi模塊完成對於普通的MicroPython模塊的開發。
相關的前期工作包括:
VSPM是一款可以被將TCP/IP, UDP轉換成串口的虛擬串口軟體。VSPM 虛擬串口軟體可以將TCP/IP 連接映射成本機的虛擬COM 口,應用程序通過訪問虛擬串口,就可以完成遠程式控制制、數據傳輸等功能。對於調試串口相關的程序非常方便。下面將詳細介紹該軟體的使用方法。
在 虛擬串口軟體VSPM使用手冊 [10] 給出了VSPM應用的一般說明。
您下載的該文件來自於華軍軟體園(www.onlinedown.net)
what you are downloading are from Onlinedown Download Site:(www.onlinedown.net)
VSPM虛擬串口 2.82 [12]
使用VSPM設置虛擬串口的過程中,始終存在著「 無法創建串口 」的錯誤。提示為選取的串口可能已經被佔用。
圖1.0 無法建立虛擬串口
根據 釋放windows中被佔用的串口號-方法總結 [13] 給出的方法,將Windows被佔用的串口資源進行釋放,提供給VSPM使用。
利用快捷鍵: win + R 啟動運行界面,輸入 regedit :
圖1.1 運行 regedit
圖1.2 刪除ComDB選項
移除設備的硬體映射,HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/SERIALCOMM,選中這幾個串口,右鍵刪除
圖1.3 刪除CurrentVersion/Ports
移除設備的硬體映射,HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/SERIALCOMM,選中這幾個串口,右鍵刪除
圖1.4 刪除不使用的SERIALPORT
通過測試之後發現,使用VSPM始終無法完成在Window7下的虛擬串口創建。
由於所使用的模塊是 有人物聯網 [14] 的產品,那麼使用 USR-VCOM [15] 軟體應該非常方便。
圖1.2.0.0 USR下載軟體
運行安裝USR-VCOM軟體,之後,通過添加,設置虛擬串口。
圖1.2.0 添加虛擬串口
圖1.2.1 添加虛擬串口
在計算機設備管理中可以看到COM7,這表明虛擬串口已經添加成功了。
圖1.2.2 在計算機設備管理中可以看到COM7
圖2.1 發送與接收測試
從 製作新版STC單片機WiFi下載器 [3] 獲得設計STC單片機WiFi下載器 [17] 獲得設計STC單片機WiFi下載器[^43037]中所使用的 USR介面定義。
從 ESP32-S模塊轉接板設計與實現 [7] 獲得對於ESP32等具有MicroPython [18] 獲得對於ESP32等具有MicroPython[^43006]調試界面模塊的下載管腳定義。
圖2.1 轉接板原理圖
(2) PCB
圖2.2 轉接板PCB圖
3、快速製版
圖2.3 快速製版的實驗板
接入 3.3V 電源。 工作電流大約 56mA 。該 USR-WiFi 模塊根據之前的設置自動接入的實驗室內的 WiFi 的無線網關。
圖2.4 模塊上電後接入626A的WiFi
通過PING命令可以測量USR-WiFi 已經在局域無線網路中。
圖2.5 PIng WiFI模塊
使用USR-VCOM設置對應的串口。
圖2.2.1 設置串口
使用STM32BOOTLOADER打開COM7,發送字元。通過波形可以看到波特率為 460800.
圖2.2.2 測量得到RXD輸出的波形
使用手機接入USR-WiFi,並通過瀏覽器對WiFi模塊的串口進行設置。
使用手機瀏覽器接入10.10.100.254,設置其中的串口。
圖2.2.3.1 使用手機瀏覽器打開網頁
(2) 串口參數設置
圖2.2.3.2 串口參數設置
三、測試ESP32 1、將轉接模塊接入ESP32
圖2.3.1.1 接入ESP32調試模塊
打開 Thonny [5] 開發環境,設置 Interpreter介面參數。
圖2.3.2.1 設置Thonny串口
設置之後,便可以在Thonny的Shell中完成初步的語句測試了。
可以在Thonny中下載程序進行執行。
圖2.3.3.1 下載程序執行
經過測試,在WiFi下,對於ESP32進行復位,相對反應比較慢。可能這是由於無法進行硬體復位的原因。
通過測試,可以使用有人 USR-VCOM建立起UDP到虛擬串口的映射關系。基於此,使用了USR-WiFi模塊設置了基於UDP的無線WiFI串口。並在Thonny開發環境中測試了這個串口用於調試ESP32 MicroPython程序的功能。
由於並沒有將串口的硬體復位引入轉換模塊,所以在調試的過程中重新下載程序過程比起直接使用串口變得緩慢了。這一點需要通過之後改進來完成。