ESP32 wifi 串口轉發數據 UART micropython

来源:https://www.cnblogs.com/chentuze/p/18281400
-Advertisement-
Play Games

最近有個項目需要遠距離讀uart 串口列印出來的數據, 但是淘寶的調試助手太貴了, 開源平臺找了圈也許是因為功能太簡單, 好像沒怎麼找到或者說連接配置的方式很麻煩, 所以我花了半天時間寫了一個.如果有同樣需求的小白可以直接用這個程式跑 本方案主要是 把esp32配置成AP模式. 並且通過TCP/UD ...


最近有個項目需要遠距離讀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()   #關閉套接字

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 由於個人學習測試需要,想要在debian11環境下,使用podman搭建一個簡單的單節點rocketmq,搭建過程比較繁瑣,所以記錄下來留作後續參考。 由於對rocketmq鏡像不熟悉,有些配置可能存在錯誤,會在後續有能力優化時繼續更新此文檔。 後續可能會補充podman-compose實現方 ...
  • 在開發過程中,我們偶爾會用到跨架構Linux容器。 ruri全稱“輕量型,用戶友好的Linux容器實現”,是一個1M左右大小的Linux容器實現,提供了一系列功能選項,致力於成為更加強大且安全的chroot命令替換。 我們以在x86_64系統下運行arm64的Ubuntu容器為例: 確認binfmt ...
  • 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MXRT官方SDK里關於串列Flash相關的驅動與常式資源。 經常有同事以及 i.MXRT 客戶咨詢痞子衡,咱們恩智浦官方 SDK 里有哪些串列 Flash 相關的示例,每一次痞子衡都是按照詢問需求將 SDK 里相應資源路徑發 ...
  • @目錄一. 編譯系統1.設置交叉編譯工具鏈2.編譯系統二. QT下載1.安裝 Qtcreator2.創建第一個程式3.配置 QtCreator 開發環境4.移植QT程式到開發板 一. 編譯系統 1.設置交叉編譯工具鏈 export ARCH=arm export CROSS_COMPILE=arm- ...
  • 本文詳細介紹瞭如何在 CentOS 伺服器上通過 Docker 安裝和配置迅雷NAS,實現高效的遠程下載功能,並提供了詳細的命令和配置步驟。 ...
  • 第九章 列印輸出實驗 1)實驗平臺:正點原子DNK210開發板 2)章節摘自【正點原子】DNK210使用指南 - CanMV版 V1.0 3)購買鏈接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套實驗源碼+手冊+視頻下載地址:http ...
  • 作者:小牛呼嚕嚕 大家好,我是呼嚕嚕,由於x86保護模式是比較複雜晦澀的,所以特地單拉出來,實模式和保護模式一個重要的更新就是對記憶體的管理與保護,並且隨著軟體的發展,為了極致地壓榨CPU的性能,硬體和軟體都做出了許多努力,為了更好的管理記憶體,引入分段,分頁,段頁等等。本文會沿著記憶體的主線,穿插於實模 ...
  • 第八章 CanMV IDE初體驗 1)實驗平臺:正點原子DNK210開發板 2) 章節摘自【正點原子】DNK210使用指南 - CanMV版 V1.0 3)購買鏈接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套實驗源碼+手冊+視頻下載 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...