电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>与LoRa合作的CleverWeather

与LoRa合作的CleverWeather

2023-06-19 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

大概的概念

该项目与 CleverWeather相关,因此强烈建议先检查。实现部分理所当然地认为您已经拥有一个 Azure IoT 中心,至少有一个设备和一个用于可视化数据的 Web 应用程序。

物联网系统是罗马第一大学物联网课程作业的一部分。两个 RIOT 应用程序将使用 LoRaWAN 协议向 TheThingsNetwork (TTN) 发布具有随机值的消息。连接到 TTN 的网关将接收这些消息并将它们发送到 Azure IoT 中心。最后,nodejs 应用程序允许您在本地可视化数据。

poYBAGOYCIeAJuaTAABIDzoqzt8981.png
 

成分

RIOT-OS 应用程序

一个简单的 RIOT-OS 应用程序将用于随机创建值并使用 LoRaWAN(一种用于远程传输的协议)发布它们。

物联网应用

TTN 提供了一套开放工具和全球开放网络来构建物联网应用程序。它将托管应用程序及其设备。

物联网实验室

IoT-LAB 提供了一个非常大规模的基础设施,适用于测试小型无线传感器设备和异构通信对象。我将使用位于 Saclay(法国)并部署在两个预留节点上的无线传感器。

网关

网关使用 MQTT 协议连接到 TTN 应用程序,当收到消息时,它将使用 MQTT 直接实现将其发送到 Azure IoT Hub。我用过python,但你可以选择你喜欢的编程语言。

Azure 物联网中心

IoT 中心将用作 MQTT 代理,但它并不完整,也不支持所有标准行为。

节点

Nodejs 用于运行一个应用程序,让您在本地可视化数据。您还必须安装包@azure/event-hubs。

执行

  • TheThingsNetwork 应用程序

首先要做的是登录站点,然后您可以转到控制台并单击“添加应用程序”。选择一个明确的名称,最佳做法是使用最近的服务器,因此如果您在欧洲,请使用 ttn-handler-eu。单击添加应用程序以完成。

pYYBAGOYCIuAdj53AADbumwzX4M650.png
 

打开您的应用程序,转到设备部分,然后单击“注册设备”添加一个。选择一个名称并随机创建一个设备EUI,然后点击“注册”完成操作。

pYYBAGOYwN2AccQdAACxM2AOc5c008.png
 

对于这个任务,我创建了 2 个与我的 IoT 中心设备同名的设备。现在选择您的设备并获取设备 EUI、应用程序 EUI 和应用程序密钥值,稍后您将使用它们。

poYBAGOYwN-AXd1EAACxeQxVjtE818.png
 
  • 物联网实验室

登录并配置您对 IoT-LAB 服务器的 SSH 访问权限。打开终端并键入以下命令:

my_computer$ ssh-keygen -t rsa
my_computer$ cat ~/.ssh/id_rsa.pub

它将生成一个公钥和一个私钥。最后一行用于查看您将在门户网站上复制的公钥。

pYYBAGOYwOKAV4OwAAC_tKkQadc554.png
 

复制此处的值并单击绿色按钮以更新 SSH 密钥。

现在您可以开始部署了。在本教程中,请指明您在 IoT-LAB 中的用户名。打开终端并连接到 Saclay 站点主机:

my_computer$ ssh @saclay.iot-lab.info

使用位于 Saclay 的 2 个节点开始一个名为的实验。riot_ttn它将持续 60 分钟,并将使用 St-Lrwan1 (Sx1276) 架构:

@saclay:~$ iotlab-auth -u 
@saclay:~$ iotlab-experiment submit -n riot_ttn -d 60 -l 2,archi=st-lrwan1:sx1276+site=saclay

最后一个命令将返回实验 ID ,用于检查实验状态是否为“正在运行”并获取节点列表。

@saclay:~$ iotlab-experiment get -i  -s
@saclay:~$ iotlab-experiment get -i  -r

现在从 GitHub 获取 RIOT 2019.01 版本的代码和我的项目的代码。

@saclay:~$ git clone https://github.com/RIOT-OS/RIOT.git -b 2019.01-branch
@saclay:~$ git clone https://github.com/domitix/CleverWeather

将项目的原始 main.c 替换为我写的开始发布随机值的消息并转到 RIOT 文件夹:

@saclay:~$ cp -a CleverWeather/LoRa/. RIOT/tests/pkg_semtech-loramac
@saclay:~$ cd RIOT

由于此实验在 2 个不同的节点上运行,您可以启动另一个终端并使用 SSH 连接到 IoT-LAB。然后在使用不同 ST LoRa 节点的两个终端中执行相同的程序。

arm gcc 版本更改为 IoT-LAB 提供的版本:

@saclay:~/RIOT/$ export PATH=/opt/gcc-arm-none-eabi-7-2018-q2-update/bin:$PATH

构建 LoraWAN 应用程序:

@saclay:~/RIOT/$ make -C tests/pkg_semtech-loramac clean all

使用 CLI-Tools 使用您刚刚构建的 LoRaWAN 固件刷新 ST LoRa 节点。就我而言,我使用了 st-lrwan1-14,但它可能会改变:

@saclay:~/RIOT/$ iotlab-node --update tests/pkg_semtech-loramac/bin/b-l072z-lrwan1/tests_pkg_semtech-loramac.elf -l saclay,st-lrwan1,14

使用 netcat 访问节点上运行的 RIOT shell:

@saclay:~/RIOT/$ nc st-lrwan1-14 20000

现在您可以通过命令与节点上运行的 LoRawAN 堆栈进行交互loramac.首先您需要设置 TTN 应用程序的设备参数和快速数据速率(5):

> loramac set deveui 00000000000000
> loramac set appeui 00000000000000
> loramac set appkey 0000000000000000000000000000
> loramac set dr 5

现在您可以使用 OTAA 加入网络并开始发布消息:

> loramac join otaa
Join procedure succeeded!
> loramac publisher

如果一切正常,它应该看起来像这样,每 15 秒发送一次消息。

pYYBAGOYwOSAaXZ3AACIbD7L6cQ315.png
出于隐私原因,这些 ID 被覆盖。
 
  • 网关

网关是一个 python 程序,它使用 MQTT 协议连接到 TTN 应用程序。当消息到达时,payload 使用 base64 解码,然后由与 TTN 设备同名的 IoT 设备发送到集线器。为此,对于 TTN 部分,您将需要服务器位置、TTN 应用程序名称作为用户名和应用程序访问密钥作为密码。对于 IoT 中心,每个 IoT 设备都需要一个连接字符串。

pYYBAGOYwOeANwKfAADYDqA1JMI721.png
 
  • 节点

您只需进入文件夹并在命令行中键入即可运行 Web 应用程序:

npm start

如果网关已连接,您将在命令行中看到传入消息:

pYYBAGOYwO2AOj5JAAJmzvSUm3g328.png
请注意,消息是从 2 个不同的设备发送的
 

在浏览器中打开http://localhost:3000/并可视化这些值。

这些是从第一个设备 (foggia_2) 发送的值的图表:

 
 
 
pYYBAGOYwPGAKlX3AAEZ38JcSBQ311.png
 
1 / 5
 

这些是从第二个设备(rome_2)发送的值的图表:

 
 
 
poYBAGOYwPSAV4HPAADfiGxxpqQ740.png
 
1 / 5
 

资源

物联网

物联网实验室

使用 RIOT 和 TheThingsNetwork 进行 LoRaWAN 通信

帕霍 MQTT

使用 MQTT 协议与您的集线器通信


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费