如何将数据从 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端口?

LoRa点对点通信

Java使用UDP发送数据到InfluxDB

通过 UDP 发送传感器数据

将 UDP 数据从 Python 发送到 Javascript?

如何使用 TCP 或 UDP 将数据从 Windows Phone 8.1 发送到 PC?