LoRaWAN随记

LoRaWAN随记一 LoRaWAN 是什么 LoRaWAN 是由 LoRa 联盟负责制定的基于 LoRa 的低功耗广域网 采用星型拓扑结构 它能提供一个 低功耗 可扩展 高服务质量 安全的长距离无线网络 低功耗 节点只有在发送消息和打开接收窗口时耗能 其他时间处于休眠状态 可扩展 可以通过添加网关来增加网络容量 高的服务质量 节点和 NS 都有消息的重传机制 安全 节点入网以后通信会加密 跳频长距离 扩频技术的加

一、LoRaWAN是什么?

LoRaWAN是由LoRa联盟负责制定的基于LoRa的低功耗广域网,采用星型拓扑结构。它能提供一个:低功耗、可扩展、高服务质量、安全的长距离无线网络。 
  1. 低功耗:节点只有在发送消息和打开接收窗口时耗能,其他时间处于休眠状态。
  2. 可扩展:可以通过添加网关来增加网络容量。
  3. 高的服务质量:节点和NS都有消息的重传机制。
  4. 安全:节点入网以后通信会加密,跳频
  5. 长距离:扩频技术的加入使节点可以在较长距离正常通信。

二、结构

截取的官方图片
LoRaWAN体系结构由:节点、网关、NS、AS组成。

  1. 节点:实现LoRaMac层协议,将采集到的数据打包成符合LoRaWAN协议的数据通过射频传送到网关。
  2. 网关:将节点传送过来的数据和自身的数据整合成数据包通过TCP/IP协议传送至NS。
  3. NS(Network server):网络服务器,通过监听对应端口获取网关发送过来的数据包,剥离网关层数据,获取网关的Rssi,Snr,tmst,data等数据。对data数据编解码,解密,通过LoRaWAN MAC帧数据结构进行解析从而对不同消息进行处理。
  4. AS(application server):应用服务器,添加节点和网关,拉取NS数据供页面展示。

三、数据流程

  1. Uplink :节点通过射频通信传送至网关的上行数据
  2. PUSH_DATA/PULL_DATA :网关通过IP协议传送到网络服务器的数据
  3. 应用服务器拉取网络服务器数据 :通过数据库共享AS可获取NS数据进行应用协议解析
  4. PULL_RESP:NS下发指令至网关
  5. Downlink:网关透传至节点的下行数据

四、平台操作

  1. Web端添加节点(OTAA)和网关。数据库会保存AppEUI、DevEUI、AppKey、频段、节点类型(Class A B C)等节点数据。网关ID、网关频段等网关信息。此时节点尚未激活。
  2. 节点上电并发送入网请求(由于网关缓存的限制,如果大批量的设备同时入网网关会承受很大的压力,可能会丢弃入网信息导致入网失败,因此节点在上电后可随机一个时间后发起入网请求,这样可很好的避免入网失败情况)。
  3. 网关收到节点广播的入网请求(广播范围内的多个网关都会收到该入网请求)后,网关会通过TCP/IP协议发送至对应的NS
  4. NS收到网关发送过来的消息(可以通过UDP和Mqtt),此时NS会预处理该消息获取消息的类型(PUSH_DATA、PULL_DATA、)和转发网关的ID(8个字节),并从数据库中查询判断是否为网络内网关,如果为其他家网关则不做处理,为网络内网关转发时NS会继续剥离网关数据此时会获取到网关的tmst freq datr rssi snr data等信息。参考protocol文档。
    其中tmst为32位的网关内部时针,freq为消息的射频频率,datr为数据率和带宽,rssi为信号质量。Snr为信噪比。data为节点发送的数据。此时NS解析到的消息Mtype为入网请求,可以获取到对应的节点DevEUI AppEUI和DevNonce,并判断该节点是否为网络中节点,如果是的话回复入网请求,否则不作处理。 参考MAC帧结构分析文档。

本文涉及文档LoRaWAN1.02白皮书,网关protocol文档。随后会有LoRa节点类型介绍、消息种类介绍、激活方式介绍、协议数据帧解释、各频段介绍、网关与NS通信心得、NS设计心得等等等…(老烦了)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178959.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:08
下一篇 2026年3月26日 下午4:08


相关推荐

  • 一次搞定js中的this指向

    一次搞定js中的this指向

    2021年7月6日
    84
  • 二叉树前序遍历详解[通俗易懂]

    二叉树前序遍历详解[通俗易懂]二叉树的遍历是数据结构中非常基础的内容了,今天这一篇文章我们来详细了解一下二叉树的前序遍历,二叉树的前序遍历顺序是根节点-左子树-右子树,本文对递归和栈模拟的方法都有实现一、递归方法递归方法可以说是很简了,我们秉承先去往左节点再去往右节点的原则就好了//assumethatwehaveTreeNode,andresistostoretheanswervoidpreorder(TreeNode*root,vector<int&.

    2025年10月20日
    6
  • 几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍

    几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍富文本编辑器 富文本编辑器(RichTextEditor,RTE)是一种可内嵌于浏览器,所见即所得的文本编辑器。它提供类似于OfficeWord的编辑功能,方便那些不太懂HTML用户使用,富文本编辑器的应用非常广泛,它的历史与图文网页诞生的历史几乎一样长。 作为一个技术人员,手上备上两款富文本编辑器还是很有用的,指不定那个项目就要集成一个进去。到时候现找现用那可就费功夫了,毕竟从开…

    2022年6月10日
    367
  • centos7安装pycharm_pycharm配置环境变量

    centos7安装pycharm_pycharm配置环境变量Centos下pycharm的安装与配置1下载安装pycharm首先在下面的网址下载安装包:https://www.jetbrains.com/pycharm/download/#section=linux然后使用下列指令将安装包放入合适的目录下(本文将安装包放入了/usr/local目录下):cd/home/yue/Downloadsmvpycharm-community-2020.1.tar.gz/usr/local然后进行安装包所在目录,进行解压:tar-zxvfpyc

    2022年8月29日
    4
  • [c0,s0] = wavedec2(M1, N, wtype);「建议收藏」

    [c0,s0] = wavedec2(M1, N, wtype);「建议收藏」采用小波分解行clear;X1=imread(‘20170901204704.jpg’);imshow(X1);figure;X2=imread(‘20170901204704_副本.jpg’);M1=double(X1)/256;imshow(M1);M2=double(X2)/256;N=4;wtype=’sym4′;[c0,s0]=wavedec2(M1,N,wtype);

    2022年7月23日
    11
  • leetcode最长回文子串_最长回文子串算法

    leetcode最长回文子串_最长回文子串算法C++实现——最长回文子串

    2022年10月16日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号