用于串行端口连接的Python聊天程序(RS-232)

用于串行端口连接的Python聊天程序(RS-232),python,serial-port,chat,Python,Serial Port,Chat,我发现这段代码用于一个简单的聊天,它使用串行端口进行通信,我想看看它的工作原理。我在谷歌上搜索了一段时间,发现com0com模拟了RS-232连接,因为我没有电缆,但现在我被难住了,不知道如何真正做到这一点 代码(在python中): 提前感谢。您首先需要使用com0com创建一个带回环的串行端口,即端口的输出连接回输入。这样,您从串行端口发送的所有内容都将被接收回来 代码段使用Sender类读取命令提示符输入。你写的东西都是通过串口发送的。Receiver类生成一个线程,并等待从串行端口接收某

我发现这段代码用于一个简单的聊天,它使用串行端口进行通信,我想看看它的工作原理。我在谷歌上搜索了一段时间,发现com0com模拟了RS-232连接,因为我没有电缆,但现在我被难住了,不知道如何真正做到这一点

代码(在python中):


提前感谢。

您首先需要使用com0com创建一个带回环的串行端口,即端口的输出连接回输入。这样,您从串行端口发送的所有内容都将被接收回来

代码段使用Sender类读取命令提示符输入。你写的东西都是通过串口发送的。Receiver类生成一个线程,并等待从串行端口接收某些内容。收到整行时,将在命令提示符下键入该行

注意事项:

  • 确保您的串行端口实际命名为CNCA0
  • 按Enter键将显示一条消息
  • 键入“exit”和“Enter”停止程序

    • 我也对类似的代码感兴趣。 不幸的是,到明天为止,我将无法在两台计算机上测试它

      仅在Tx上工作,在Rx上工作尚未开始

      import serial
      from threading import Thread 
      
      serialPort = serial.Serial(port='/dev/ttyUSB0', baudrate=9600)
      
      class Receiver(Thread):
          def __init__(self, serialPort): 
              Thread.__init__(self)
              self.serialPort = serialPort 
      
          def run(self):
              text = ""
              while (text != "exit\n"):
                  text = serialPort.readline()
                  print ("\n machine1: " + text)
      
      class Sender(Thread):
          def __init__(self, serialPort):
              Thread.__init__(self)
              self.serialPort = serialPort 
      
          def run(self):
              text = ""
              while(text != "exit\n"):
                  text = raw_input("$:")
                  self.serialPort.write(' ' + text + '\n')
      
      send = Sender(serialPort) 
      receive = Receiver(serialPort) 
      send.start() 
      receive.start()
      
      import serial
      from threading import Thread 
      
      serialPort = serial.Serial(port='/dev/ttyUSB0', baudrate=9600)
      
      class Receiver(Thread):
          def __init__(self, serialPort): 
              Thread.__init__(self)
              self.serialPort = serialPort 
      
          def run(self):
              text = ""
              while (text != "exit\n"):
                  text = serialPort.readline()
                  print ("\n machine1: " + text)
      
      class Sender(Thread):
          def __init__(self, serialPort):
              Thread.__init__(self)
              self.serialPort = serialPort 
      
          def run(self):
              text = ""
              while(text != "exit\n"):
                  text = raw_input("$:")
                  self.serialPort.write(' ' + text + '\n')
      
      send = Sender(serialPort) 
      receive = Receiver(serialPort) 
      send.start() 
      receive.start()