我正在Simulink模型和Raspberry Pi之间通过UDP建立通信。
我在Raspberry Pi的Python中以0.0
的形式接收所有数据包。 UDP数据包未正确解码。请查看代码并提出建议。根据要求,我可以分享Simulink模型的屏幕截图。
正在Raspberry Pi上接收数据,但每个值0.0
。
import socket
import base64
import struct
import sys
import csv
import requests
import sqlite3 as lite
import time
import datetime
from datetime import datetime
IP="169.254.194.157"
#IP="192.168.0.109"
PORT=6000
BUFFER_SIZE=1024
try:
sock=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print ('socket created')
except socket.error:
print ('failed to creat socket.')
sys.exit
try:
sock.bind((IP, PORT))
print ('socket bind')
now = datetime.now()
except socket.error:
print ('bind failed.')
sys.exit()
while True:
data, addr=sock.recvfrom(BUFFER_SIZE)
timestamp = datetime.timestamp(now)
print("timestamp =", timestamp)
l=len(data);
print('length')
print(l);
if l>=4:
break;
list = [data[i:i+4] for i in range(0, len(data), 4)]
for x in list:
print(int.from_bytes(x, byteorder='little')/10);
我应该收到在Simulink中设置的值,而不是0.0
。