LoRaWAN协议(一)--架构解析
LoRaWAN 分层
总体架构一共分为4部分:

LoRaWAN从底层到最后用户拿到数据的通讯过程通讯大致可分为三段:
- MOTE <---> GW (MAC层)
- GW <---> server
- server <---> 用户
LoRa联盟 规定了 MAC层的通讯协议,只有在设备(GW、MOTE)共同遵守的MAC层协议的前提下,不同硬件厂商的设备才能互相接入。
而GW <---> Server以及Server <---> 用户这两层的协议虽然LoRa联盟有所规范,但不同厂商之间可能会存在不同。
Mote/Node
Mote/Node 就是节点,在LoRaWAN中,节点一般与传感器连接,负责的就是收集传感数据,然后通过LoRaMAC 协议传输给Gateway。
Gateway
Gateway也就是网关,主要负责将节点的数据传输给服务器,也就是完成数据从LoRa方式到网络方式的转换,其中Gateway并不对数据做处理,只是负责将数据打包封装,然后传输给server(服务器)。
Server
按照LoRaWAN的规定,Server又分为四部分--NS(Network server)、AS(Application server)、CS(Customer server)、NC(Network controller)
其中每个部分的分工和职能各不相同。相应的我会在后续的文章中讲到。
用户
用户一般只的是直观使用这个数据的人,一般是APP或者其他客户端方式,从服务器获取数据。
应用分析
在这里我以LoRaWAN 方式实现农场的土壤湿度检测来具体说明这各个部分的区别:
实现农场的土壤湿度的检测主要分为几个步骤:
- 实现传感器采集土壤湿度(sensor层)
- 将采集到的土壤湿度通过MOTE发送给GW(LoRaMac 层)
- GW将收到的数据发送给NS(GW<--->Server)
- NS再将数据发送给用户(Server<--->Customer)
- 用户通过APP或者其他方式可以看到土壤的湿度状态。(Display)
通过以上的几个步骤,就可以实现远程监控农场土壤湿度。
LoRaWAN协议(一)--架构解析的更多相关文章
- LoRaWAN协议(一)------架构解析
摘自:http://www.cnblogs.com/answerinthewind/p/6200497.html LoRaWAN协议(一)-----架构解析 (1)LoRaWAN分层 LoRaWAN总 ...
- LoRaWAN协议(三)--Server端数据协议
LoRaWAN Server 端架构 LoRaWAN 的server包括 NS(Network server).AS(application server).CS(Custom server).... ...
- LoRaWAN协议(六)--OTAA KEY生成过程
前言 通过OTAA方式入网的设备,通讯时使用的KEY需要通过服务器获得,在入网之间,设备无法通讯. 相关的OTAA入网流程已经在上一章中讲解过了,有兴趣的可以去看看**LoRaWAN协议(五)__OT ...
- LoRaWAN协议(五)--OTAA入网方式详述
前言 OTAA(Over-The-Air Activation),是LoRaWAN的一种空中入网方式.当node在上电的时候处于非入网状态时,需要先入网才能和服务器进行通信.其操作就是node发送jo ...
- PrismCDN 网络的架构解析,以及低延迟、低成本的奥秘
5 月 19.20 日,行业精英齐聚的 WebRTCon 2018 在上海举办.又拍云 PrismCDN 项目负责人凌建发在大会做了<又拍云低延时的 WebP2P 直播实践>的精彩分享. ...
- 亿级日PV的魅族云同步的核心协议与架构实践(转)
云同步的业务场景 这是魅族云同步的演进,第一张是M8.M9,然后到后面的是MX系统,M9再往后发展,我们的界面可以看到基本上是没有什么变化的,但本质发生了很大的变化,我们经过了一些协议优化,发展到今天 ...
- 亿级日PV的魅族云同步的核心协议与架构实践
声明:本文根据msup和魅族联合举办的<第三期魅族技术开放日-架构设计与优化>录音整理原创首发,转载或节选内容前需获授权. 嘉宾:沈辉煌,魅族高级架构师,魅族云同步负责人.2010年加入魅 ...
- [转]毕设- 深入HBase架构解析(一)
深入HBase架构解析(一) 前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Archi ...
- 王院生:Apache APISIX 微服务网关极致性能架构解析
2019 年 10 月 27 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 杭州站活动,Apache APISIX PPMC 成员王院生做 ...
随机推荐
- hibernate(二)一级缓存和三种状态解析
序言 前一篇文章知道了什么是hibernate,并且创建了第一个hibernate工程,今天就来先谈谈hibernate的一级缓存和它的三种状态,先要对着两个有一个深刻的了解,才能对后面我要讲解的一对 ...
- ArrayList/Vector的原理、线程安全和迭代Fail-Fast
疑问 * ArrayList是非线程非安全的,具体是指什么?具体会产生什么问题?* ArrayList的内部原理是什么?为什么可以动态扩容?* Vector是线程安全的,具体是如何实现的?为什么不再推 ...
- Java中long和Long有什么区别 (转载)
“Long is a class. long is a primitive. That means Long can be null, where long can't. Long can go an ...
- 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库
本文内容 最近看<写给程序员的数据挖掘指南>,研究推荐算法,书中的测试数据集是 Book-Crossing Dataset 提供的亚马逊用户对书籍评分的真实数据.推荐大家看本书,写得不错, ...
- XML 文档和数据
.NET Framework 4.5 其他版本 .NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序. 通过以下命名空间中的类,可以分析和编写 XML, ...
- JS区别不同浏览器(微信、手机等)
最近一直在忙于自己公司的旅游产品,设计方面太广并且要兼容各种设备和场景,包括PC.Mobile.Pad.还有各种支付.由于微信支付和支付宝存在竞争,所以需要区别不同的浏览器,并且WEB项目还要出现在A ...
- canvas应用-思维导图
canvas应用例子-思维导图 效果图如下: 函数说明: // 求圆上一点坐标,返回坐标点 function circlePoint(x, y, r, a) { var tmpx = x + r * ...
- “You must not call setTag() on a view Glide is targeting” 解决
报错原因大致是因为Glide加载的iamgeView调用了setTag()方法导致的错误, 因为Glide已经默认为ImageView设置的Tag. 解决办法:自定义一个Application,在里面 ...
- navicat 链接linux 服务器上的数据库
- [原创]自定义控件之AndroidSegmentControlView,仿IOS平台UISegmentControlView,继承自View
版权声明:本文为博主原创文章,转载请注明出处. 控件简介 UISegmentControl在IOS平台的App中非常常见,其控件如下图所示: 这种控件的主要作用是动态的更改界面的显示内容,一般应用于内 ...