简介:为了能够通过WiFi对于ESP32中的MicroPython程序进行开发,本文测试了使用有人无线模块USRWiFi形成虚拟串口的方式对于ESP32进行软件开发。 关键词:ESP32,USRVCOM,虚拟串口,MicroPython01虚拟串口一、应用背景1、WiFi转串口模块 利用局域网网络转串口模块可以方便进行自动控制系统的搭建以及相应的调试。比如手头现在存在的已经停产的USRWiFi232T〔1〕模块,可以比较方便通过手机进行设置,完成UDP232的转换。 这款模块现在也被应用在无线调试情境中:制作新版STC单片机WiFi下载器〔2〕通过WiFi对STC单片机程序下载和调试〔3〕用于STM32开发的下载器中。 图1。1USRWiFi模块2、MicroPython调试器 MicroPython在很多平台上都有着应用,包括STM32F40x,ESP32,ESP8266,PicoPy等。利用Thonny软件〔4〕比较方便利用串口完成对于MicroPython的开发与调试。可否使用WiFi转串口来完成对于MicroPython模块的调试呢? 这其中需要使用到UDPCOM的虚拟软件,这样便可以利用WiFi模块完成对于普通的MicroPython模块的开发。 相关的前期工作包括:利用CH340C制作MicroPythonESP8266,ESP32的下载器改进型〔5〕ESP32S模块转接板设计与实现〔6〕ESP12F模块转接板测试版调试说明,下载MicroPython程序。ESP826612F〔7〕ESP8266的一些MicroPython基础实验〔8〕对于ESP8266340模块改成MicroPytyhon模块〔9〕二、VSPM虚拟串口软件 VSPM是一款可以被将TCPIP,UDP转换成串口的虚拟串口软件。VSPM虚拟串口软件可以将TCPIP连接映射成本机的虚拟COM口,应用程序通过访问虚拟串口,就可以完成远程控制、数据传输等功能。对于调试串口相关的程序非常方便。下面将详细介绍该软件的使用方法。 在虚拟串口软件VSPM使用手册〔10〕给出了VSPM应用的一般说明。1、软件下载VSPM软件〔11〕:https:download。csdn。netdownloadzhuoqingjoking9729823586619 D:DiskDrivervspm58180 您下载的该文件来自于华军软件园(www。onlinedown。net) whatyouaredownloadingarefromOnlinedownDownloadSite:(www。onlinedown。net) VSPM虚拟串口2。82〔12〕2、虚拟串口设置 使用VSPM设置虚拟串口的过程中,始终存在着无法创建串口的错误。提示为选取的串口可能已经被占用。 图1。0无法建立虚拟串口3、释放Windows串口 根据释放windows中被占用的串口号方法总结〔13〕给出的方法,将Windows被占用的串口资源进行释放,提供给VSPM使用。(1)启动regedit 利用快捷键:winR启动运行界面,输入regedit: 图1。1运行regedit(2)修改注册表编辑器找到路径:HKEYLOCALMACHINESYSTEMCurrentControlSetControlCOMNameArbiter。删除COMNameArbiter右边窗口中的ComDB项删除COMNameArbiter子目录Devices 图1。2删除ComDB选项 移除设备的硬件映射,HKEYLOCALMACHINEHARDWAREDEVICEMAPSERIALCOMM,选中这几个串口,右键删除 图1。3删除CurrentVersionPorts 移除设备的硬件映射,HKEYLOCALMACHINEHARDWAREDEVICEMAPSERIALCOMM,选中这几个串口,右键删除 图1。4删除不使用的SERIALPORTVSPM设置结论 通过测试之后发现,使用VSPM始终无法完成在Window7下的虚拟串口创建。三、使用有人软件 由于所使用的模块是有人物联网〔14〕的产品,那么使用USRVCOM〔15〕软件应该非常方便。1、下载地址 图1。2。0。0USR下载软件2、软件安装与设置 运行安装USRVCOM软件,之后,通过添加,设置虚拟串口。 图1。2。0添加虚拟串口 图1。2。1添加虚拟串口3、测试虚拟串口(1)设备管理 在计算机设备管理中可以看到COM7,这表明虚拟串口已经添加成功了。 图1。2。2在计算机设备管理中可以看到COM7(2)软件通讯使用MEGA328软件打开串口COM7。使用STM32BOOTLOADER软件设置:设置UDP192。168。0。19:8234。从STM32BOOTLOADER发送字符,可以在MEGA328接收到。 图2。1发送与接收测试02硬件测试一、制作USR转接板〔16〕1、接口定义 从制作新版STC单片机WiFi下载器〔3〕获得设计STC单片机WiFi下载器〔17〕获得设计STC单片机WiFi下载器〔43037〕中所使用的USR接口定义。 从ESP32S模块转接板设计与实现〔7〕获得对于ESP32等具有MicroPython〔18〕获得对于ESP32等具有MicroPython〔43006〕调试界面模块的下载管脚定义。2、原理图与PCB〔19〕(1)原理图 图2。1转接板原理图 (2)PCB 图2。2转接板PCB图 3、快速制版 图2。3快速制版的实验板4、上电测试 接入3。3V电源。工作电流大约56mA。该USRWiFi模块根据之前的设置自动接入的实验室内的WiFi的无线网关。 图2。4模块上电后接入626A的WiFi 通过PING命令可以测量USRWiFi已经在局域无线网络中。 图2。5PIngWiFI模块二、测试软件1、设置串口 使用USRVCOM设置对应的串口。 图2。2。1设置串口2、发送字符 使用STM32BOOTLOADER打开COM7,发送字符。通过波形可以看到波特率为460800。 图2。2。2测量得到RXD输出的波形3、修改WiFi模块 使用手机接入USRWiFi,并通过浏览器对WiFi模块的串口进行设置。(1)手机浏览器 使用手机浏览器接入10。10。100。254,设置其中的串口。 图2。2。3。1使用手机浏览器打开网页 (2)串口参数设置 图2。2。3。2串口参数设置 三、测试ESP321、将转接模块接入ESP32 图2。3。1。1接入ESP32调试模块2、设置Thonny串口 打开Thonny〔5〕开发环境,设置Interpreter接口参数。 图2。3。2。1设置Thonny串口 设置之后,便可以在Thonny的Shell中完成初步的语句测试了。3、下载程序 可以在Thonny中下载程序进行执行。 图2。3。3。1下载程序执行 经过测试,在WiFi下,对于ESP32进行复位,相对反应比较慢。可能这是由于无法进行硬件复位的原因。测试结果 通过测试,可以使用有人USRVCOM建立起UDP到虚拟串口的映射关系。基于此,使用了USRWiFi模块设置了基于UDP的无线WiFI串口。并在Thonny开发环境中测试了这个串口用于调试ESP32MicroPython程序的功能。 由于并没有将串口的硬件复位引入转换模块,所以在调试的过程中重新下载程序过程比起直接使用串口变得缓慢了。这一点需要通过之后改进来完成。