我尝试从simulink发送数据,然后使用UDP将此数据发送到raspberry。raspberry pi中的数据显示正确。但是,当我尝试将UDP数据发送到lora时,它无法发送。有没有人能帮我修复代码。另外,我不是编程专家,我刚刚开始学习所有的东西。谢谢。顺便说一句,我刚刚得到了从github发送数据的基本代码。这里的想法是raspberry pi将通过UDP协议接受来自另一台机器的数据。然后,数据将在树莓派中解包,这些数据将使用lora piHat传输到网关,然后再传输到网络服务器。
from sys import exit
from time import sleep
from rak811.rak811 import Mode, Rak811
from ttn_secrets import APP_EUI, APP_KEY
import socket, struct, os
import numpy as np
import struct
import socket
lora = Rak811()
print('Setup')
lora.hard_reset()
lora.mode = Mode.LoRaWan
lora.band = 'AS923'
lora.set_config(app_eui=APP_EUI, app_key=APP_KEY)
print('Joining')
lora.join_otaa()
lora.dr = 5
IP = ""
PORT = 50000
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((IP, PORT))
try:
while True:
data, addr = sock.recvfrom(1024)
data = struct.unpack('dddddddddd', data)
lora.send(data[0])
print("x1", data[0])
sleep(0)
except
pass
print('Cleaning up')
lora.close()
exit(0)发布于 2021-08-07 18:53:01
我已经解决了。
while True:
data, addr = sock.recvfrom(1024)
data = struct.unpack('dddddddddd', data)
x1 = format(data[0], '.4f')
lora.send(x1)
print("x1", x1)
sleep(0)我认为模块不会发送float数据类型。
https://stackoverflow.com/questions/68536297
复制相似问题