在Raspberry Pi上通过UDP解码从Simulink模型收到的传感器数据时出现问题

时间:2019-07-24 08:47:42

标签: raspberry-pi udp decode simulink

我正在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

0 个答案:

没有答案