[英]Arduino, python, pyserial and socket
我正在嘗試在Arduino上編寫一個簡單的Web服務器來測試一些東西,但是找不到帶有以太網的Arduino。
“不用擔心”,我想,“我只是用python編寫一個套接字服務器,充當串行連接的代理”。
import socket
import serial
host = ''
port = 8001
buffSize= 1024
serverSocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serverSocket.bind((host, port))
serverSocket.listen(1)
ser = serial.Serial('COM3', 115200, timeout=None, dsrdtr =False,rtscts =False,xonxoff =False)
print "Listening..."
send = ""
while 1:
conn, remoteAddr = serverSocket.accept()
print "Connection...."
data = conn.recv(buffSize)
print "Recieved"
ser.write("%s\n"%data)
print "Sent"
print "Attempting to get reply"
while ser.inWaiting()>0:
conn.send( ser.read())
conn.close()
serverSocket.close()
但是,無論我嘗試什么,似乎瀏覽器建立的連接都是隨機重置的,並且我會得到多行數據。 每次連接或斷開串口時,腳本都會重置Arduino。 我嘗試使用RealTerm並得到了正確的答案,但是python和串行性只是一團糟。
誰能幫我?
使用PySerial文檔中的tcp_serial_redirect.py腳本。 是你所需要的全部。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.