Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >The Things Network LoRaWAN Stack V3 学习笔记 2.1 运行准备

The Things Network LoRaWAN Stack V3 学习笔记 2.1 运行准备

作者头像
twowinter
发布于 2020-04-17 10:20:03
发布于 2020-04-17 10:20:03
95801
代码可运行
举报
文章被收录于专栏:twowintertwowinter
运行总次数:1
代码可运行

1 证书准备

为了让内容可以使用 TLS 进行传输,整个 Stack 需要 cert.pemkey.pem

实际上 在 make init 之后,已经自动创建了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lorawan-stack  Generating certificates
2019/03/15 15:24:06 wrote cert.pem
2019/03/15 15:24:06 wrote key.pem
make[1]: Leaving directory '/home/ubuntu/lorawan-stack'

自签名证书会出现浏览器和OS不信任的情况,导致一些警告或者错误。可以考虑使用 Let’s Encrypt 申请免费的 TLS 证书。

2 频点计划配置

By default, frequency plans are fetched by the stack from the TheThingsNetwork/lorawan-frequency-plans repository. To set a new source:

  • TTN_LW_FREQUENCY_PLANS_URL allows you to serve frequency plans fetched from a HTTP server.
  • TTN_LW_FREQUENCY_PLANS_DIRECTORY allows you to serve frequency plans from a local directory.

配置其实支持3种方式:

  • 启动时的命令参数
  • -c 选项解析 yml文件
  • 环境变量

3 数据库启动

3.1 CockroachDB

CockroachDB 是一个分布式数据库,被用在了项目中的 Identity Server。

具体安装方法 点击这里

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cockroach start --http-port 26256 --insecure

3.2 Redis

Redis 是个比较流行的内存数据存储数据库,在这个项目中也有用到。

具体安装方法 点击这里

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis-server --appendonly yes

4 Identity Server 的初始化及用户创建

必须保证 cockroach 先运行起来。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ./ttn-lw-stack is-db init
  INFO Connecting to Identity Server database...
  INFO Detected database CockroachDB CCL v2.1.6 (x86_64-unknown-linux-gnu, built 2019/03/04 23:21:07, go1.10.7)
  INFO Creating database "ttn_lorawan_dev"...
  INFO Creating tables in "ttn_lorawan_dev"...
  INFO Successfully initialized
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ./ttn-lw-stack is-db create-admin-user --id admin --email admin@localhost
  INFO Connecting to Identity Server database...
Please enter user password:**
Please repeat user password:**
  INFO Creating user...
  INFO Created user

5 OAUTH 客户端注册

5.1 CLI 注册 OAUTH 客户端

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ./ttn-lw-stack is-db create-oauth-client \
  --id cli \
  --name "Command Line Interface" \
  --owner admin \
  --no-secret \
  --redirect-uri 'local-callback' \
  --redirect-uri 'code'

5.2 Console 注册 OAUTH 客户端

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ./ttn-lw-stack is-db create-oauth-client \
   --id console --name "Console" \
   --owner admin \
   --redirect-uri 'http://example.com:1885/console/oauth/callback' \
   --redirect-uri 'https://example.com:8885/console/oauth/callback'
  INFO Connecting to Identity Server database...
  INFO Creating OAuth client...
  INFO Created OAuth client                     secret=TQVLMKM2RR26VDCEXSWWEM7CKNS7T4GPB67L32SVXQHW24QGLY7Q

// 这里的 redirect-uri 没想好怎么用,得再深入研究下 OAuth

6 环境变量

docker yaml 文件内,还可以看到定义了一些环境变量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      - TTN_LW_HTPP_COOKIE_HASH_KEY
      - TTN_LW_HTTP_COOKIE_BLOCK_KEY
      - TTN_LW_CLUSTER_KEYS
      - TTN_LW_FREQUENCY_PLANS_URL
      - TTN_LW_CONSOLE_OAUTH_CLIENT_SECRET
	  
      - TTN_LW_IS_DATABASE_URI=postgres://root@cockroach:26257/${DEV_DATABASE_NAME:-ttn_lorawan}?sslmode=disable
      - TTN_LW_REDIS_ADDRESS=redis:6379
	  
      - TTN_LW_TLS_CERTIFICATE=/run/secrets/cert.pem
      - TTN_LW_CA=/run/secrets/cert.pem
      - TTN_LW_TLS_KEY=/run/secrets/key.pem

为了简单方便,写个脚本。重点把 CONSOLE_OAUTH_CLIENT_SECRET 配置下,以及把证书文件的路径调整一下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export TTN_LW_COOKIE_HASHKEY=
export TTN_LW_COOKIE_BLOCKKEY=
export TTN_LW_CLUSTER_KEYS=
export TTN_LW_FREQUENCY_PLANS_URL=
export TTN_LW_CONSOLE_OAUTH_CLIENT_SECRET=TQVLMKM2RR26VDCEXSWWEM7CKNS7T4GPB67L32SVXQHW24QGLY7Q

