资料介绍
结构概述
- 2 个(或更多)B-L072Z-LRWAN1 LoRa 套件在 IoT-LAB 测试台上运行
- 物联网基础设施
- 一个简单的网关(或透明桥),由Python 实现,用于从 TTN 基础设施收集数据并将其发送到谷歌云平台;
- 谷歌云平台,提供Cloud IoT 核心和Pub/Sub API,用于管理连接、设备以及与 Web 应用程序交换的消息;
- 使用nodejs + express和一些其他相关框架构建的 web 应用程序;
- 用于存储的Mongodb NoSQL 数据库程序;
注意:我的github上提供的代码适用于我的个人 google 帐户上的凭据。我没有上传密钥,如果你想运行它,你需要自己设置。
IoT-LAB简介
IoT-LAB 是一个开放的测试平台,它提供了一个非常大规模的基础设施,适用于测试小型无线传感器设备和异构通信对象。
它具有分布在法国六个不同地点的 1500 多个无线传感器节点。节点既可以是固定的,也可以是移动的,并且可以在所有站点中以各种拓扑进行分配。有多种无线传感器可用,具有不同的处理器架构和不同的无线芯片。
由于我们没有兼容 LoRa 的硬件,因此使用测试平台是在真实硬件上进行测试的最佳选择。
LoRaWAN 技术
LoRaWAN® 规范是一种低功耗、广域 (LPWA) 网络协议,旨在将电池供电的“事物”无线连接到区域、国家或全球网络中的互联网,并针对关键的物联网 (IoT) 要求,例如双向定向通信、端到端安全、移动性和本地化服务。它定义了网络的通信协议和系统架构,而 LoRa 物理层则支持远程通信链路。
LoRaWAN® 网络中的节点是异步的,当它们准备好发送数据时进行通信,无论是事件驱动的还是调度的,避免了同步网络典型的电池消耗。此外,为了优化各种终端应用配置文件,LoRaWAN® 使用不同的设备类别。设备类别权衡网络下行链路通信延迟与电池寿命。
LoRaWAN® 利用两层安全性:一层用于网络,一层用于应用程序。网络安全确保网络中节点的真实性,而应用安全层确保网络运营商无权访问最终用户的应用数据。AES-128 加密与使用 IEEE EUI64 标识符的密钥交换一起使用。
TheThingsNetwork 概述和设置
The Things Network 是 LoRa Alliance® 的贡献者成员,LoRa Alliance® 是一个由 500 多家成员公司组成的非营利性协会,致力于通过开发和推广低功耗广域网 (LPWAN) 物联网来实现大规模部署。 LoRaWAN® 开放标准。
网关构成了设备和物联网之间的桥梁,而物联网的后端系统负责在设备和应用程序之间路由物联网数据。事实上,诸如 LoRaWAN® 之类的非 IP 协议需要某种形式的路由和处理,然后才能将消息传递到应用程序。
TTN 和网桥设置
Things Network Web 界面使这些步骤变得非常简单:
- 首先,访问https://www.thethingsnetwork.org/并创建一个帐户;
- 转到控制台并向您的 TTN 帐户添加一个新应用程序,如果您需要更多信息,请使用此链接https://www.thethingsnetwork.org/docs/applications/add.html
- 现在,在您的 TTN 应用程序中为您要使用的每个板注册一个新设备。保留默认的其他空中激活 (OTAA) 程序。您唯一必须设置的是设备 EUI,让应用程序为您生成其他参数。如果您需要帮助,请看这里:https ://www.thethingsnetwork.org/docs/devices/registration.html
第一步完成了!是时候设置网关了。我假设您已经阅读了第一篇文章“云平台设置”部分的说明,那么:
- 同样这一次,网关被谷歌云平台识别为简单设备,因此您需要将其添加到之前创建的设备集中。这里刷新如何做到这一点:https://cloud.google.com/iot/docs/how-tos/devices?authuser=1;
- 将 root.pem 证书的副本(之前生成的)放在devices_RIOT/gateway文件夹中(或简单地更改所有路径);
- TTN 使用 AES-128 对称加密,这意味着这一次您需要为对称密钥存储一个简单的字符串。您可以简单地将其作为纯文本保存在变量中,以便查看您的代码的任何人都可以阅读它!让我们做一些更安全的事情。在devices_LoRa/gateway文件夹中创建一个ttn_password.txt文件,然后从 TTN 控制台复制并粘贴密码,如上图所示。
- 恭喜,你找到了关键,现在,就像我们已经做了很多次一样,让我们在 gateway_LoRa.py 文件的顶部更改 Google 的设置:
# SETUP
project_id = 'your_project_ID'
registry_id = 'your_register_ID'
cloud_region = 'your_region'
device_id = 'your_device_ID'
sub_topic = 'your_topic'
- 最后,运行它:
python gateway_LoRa.py
物联网实验室设置
首先,您必须设置对 IoT-LAB 服务器的ssh访问权限。这些步骤都很简单,IoT-LAB 教程做的很好,所以我直接给你留了文档链接。https://www.iot-lab.info/tutorials/ssh-access/。
现在,我们已准备好进行设置:
- 首先,建立到 Saclay 站点主机的 ssh 连接:
my_computer$ ssh @saclay.iot-lab.info
是您的帐户 ID,可以在个人资料页面上找到
- 连接后,在主文件夹中克隆 RIOT Github 存储库:
@saclay:~$ git clone https://github.com/RIOT-OS/RIOT.git
- 创建并切换到一个新目录(例如“mycode”):
@saclay:~$ mkdir
@saclay:~$ cd
- 是时候上传代码了。打开一个新终端,然后转到devices_LoRa/device并“安全复制”所有文件:
my_computer$ scp main.c
@saclay.iot-lab.info:
my_computer$ scp Makefile @saclay.iot-lab.info:
my_computer$ scp Makefile.ci @saclay.iot-lab.info:
- 由于 RIOT 不支持 SSH 前端默认安装的 arm GCC 版本,我们需要提供一个新版本:
@saclay:~/mycode$ export PATH=/opt/gcc-arm-none-eabi-7-2018-q2-update/bin:$PATH
- 然后验证您是否拥有正确的 GCC 版本:
@saclay:~/mycode$ arm-none-eabi-gcc --version
- 让我们编译,运行:
@saclay:~/mycode$ make clean all
- 现在我们有了程序的可执行和可链接格式(.elf),是时候在 IoT-LAB 测试平台上开始新的实验了。登录并提交实验:
@saclay:~/mycode$ iotlab-auth -u
@saclay:~/mycode$ iotlab-experiment submit -n -d
-l , archi=st-lrwan1:sx1276+site=saclay
我知道,我们都希望复制和粘贴所有这些命令,避免键入它们。但是,在这种情况下,请记住设置实验名称、时间和节点数。
- 上一步会返回一个id,注意,一定要保存好,不然丢了就需要重启一切!!或许不是,你很幸运,你可以随时在网站上的“我的实验”下查看它。但是,这不是您需要的唯一 ID,而是一个新的 ID,即与您的实验相关联的节点的数量/数量。要找到它,只需运行:
@saclay:~/mycode$ iotlab-experiment get -i -r
- 完美,此时,我们已经编译了代码并运行了一个实验。让我们在 B-L072Z-LRWAN1 LoRa 套件上刷写可执行文件:
@saclay:~/mycode$ iotlab-node --update bin/b-l072z-lrwan1/device_LORA.elf -l saclay,st-lrwan1,
记得输入正确的节点号!
在 IoT-lab 上运行设备
节点正在运行,现在您可以使用 Netcat 访问每个节点,每个终端窗口一个:
@saclay:~/mycode$ nc st-lrwan1- 20000
如果由于任何原因,设备出现任何类型的问题,请转到您的 IoT-lab 页面,找到实验和节点,然后重新启动它,如下图所示。
现在,转到 TTN Web 控制台上的“应用程序 > appID > 设备 > 设备 ID”并获取设备 EUI、应用程序 EUI 和应用程序密钥信息。因此,在运行的设备上,将它们设置为 RIOT 固件:
> loramac set deveui your_EUI
> loramac set appeui your_EUI
> loramac set appkey your_key
为避免问题也设置数据速率,IoT-LAB 在其网站上建议值为 5:
> loramac set dr 5
最后,加入网络:
> loramac join otaa
现在,您可以使用我们在之前分配中使用的相同命令来开始自主发送消息:
> start ...
新仪表板
旧仪表板非常简单,因此我决定进行一些更改并添加新功能。
首先,我决定重组数据库,它现在为每种遥测类型提供一个不同的架构,并为设备提供一个新架构。因此,每个设备都有一组对遥测的引用,它使用 deviceId 作为外键。大大减少了检索时间并增加了系统的一般可扩展性。
它现在可以识别需要连接的新设备并直接添加它们。此外,每当有新消息时,主页上不仅会显示遥测值,还会显示设备的身份。
总之,为了提供令人愉悦的视觉界面,我添加了一些彩色图表来显示最后一小时的值,而旧值和以前一样显示在列表中。
结论
该应用程序现在能够从虚拟设备、使用 MQTT-SN 协议的 RIOT-OS 设备以及使用 LoRaWAN® 的新实现中检索数据。此外,借助新的仪表板和新的彩色图表,任何人都可以体会到使用物联网“事物”收集数据的美丽程度。
- 基于实验室自动化的ACS集成测试系统
- 连接到AWS IoT的RIOT-OS应用程序
- 使用RIOT-OS的基于AWS的IoT虚拟环境站
- RIOT-OS实时多线程IoT操作系统
- RIOT-OS入门 Windows系统下在STM32上运行RIOT OS
- 基于Proteus的单片机虚拟仿真网络实验室 45次下载
- 物联网实验室管理系统的设计方案 17次下载
- EMC实验室的建设设计方案
- 高压实验室报警控制回路图解 16次下载
- 实验室LCR-819测试仪说明 11次下载
- 高校实验室管理系统的设计与实现 0次下载
- 高温电子实验室--实验设备简介
- 现场总线CAN-bus 实验室
- 虚拟电子实验室的设计与应用
- 实验室管理体制及管理制度
- 实验室超声波清洗机的正确使用方法 154次阅读
- 基于STM32单片机的实验室智能安防系统 512次阅读
- 超声波清洗设备的实验室应用 865次阅读
- 实验室电源电路原理图 1919次阅读
- 航空电子设备中敏感电子设备的RTCA/DO 160测试指南 751次阅读
- 如何建立移动校准实验室 2358次阅读
- 如何在家建立电子实验室? 1671次阅读
- Python版实验室设备管理系统源代码 1982次阅读
- 高性能电驱动系统NVH实验室工艺设计 2107次阅读
- 如何建立一个电磁兼容实验室 3125次阅读
- digilent适便携式电路实验室介绍 2367次阅读
- 海天雄电子:Android移动互联网实验室开发架构 3160次阅读
- 环境实验室的作用及进行检测的具体方法 5574次阅读
- 开放实验室:测量LCR及阻抗特性 5859次阅读
- 是德开放实验室:免费为企业进行低功耗测试 5685次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多