如何使用 python 将实时数据从计算机 (PC) 发送到 Raspberry pi 4?
How to send Live Data from Computer(PC) to Raspberry pi 4 using python?
我正在 PC 上接收实时数据(每秒 7-10 个实例),我正在处理数据并想将此数据发送到 Raspberry pi 4,并基于 RB_Pi 我触发信号。
任何人都可以向我建议,哪种通信可用于使用 Python 将数据从 PC 实时发送到 RB_Pi?
如果需要任何其他信息,请告诉我。
实时数据如下:
我实际上并没有使用 Raspberry pi 的经验,只是使用过 Arduino。但是,我通常为此使用串行通信。
import serial
ser = serial.Serial(SERIAL_PORT, BAUDRATE, timeout=0.1)
ser.write(data)
SERIAL_PORT 作为字符串
作为整数的波特率
示例:serial.Serial("COM4", 9600, timeout=0.1)
可能最简单的方法是使用 socket
。这是相当低级的。
你可能会这样做:
# Server #
import socket
class Server:
HOST = '0.0.0.0'
PORT = 12345
def __init__(self):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.bind((self.HOST, self.PORT))
def accept(self):
self.sock.listen()
c, a = self.sock.accept()
self.rpi = c
self.send()
def send(self):
self.rpi.send(YOUR_DATA.encode())
s = Server()
客户端应如下所示:
#!/usr/bin/env python3
# Client #
import socket
class Client:
HOST = "192.168.x.x" # Your IP of course
PORT = 12345
def __init__(self):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((self.HOST, self.PORT))
self.recv()
def recv(self):
while True:
data = self.sock.recv(1024).decode()
print(data)
c = Client()
请注意,这是一个非常原始的脚本。您还应该处理异常,class 结构可能会更好。
我正在 PC 上接收实时数据(每秒 7-10 个实例),我正在处理数据并想将此数据发送到 Raspberry pi 4,并基于 RB_Pi 我触发信号。 任何人都可以向我建议,哪种通信可用于使用 Python 将数据从 PC 实时发送到 RB_Pi?
如果需要任何其他信息,请告诉我。
实时数据如下:
我实际上并没有使用 Raspberry pi 的经验,只是使用过 Arduino。但是,我通常为此使用串行通信。
import serial
ser = serial.Serial(SERIAL_PORT, BAUDRATE, timeout=0.1)
ser.write(data)
SERIAL_PORT 作为字符串
作为整数的波特率
示例:serial.Serial("COM4", 9600, timeout=0.1)
可能最简单的方法是使用 socket
。这是相当低级的。
你可能会这样做:
# Server #
import socket
class Server:
HOST = '0.0.0.0'
PORT = 12345
def __init__(self):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.bind((self.HOST, self.PORT))
def accept(self):
self.sock.listen()
c, a = self.sock.accept()
self.rpi = c
self.send()
def send(self):
self.rpi.send(YOUR_DATA.encode())
s = Server()
客户端应如下所示:
#!/usr/bin/env python3
# Client #
import socket
class Client:
HOST = "192.168.x.x" # Your IP of course
PORT = 12345
def __init__(self):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((self.HOST, self.PORT))
self.recv()
def recv(self):
while True:
data = self.sock.recv(1024).decode()
print(data)
c = Client()
请注意,这是一个非常原始的脚本。您还应该处理异常,class 结构可能会更好。