如何使用 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 结构可能会更好。