python - Arduino、python、pyserial 和套接字

标签 python serial-port arduino

我正在尝试在 Arduino 上编写一个简单的网络服务器来测试一些东西,但我找不到带有以太网的 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 和序列性只是一团糟。

谁能帮帮我?

最佳答案

使用 tcp_serial_redirect.py PySerial 文档中的脚本。就是您所需要的。

关于python - Arduino、python、pyserial 和套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13734740/

相关文章:

FTP 挂起/421 超时的 Python 错误处理

Java串口,有效处理serialEvent

c - 为什么我的串行通信不工作?

java - 按下按钮后应用程序崩溃 - 蓝牙 arduino

c++ - Actor 和 union 一样安全吗?

python - pandas DataFrame 列中重复值的顺序

python - 服务器响应中的 BOM 搞砸了 json 解析

mysql - C编程如何将串口数据保存到mysql数据库

python - 我是否违反了任何基本的 OOP 规则?

c++ - 与 QSerialPort 的基本通信