The Things Network LoRaWAN Stack V3 学习笔记 2.3 使用 CLI 在 Stack 上创建 DEMO 应用
前言
前两篇笔记将 Stack 跑起来并且登录上去,那接下来就可以创建应用,再之后让网关和节点连接上来。
本节记录如何使用 CLI 工具在 Stack 上创建 DEMO 应用。
可参考官方的 guide。
小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack 进行了分析,详细可点此查看。
1 网关注册
$ ./ttn-lw-cli gateway create ttgtw1 --user-id ttn-1 --frequency-plan-id CN_470_510_FSB_11 --gateway-eui 33800000A0000001 --enforce-duty-cycle
{"ids": {"gateway_id": "ttgtw1",},"created_at": "2019-03-22T06:20:23.795Z","updated_at": "2019-03-22T06:20:23.795Z","version_ids": {},"frequency_plan_id": "CN_470_510_FSB_11","antennas": [{"location": {"source": "SOURCE_REGISTRY"}}],"enforce_duty_cycle": true
}
注意 frequency-plan-id 是摘取自 https://github.com/TheThingsNetwork/lorawan-frequency-plans。
可能有如下几种错误的情况:
i. 所使用的用户不对 默认是 admin,需要和自己之前登录的帐号的保持一致。
$ ./ttn-lw-cli gateway create gtw1 --user-id admin --
frequency-plan-id CN_470_510_FSB_11 --gateway-eui 00800000A00009EF --enforce-dut
y-cycleWARN Finished unary call duration=67.694297ms error=rpc error: code = PermissionDenied desc = error:pkg/auth/rights:no_user_rights (no ri
ghts for user `admin`) error_correlation_id=ccd15b415f99417dbb75e7d4e83e5aca err
or_name=no_user_rights error_namespace=pkg/auth/rights grpc_code=PermissionDenie
d grpc_method=Create grpc_service=ttn.lorawan.v3.GatewayRegistry namespace=grpc
error:pkg/auth/rights:no_user_rights (no rights for user `admin`)uid=admincorrelation_id=ccd15b415f99417dbb75e7d4e83e5aca
ii. 网关名 已经被注册过。
$ ./ttn-lw-cli gateway create gtw1 --user-id ttn-1 --frequency-plan-id CN_470_510_FSB_11 --gateway-eui 00800000A00009EF --enforce-duty-cycle
error:pkg/identityserver/store:id_taken (ID already taken)correlation_id=732bb95a240b48e69d6349fd408e8374
[root@txiot1 lorawan-stack]# ./ttn-lw-cli gateway create gtw1 --user-id ttn-1 --
frequency-plan-id CN_470_510_FSB_11 --gateway-eui 10800000A00009EF --enforce-dut
y-cycle
error:pkg/identityserver/store:id_taken (ID already taken)correlation_id=192c8609e404401a9ace68e883249f9b
当然,也可以把网关现有的ID直接更新进去。
./ttn-lw-cli gateway update ttgtw1 --user-id ttn-1 --frequency-plan-id CN_470_510_FSB_11 --gateway-eui 33800000A0000001 --enforce-duty-cycle
2 注册应用
$ ./ttn-lw-cli app create ttapp1 --user-id ttn-1
{"ids": {"application_id": "ttapp1"},"created_at": "2019-03-22T06:48:27.776Z","updated_at": "2019-03-22T06:48:27.776Z"
}
3 创建设备
$ ./ttn-lw-cli end-devices create ttapp1 ttdev1 --dev-eui 3304A30B001C0530 --join-eui 800000000000000C --frequency-plan-id CN_470_510_FSB_11 --root-keys.app-key.key 752BAEC23EAE7964AF27C325F4C23C9A --lorawan-phy-version 1.0.2-b --lorawan-version 1.0.2
{"ids": {"device_id": "ttdev1","application_ids": {"application_id": "ttapp1"},"dev_eui": "3304A30B001C0530","join_eui": "800000000000000C"},"created_at": "2019-03-22T06:56:08.419Z","updated_at": "2019-03-22T06:56:08.419Z","attributes": {},"network_server_address": "localhost:8884","application_server_address": "localhost:8884","join_server_address": "localhost:8884","lorawan_version": "1.0.2","lorawan_phy_version": "1.0.2-b","frequency_plan_id": "CN_470_510_FSB_11","supports_join": true,"root_keys": {"app_key": {"key": "dSuuwj6ueWSvJ8Ml9MI8mg=="}}
}
4 链接应用程序
按照设计,需要把 AS 链接到 NS 上。
首先,给 AS 创建 API key。
$ ./ttn-lw-cli app api-keys create --application-id ttapp1 --right-application-linkINFO API key ID: DOTYLMFWUNF2YZNR2QZBXQCFXPKFAUVY26CJOFAINFO API key value: NNSXS.DOTYLMFWUNF2YZNR2QZBXQCFXPKFAUVY26CJOFA.7E4HX57SMVLEQD6B2X5OTFYYZ4GMBJE4GKO4JUFDBPVBEDY5I6LQWARN The API key value will never be shown againWARN Make sure to copy it to a safe place
{"id": "DOTYLMFWUNF2YZNR2QZBXQCFXPKFAUVY26CJOFA","key": "NNSXS.DOTYLMFWUNF2YZNR2QZBXQCFXPKFAUVY26CJOFA.7E4HX57SMVLEQD6B2X5OTFYYZ4GMBJE4GKO4JUFDBPVBEDY5I6LQ","rights": ["RIGHT_APPLICATION_LINK"]
}
其次,将 AS 链接到 NS。
$ ./ttn-lw-cli app link set ttapp1 --api-key NNSXS.DOTYLMFWUNF2YZNR2QZBXQCFXPKFAUVY26CJOFA.7E4HX57SMVLEQD6B2X5OTFYYZ4GMBJE4GKO4JUFDBPVBEDY5I6LQ
至此,整个设备和应用的创建过程就完成了。后面我们就让网关以及设备逐个上线,观察上下行流程。
END
The Things Network LoRaWAN Stack V3 学习笔记 2.3 使用 CLI 在 Stack 上创建 DEMO 应用相关推荐
- The Things Network LoRaWAN Stack V3 学习笔记 2.2 使用 CLI 进行 OAuth 登录
前言 在上一篇笔记中已经将 Stack 运行起来了,现在可以着手用 CLI 来做一些测试,第一步是要先登录账户. 小能手这段时间在学习 The Things Network LoRaWAN Stack ...
- The Things Network LoRaWAN Stack V3 学习笔记
The Things Network 是 LoRaWAN 行业里非常著名的 Network Server 提供方,尤其是开发者社区运营得非常好,吸引了很多开发者来使用他们的平台.接触的许多国外的厂家, ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入
前言 网关接入之后,再让节点接入.本篇笔记重点记录一些小坑,注意跳过. 小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack ...
- The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译
前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部件.由于部分包在墙外,带来了一点麻烦,还分享一个 replace 方式来翻墙的办法. 小能手这段时间在学习 The Things ...
- The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译 - 190821
文章目录 前言 1 依赖包替换 2 编译准备 3 编译 3.1 cli 编译 3.2 stack 编译 3.3 前端编译 END 前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部 ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.1 运行准备
前言 https://github.com/TheThingsNetwork/lorawan-stack/blob/master/doc/gettingstarted.md 这篇笔记记录了 stack ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.7 编译运行 Web 前端
文章目录 前言 1 Stack 前端简介 Console OAuth 2 编译 Stack 前端 3 总体操作流程 4 部署在CVM上的操作 END 前言 此前一直使用命令行来测试,最近 Stack ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试
文章目录 前言 1 官方介绍 2 本地实践 2.1 脚本准备 2.2 操作步骤 END 前言 上一篇研究了如果编译运行 Web 前端,这一篇研究如何在开发模式下调试 Web 前端. 小能手这段时间在学 ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.1.1 使用 CockroachDB Shell 操作 Identity Server
前言 由于 OAUTH 命令进行了更新,导致我把一条旧的命令配置进了 Identity Server.所以本节琢磨下如何使用 cockroachdb 修改 Identity Server. 相关 sh ...
最新文章
- Tokyo Cabinet 安装
- 共享库报错问题及解决方案
- 从原理上搞懂如何设置线程池参数大小?
- 前端中全部盒子靠左对齐_图文详解ul中li内容垂直居中和水平居中的方法
- LeetCode # Array # Easy # 217. Contains Duplicate
- 把 JavaScript 放置到何处
- 走向REST:在Spring和JAX-RS(Apache CXF)中嵌入Jetty
- Nagios监控ActiveMQ插件开发和部署注意事项
- python虚函数_Python进阶话题杂谈(十三)纯虚函数与抽象基类
- [C#-Util]ObjectPool Prototype
- Android BufferQueue生产消费原理(八)
- Extjs ComboBox常用的配置
- Cassandra概念学习系列之Cassandra是什么?
- JavaScript的事件绑定及深入
- pytho wordcloud安装
- 关于开机USB电涌15秒关机的另类解决方法
- 蓝桥杯历年真题大全+题型分布+分数分布
- ——java中的反射
- 如何阅读一个前向推理框架?以NCNN为例
- delphi控件使用