树莓派 通过网络 发送数据给匿名四轴上位机

电脑需要安装虚拟串口工具,tcp client模式

import socket
import struct

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)   
s.bind(("",9999))
s.listen(5)   
newSocket,clientAddr = s.accept()    #返回 一个新的套接字,和客户端的地址
									#tcp socket 接收数据用recv,udp recvform

    
def send_data_socket(roll):      #通过tcp 发送roll 给匿名四轴上位机

    head_byte=struct.pack('BBB',0X88,0XA1,4)   #B打包成C语言的un char
    newSocket.sendto(head_byte,clientAddr)
    
    roll_byte=struct.pack('!f',roll)       #打包成c语言的float,发送数据
    newSocket.sendto(roll_byte,clientAddr)
    
    roll_sum=roll_byte[3]+roll_byte[2]+roll_byte[1]+roll_byte[0]
    sum=0X88+0XA1+4+roll_sum   
    
    if sum > 256 :
        sum = sum % 256   #上位机要求sum uint8 不是u8格式
        
    newSocket.sendto(chr(sum).encode('latin1'),clientAddr)   #发送效验

你可能感兴趣的:(树莓派 通过网络 发送数据给匿名四轴上位机)