首页 > 编程语言 >ESP32 wifi 串口转发数据 UART micropython

ESP32 wifi 串口转发数据 UART micropython

时间:2024-07-03 13:08:50浏览次数:15  
标签:micropython listenSocket socket UART ap 串口 print 接字 data

最近有个项目需要远距离读uart 串口打印出来的数据, 但是淘宝的调试助手太贵了, 开源平台找了圈也许是因为功能太简单, 好像没怎么找到或者说连接配置的方式很麻烦,

所以我花了半天时间写了一个.
如果有同样需求的小白可以直接用这个程序跑

本方案主要是 把esp32配置成AP模式. 并且通过TCP/UDP 调试助手连接 ESP32的 wifi, 然后输入对应的地址和端口即可在调试助手上显示了.

我查到了两个能用的:
window端:
https://gitee.com/TsingFon/NetDebugger

安卓端:

 https://www.pgyer.com/FSHP

 

socket相关文档:
http://wiki.1zlab.deepsenserobot.com/wiki/micropython-esp32/sockets/

 

基于micropython 直接把下面的代码运行就能用其实,

ap地址会打印到窗口, 自己配置就好了.

接受数据部分逻辑我没写, 即注释掉的那部分, 如果有需求的开发者可以自己基于这个文件改就是了.

from machine import UART
import network
import socket
import time

port = 100  #端口号
wlan = None  #wlan
listenSocket = None  #套接字

# 定义UART引脚为GPIO1和GPIO3,波特率为115200
uart = UART(2, baudrate=115200,bits=8,parity=1,rx=2,tx=3,stop=1,timeout=10)
#创建WiFi
def createWifi():   
  global ap
  ap = network.WLAN(network.AP_IF)     #创建接入点界面
  ap.active(True)                      #激活界面
  ap.config(essid='111 ', authmode=network.AUTH_WPA_WPA2_PSK, password='12345678') #设置接入点的ESSID,和WiFi 通道
#   while(ap.ifconfig()[0] == '0.0.0.0'):   #等待连接
#     time.sleep(1)
#   return True

#Catch exceptions,stop program if interrupted accidentally in the 'try'
try:
  createWifi()
  ip = ap.ifconfig()[0]   #获取IP地址
  print(ip)
  listenSocket = socket.socket()   #创建套接字
  listenSocket.bind((ip, port))   #绑定地址和端口号
  listenSocket.listen(1)   #监听套接字
  listenSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)   #设置套接字
  print ('tcp waiting...')

  while True:
    print("accepting.....")
    conn, addr = listenSocket.accept()   #接收连接请求,返回收发数据的套接字对象和客户端地址
    print(addr, "connected")

    while True:
#       data = conn.recv(1024)   #接收数据(1024字节大小)
#       if(len(data) == 0):   #判断客户端是否断开连接
#         print("close socket")
#         conn.close()   #关闭套接字
#         data = uart.read()
#         break
      if uart.any():
        data = uart.read()
      print(data)
      ret = conn.send(data)   #发送数据
except:
  if(listenSocket):   #判断套接字是否为空
    listenSocket.close()   #关闭套接字

 

标签:micropython,listenSocket,socket,UART,ap,串口,print,接字,data
From: https://www.cnblogs.com/chentuze/p/18281400

相关文章

  • 串口网口远程通讯、解决PLC远程问题
    文章目录前言一、工具地址二、软件环境三、安装1、安装vspd2、打开远程调试软件四、基本操作1、订阅主题2、连接3、串口调试4、网口调试六、软件地址前言关键字:云调试、远程调试软件、串口远程调试、RS232、RS485、串口调试、网口调试,网口TCP/UDP远程调试、以太......
  • 《DNK210使用指南 -CanMV版 V1.0》第七章 基于CanMV的MicroPython语法开发环境搭建
    第七章基于CanMV的MicroPython语法开发环境搭建1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/......
  • AMD R2000 Bilby 单板 Inside BIOS 串口重定向的使用
    AMD嵌入式X86处理器的R2000系列使用Bilby开发板。开发板使用InsideBIOS。......
  • BPI-M4 Berry在windows系统下连接串口调试
    串口线我手头的串口线是这样的,包含如下四个针脚:VCC、GND、TX、RX。串口针脚说明:其他的串口线可能不止四根线,而且杜邦线的颜色也不一定和我的一样。请看清楚接口标注,按照下面介绍,将其接到板子上对应的接口板子串口GNDGNDTXDRXDRXDTXD......
  • BPI-M4 Berry在windows系统下连接串口调试
    串口线我手头的串口线是这样的,包含如下四个针脚:VCC、GND、TX、RX。串口针脚说明:其他的串口线可能不止四根线,而且杜邦线的颜色也不一定和我的一样。请看清楚接口标注,按照下面介绍,将其接到板子上对应的接口板子串口GNDGNDTXDRXDRXDTXD ......
  • CH5XX串口中断接收超时
    1.串口1初始化:/*配置串口1:先配置IO口模式,再配置串口*/GPIOA_SetBits(GPIO_Pin_9);GPIOA_ModeCfg(GPIO_Pin_8,GPIO_ModeIN_PU);//RXD-配置上拉输入GPIOA_ModeCfg(GPIO_Pin_9,GPIO_ModeOut_PP_5mA);//TXD-配置推挽输出,注意先让IO口输出高电平U......
  • STM32串口如何输出中文
    当你想在串口调试助手实现换行功能时却不行时,试一试将\n改为\r\n因为我用的是XCOM串口调试助手,就遇到了这样的问题而当你加入intfputc(intch,FILE*f)函数却实现不了printf,putchar调用时需要加入#include<stdio.h>并勾选魔术棒中的UseMicroLIBintfputc(intch,FILE*f)......
  • Quartz的简单使用:实现简单的定时任务
    在Quartz中,你可以定义和调度多个Job。每个Job都有对应的JobDetail和Trigger。1.添加依赖确保你的项目中包含Quartz的依赖。例如,如果你使用的是Maven,可以在pom.xml中添加以下依赖:<dependency><groupId>org.quartz-scheduler</groupId><artifactId>qu......
  • 通讯协议大全(UART,RS485,SPI,IIC)
    参考自: 常见的通讯协议总结(USART、IIC、SPI、485、CAN)-CSDN博客UART那么好用,为什么单片机还需要I2C和SPI?_哔哩哔哩_bilibili5分钟看懂!串口RS232RS485最本质的区别!_哔哩哔哩_bilibili喜欢几位博主老师老师的还请看原贴/原视频数据通信 数据通信是指通过某种传......
  • quasar项目中用js调用串口
    参考链接:NodeSerialPort  (网站中https://serialport.io/docs/guide-electron提到了ElectronSerialportExample,这个项目中涉及到serialport的代码在renderer.js中)WebSerialAPI,web端通过串口与硬件通信电脑上已有的端口:(选择“在新标签页中打开图片”查看原图)看到网页......