Python之Socket实现PC与树莓派互动通信



应用场景:局域网内,PC端与树莓派通信,收发文件互动等。

我这里做的是PC端发送信息,树莓派接收信息,完成互动,可继续扩展。可实现PC端控制无人机,其余自行扩展。


PC端


  1. import socket
    print(“客户端开启”)
    #套接字接口
    mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    #设置ip和端口
    host = 192.168.0.6
    port = 2222

    try:
    mySocket.connect((host, port)) ##连接到服务器
    print(“连接到服务器”)
    except : ##连接不成功,运行最初的ip
    print (‘连接不成功’)

    while True:
    #发送消息
    msg = input(“客户端发送:”)
    #编码发送
    mySocket.send(msg.encode(utf-8))
    print(“发送完成”)
    if msg == hello:
    print(“你好”)
    if msg == qq:
    mySocket.close()
    print(“程序结束\n)
    exit()
    print(“程序结束\n)

    树莓派端


    1. # encoding: utf-8
      import socket
      import time
      print(“服务端开启”)
      #套接字接口
      mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      #设置IP和端口
      host = 192.168.0.6
      port = 2222
      #bind绑定该端口
      mySocket.bind((host, port))
      mySocket.listen(10)

      while True:
      #接收客户端连接
      print(“等待连接….”)
      client, address = mySocket.accept()
      print(“新连接”)
      print(IP is %s % address[0])
      print(port is %d\n % address[1])
      while True:
      #读取消息
      msg = client.recv(1024)
      #把接收到的数据进行解码
      print(msg.decode(utf-8))
      print(“读取完成”)
      if msg == bhello:
      print(“你好,老弟”)
      if msg == bqq:
      client.close()
      mySocket.close()
      print(“程序结束\n)
      exit()

    效果如下:
    首先开启树莓派
    在这里插入图片描述
    开启PC端
    在这里插入图片描述
    此时树莓派建立连接反馈
    在这里插入图片描述
    PC端发送消息
    在这里插入图片描述
    树莓派接收消息
    在这里插入图片描述
    PC端输入qq退出程序
    在这里插入图片描述
    树莓派同时退出程序
    在这里插入图片描述
    整体效果如下:
    在这里插入图片描述