export TTN_LW_IS_DATABASE_URI=postgres://root@localhost:26257/ttn_lorawan_dev?sslmode=disable
export TTN_LW_REDIS_ADDRESS=localhost:6379
export TTN_LW_TLS_CERTIFICATE=/home/ubuntu/lorawan-stack/cert.pem
export TTN_LW_CA=/home/ubuntu/lorawan-stack/cert.pem
export TTN_LW_TLS_KEY=/home/ubuntu/lorawan-stack/key.pem

7 运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./ttn-lw-stack start

可以在脚本里加上这一句,一起跑起来。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ubuntu@VM-0-6-ubuntu:~/lorawan-stack$ ./run.sh
  INFO Setting up core component
  WARN No cookie hash key configured, generated a random one hash_key=37588D493A48C90BC9F9BFB2D54B3940F8B0BF79934C30DFA5E1E412E0F2D09B904554FCE192B3C4FF7B7FB11F564DD805DBD730B7244189B651C4B3BC5CD569 namespace=web
  WARN No cookie block key configured, generated a random one block_key=88DAC6E8003625D5F200CF969BAB793DCD3D735E2E73531F6BAE2D800D33DEEC namespace=web
  INFO Setting up Identity Server
  INFO Setting up Gateway Server
  INFO Setting up Network Server
  INFO Setting up Application Server
  INFO Setting up Join Server
  INFO Starting...
  INFO Listening for gRPC connections           address=:1884 namespace=grpc
  INFO Listening for gRPC/tls connections       address=:8884 namespace=grpc
  INFO Listening for HTTP connections           address=:1885 namespace=web
  INFO Listening for HTTPS connections          address=:8885 namespace=web
  WARN No cluster key configured, generated a random one key=c9c8fe8eaae03f4f044c64868ee5316e93e935552bd344fb65a6deecaa0d32df

