如何将数据从 UDP 端口发送到 lora 传感器节点?
Posted
技术标签:
【中文标题】如何将数据从 UDP 端口发送到 lora 传感器节点?【英文标题】:How to send data from UDP port to lora sensor node? 【发布时间】:2021-10-02 18:32:03 【问题描述】:我正在尝试从 simulink 发送数据,然后使用 UDP 将此数据发送到树莓派。树莓派中的数据显示正确。但是,当我尝试将 UDP 数据发送到 lora 时,它无法发送。有人可以帮助我如何修复代码。附言我不是编程专家,我才刚刚开始学习一切。谢谢你。顺便说一句,我刚刚得到了从 github 发送数据的基本代码。这里的想法是树莓派将通过 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)
【问题讨论】:
你显示的代码是什么?是 rasperrypi LoRaWAN 节点吗? 是的。我正在使用 rak811 lora piHat 和 rak7240 lora 网关。 【参考方案1】:我已经解决了。
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)
我认为模块不会发送浮点数据类型。
【讨论】:
以上是关于如何将数据从 UDP 端口发送到 lora 传感器节点?的主要内容,如果未能解决你的问题,请参考以下文章
如何将UDP数据包发送到scapy中的特定UDP dst端口?