LoRa网关和NS的那些事

LoRa网关

1.LoRa网关在整个通信过程中起透传作用
LoRa网关和NS的那些事_第1张图片
2.网关通过收发器可以和终端通信,是以射频的形式通信的,如上图,网关会接受到符合配置文件中频点和数据率的终端数据,也会以一定的频点数据率和发射功率发送射频数据包给终端。所有的符合条件的终端消息都会被网关接收,这样就存在网关接收到不同网络中的终端数据的情况
3.网关有树莓派的操作系统,可以通过IP协议和NS通信。

LoRa Network Server

NS服务器功能模块可以分为:

  1. 收发网关数据包
  2. 剥离网关信息
  3. 存储更新网关状态
  4. 解析LoRaWAN协议获取终端信息
  5. 存储更新终端信息
  6. 剥离应用数据
  7. 存储应用数据

LoRa网关与NS之间的通信方式

1.UDP通信
网关和NS规定好各种消息的端口的发送监听规则。我当时是使用java实现的NS服务器,使用DatagramSocket套接字,DatagramPacket数据包在1880端口接收PUSH_DATA数据并回复PUSH_ACK,1882端口接收PULL_DATA并回复数据PULL_ACK。借用1882端口回复发送PULL_RESP。详细情况后续再唠
2.MQTT
MQTT协议(Message Queuing Telemetry Transport),翻译过来就是遥信消息队列传输,是IBM公司于1999年提出的,现在最新版本是3.1.1。MQTT是一个基于TCP的发布订阅协议,设计的初始目的是为了极有限的内存设备和网络带宽很低的网络不可靠的通信,非常适合物联网通信。我们使用mqtt 的mosquito实现,网关和NS作为客户端。网关发布topic 为PUSH_DATA和PULL_DATA的message,NS只需要订阅自己需要的topic就行了。后续代码补上

你可能感兴趣的:(长征第一步)