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