前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >The Things Network LoRaWAN Stack V3 笔记 2.4 Packet Forward 让 LoRaWAN 网关接入

The Things Network LoRaWAN Stack V3 笔记 2.4 Packet Forward 让 LoRaWAN 网关接入

作者头像
twowinter
发布2020-04-17 12:21:12
8380
发布2020-04-17 12:21:12
举报
文章被收录于专栏:twowinter

前言

应用创建好之后,先让 LoRaWAN 网关接入进来。本篇笔记使用树莓派 LoRaWAN 网关搭配 Packet Forward,做修改后接入到 Stack。

小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack 进行了分析,详细可点此查看

1 网关端修改

Purpose

Protocol

Authentication

Port

Port (TLS)

Gateway data

Semtech Packet Forwarder

None

1700 (UDP)

N/A

Gateway data

MQTT

API key, token

1882

8882

我们先使用 Packet Forward 让网关接入,主要修改 IP 和 GWEUI,这些主要是在 local_conf.json 里调整。

代码语言:javascript
复制
{
 "gateway_conf": {
  "gateway_ID": "33800000A0000001",
  "server_address": "your_ip",
  "serv_port_up": 1700,
  "serv_port_down": 1700,
  "serv_enabled": true,
  "ref_latitude": 0,
  "ref_longitude": 0,
  "ref_altitude": 0 
 }
}

其他关于网关的CN470 频段等信息,可以在 global_conf.json 里调整。

2 网关接入日志

NS 上可以使用 netstat 查看下监听端口的打开情况。

代码语言:javascript
复制
# netstat -nua
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 127.0.0.1:6969          0.0.0.0:*
udp        0      0 0.0.0.0:68              0.0.0.0:*
udp        0      0 172.20.0.1:123          0.0.0.0:*
udp        0      0 172.19.0.1:123          0.0.0.0:*
udp        0      0 172.18.0.1:123          0.0.0.0:*
udp        0      0 172.17.0.1:123          0.0.0.0:*
udp        0      0 10.0.8.5:123            0.0.0.0:*
udp        0      0 127.0.0.1:123           0.0.0.0:*
udp        0      0 0.0.0.0:123             0.0.0.0:*
udp6       0      0 :::1700                 :::*
udp6       0      0 :::2700                 :::*
udp6       0      0 :::123                  :::*

网关上线后在 NS 上会得到日志:

代码语言:javascript
复制
 DEBUG Run database query                       duration=2ms grpc_method=GetIden
tifiersForEUI grpc_service=ttn.lorawan.v3.GatewayRegistry namespace=db query=SELewaECT id, created_at, updated_at, gateway_id, gateway_eui FROM "gateways"  WHERE "
gateways"."deleted_at" IS NULL AND ((gateway_eui = $1)) ORDER BY "gateways"."id"
 ASC LIMIT 1 request_id=01D6SZGVKPBBNBVFPMC8MKXRYJ rows=1 source=gateway_store.g
o:115 values=[33800000A0000001]
  INFO Finished unary call                      duration=3.739592ms grpc_method=
GetIdentifiersForEUI grpc_service=ttn.lorawan.v3.GatewayRegistry namespace=grpc
request_id=01D6SZGVKPBBNBVFPMC8MKXRYJ
 DEBUG Finished unary call                      duration=4.471146ms grpc_method=
GetIdentifiersForEUI grpc_service=ttn.lorawan.v3.GatewayRegistry namespace=grpc
 DEBUG Run database query                       duration=2ms grpc_method=Get grp
c_service=ttn.lorawan.v3.GatewayRegistry namespace=db query=SELECT id, created_a
t, updated_at, gateway_id, gateway_eui, frequency_plan_id, schedule_downlink_lat
e, enforce_duty_cycle, downlink_path_constraint FROM "gateways"  WHERE "gateways
"."deleted_at" IS NULL AND ((gateway_id = $1) AND (gateway_eui = $2)) ORDER BY "
gateways"."id" ASC LIMIT 1 request_id=01D6SZGVKTAJ46Z1Y0JTRNT91E rows=1 source=g
ateway_store.go:115 values=[ttgtw1 33800000A0000001]
  INFO Finished unary call                      duration=3.249904ms grpc_method=
Get grpc_service=ttn.lorawan.v3.GatewayRegistry namespace=grpc request_id=01D6SZ
GVKTAJ46Z1Y0JTRNT91E
 DEBUG Finished unary call                      duration=3.686266ms grpc_method=
Get grpc_service=ttn.lorawan.v3.GatewayRegistry namespace=grpc
  INFO Connected                                gateway_eui=33800000A0000001 gat
eway_uid=ttgtw1 namespace=gatewayserver/io/udp 

断开的日志:

代码语言:javascript
复制
  WARN Downlink path expired                    gateway_eui=33800000A0000001 gateway_uid=ttgtw1 namespace=gatewayserver/io/udp
  WARN Connection expired                       gateway_eui=33800000A0000001 namespace=gatewayserver/io/udp
  INFO Disconnected                             gateway_eui=33800000A0000001 gateway_uid=ttgtw1 namespace=gatewayserver/io/udp

3 网关端的一些备忘

如果网关无法建立 socket,可以使用 nc 工具测试下网络情况。

代码语言:javascript
复制
$ nc -z -v -u your_ip 1700
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
 outif (null)
 src 10.70.84.139 port 52632
 dst your_ip port 1700
 rank info not available

Connection to your_ip port 1700 [udp/mps-raft] succeeded!

netstat 也是个不错的选择。

代码语言:javascript
复制
$ netstat -nua

END


iotisan 博客专家

发布了251 篇原创文章 · 获赞 253 · 访问量 84万+

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1 网关端修改
  • 2 网关接入日志
  • 3 网关端的一些备忘
  • END
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档