END

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试
上一篇研究了如果编译运行 Web 前端,这一篇研究如何在开发模式下调试 Web 前端。
twowinter
2020/04/17
4100
The Things Network LoRaWAN Stack V3 学习笔记 2.7 编译运行 Web 前端
Stack 包含了两个前端应用: Console 和 OAuth Provider。
twowinter
2020/04/17
5150
MCP(Model Context Protocol)配置安全方案:数据加密传输实践
在设计数据加密传输方案时,选择合适的加密算法是关键。我们主要考虑以下两种加密方式:
数字扫地僧
2025/05/05
2120
MCP(Model Context Protocol)配置安全方案:数据加密传输实践
The Things Network LoRaWAN Stack V3 学习笔记 2.1.2 客户端导入自签名 CA 证书
TTN 的开发环境使用了自签名证书,浏览器端在进行OAUTH登录时会弹出警告,当然我们可以无视警告强制跳转。但本地客户端 CLI 也需要进行 SSL 交互,因此本地也需要添加 CA 证书。
twowinter
2020/04/17
1.4K0
The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译 - 190821
源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部件。由于部分包在墙外,带来了一点麻烦,还分享一个 GO 翻墙利器。
twowinter
2020/04/17
1.1K0
The Things Network LoRaWAN Stack V3 学习笔记 2.2 使用 CLI 进行 OAuth 登录
在上一篇笔记中已经将 Stack 运行起来了,现在可以着手用 CLI 来做一些测试,第一步是要先登录账户。
twowinter
2020/04/17
5020
The Things Network LoRaWAN Stack V3 学习笔记 2.1.1 使用 CockroachDB Shell 操作 Identity Server
1 登录 # cockroach sql --insecure --host=localhost:26257 # Welcome to the cockroach SQL interface. # All statements must be terminated by a semicolon. # To exit: CTRL + D. # # Server version: CockroachDB CCL v2.1.6 (x86_64-unknown-linux-gnu, built 2019/03/04
twowinter
2020/04/17
4140
The Things Network LoRaWAN Stack V3 学习笔记 2.6 新增一个 CN470 子频段
目前 Stack 在 CN470 采用的是 FSB_11 子频段,手头的网关大多使用 FSB_1,本篇笔记演示如何为 Stack 新增一个子频段。
twowinter
2020/04/17
8870
The Things Network LoRaWAN Stack V3 笔记 2.3 使用 CLI 在 Stack 上创建 DEMO 应用
前两篇笔记将 Stack 跑起来并且登录上去,那接下来就可以创建应用,再之后让网关和节点连接上来。
twowinter
2020/04/17
8560
The Things Network LoRaWAN Stack V3 学习笔记
The Things Network 是 LoRaWAN 行业里非常著名的 Network Server 提供方,尤其是开发者社区运营得非常好,吸引了很多开发者来使用他们的平台。接触的许多国外的厂家,都是默认连接 TTN 的平台。
twowinter
2020/04/17
1.5K0
The Things Network LoRaWAN Stack V3 学习笔记 3.1.2.2 下行 MAC 命令处理流程
MAC 命令下行,目前和数据下行一样,主要也是在 generateDownlink() 进行处理。
twowinter
2020/04/17
3950
The Things Network LoRaWAN Stack V3 学习笔记 1.1 安装依赖工具
整个 STACK 是使用“互联网时代的C语言” GO 语言来编写的,开发环境重度依赖 make,另外还需要安装 node、yarn 等工具。
twowinter
2020/04/17
3760
使用telegraf收集监控接入Prometheus
Prometheus 官方exporter:https://prometheus.io/download/ telegraf 官方下载地址:https://github.com/influxdata/telegraf
用户6792968
2022/06/27
5.9K1
The Things Network LoRaWAN Stack V3 学习笔记 3.1.2.3_1 从 ChMask 问题引申出一个 golang 循环语句易错问题
在测试 LinkADR 功能时,发现了 STACK 中一个 ChMask 的问题,经过好几天的摸索,终于搞定了问题。根源是 range 语句中的内存分配问题,本能手觉得是个非常易错的点,值得好好记录一下。
twowinter
2020/04/17
5200
The Things Network LoRaWAN Stack V3 笔记 2.4 Packet Forward 让 LoRaWAN 网关接入
应用创建好之后,先让 LoRaWAN 网关接入进来。本篇笔记使用树莓派 LoRaWAN 网关搭配 Packet Forward,做修改后接入到 Stack。
twowinter
2020/04/17
8850
Docker API的使用
Docker作为最流行的容器化解决方案其API接口提供了强大的容器管理功能,通过Docker API我们可以实现自动化的容器lifecycle管理、数据管理、网络管理等,大大简化容器的使用难度,本篇文章我们主要介绍Docker API的基本使用
Al1ex
2023/12/22
7760
LoRaServer 笔记 1.4 配置运行
生成默认配置文件,我比较喜欢放在当前工程目录。目前没使用 basic station 的话,倒是没什么好改的。
twowinter
2020/04/17
1.5K0
WebRTC--从编译到部署,打造点对点音视频通话服务器
WebRTC实现了基于网页的视频会议,是一个支持网页浏览器进行实时语音对话或视频对话的API(来自百度),由google开发,并于2011年6月3日开源。 和直播推流不同,这是点对点通讯,服务器只是帮助建立连接,以满足视频通话的低延迟要求 分为三个服务器: 1.房间服务器:创建房间,让用户可以在一个房间内通讯 2.信令服务器:用于用户交换信令,建立连接,类似TCP握手 3.ICE服务器(内网穿透服务器):用于穿透内网IP,实现外网连接 本文基于CentOS7系统
aruba
2021/07/16
3K0
WebRTC--从编译到部署,打造点对点音视频通话服务器
Docker 启动容器实例报错:UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeou...
https://github.com/docker/compose/issues/3927
一个会写诗的程序员
2022/09/19
1.6K0
Docker 启动容器实例报错:UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeou...
The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入
LoRa节点目前还是拿商用模组来做测试,我手上拿的是四信的F8L10D,串口操作直接调整下 DevEUI/AppKEY/AppEUI 。
twowinter
2020/04/17
9570
推荐阅读
The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试
4100
The Things Network LoRaWAN Stack V3 学习笔记 2.7 编译运行 Web 前端
5150
MCP(Model Context Protocol)配置安全方案:数据加密传输实践
2120
The Things Network LoRaWAN Stack V3 学习笔记 2.1.2 客户端导入自签名 CA 证书
1.4K0
The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译 - 190821
1.1K0
The Things Network LoRaWAN Stack V3 学习笔记 2.2 使用 CLI 进行 OAuth 登录
5020
The Things Network LoRaWAN Stack V3 学习笔记 2.1.1 使用 CockroachDB Shell 操作 Identity Server
4140
The Things Network LoRaWAN Stack V3 学习笔记 2.6 新增一个 CN470 子频段
8870
The Things Network LoRaWAN Stack V3 笔记 2.3 使用 CLI 在 Stack 上创建 DEMO 应用
8560
The Things Network LoRaWAN Stack V3 学习笔记
1.5K0
The Things Network LoRaWAN Stack V3 学习笔记 3.1.2.2 下行 MAC 命令处理流程
3950
The Things Network LoRaWAN Stack V3 学习笔记 1.1 安装依赖工具
3760
使用telegraf收集监控接入Prometheus
5.9K1
The Things Network LoRaWAN Stack V3 学习笔记 3.1.2.3_1 从 ChMask 问题引申出一个 golang 循环语句易错问题
5200
The Things Network LoRaWAN Stack V3 笔记 2.4 Packet Forward 让 LoRaWAN 网关接入
8850
Docker API的使用
7760
LoRaServer 笔记 1.4 配置运行
1.5K0
WebRTC--从编译到部署,打造点对点音视频通话服务器
3K0
Docker 启动容器实例报错:UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeou...
1.6K0
The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入
9570
相关推荐
The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验