前言

前两篇笔记将 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 应用相关推荐

  1. The Things Network LoRaWAN Stack V3 学习笔记 2.2 使用 CLI 进行 OAuth 登录

    前言 在上一篇笔记中已经将 Stack 运行起来了,现在可以着手用 CLI 来做一些测试,第一步是要先登录账户. 小能手这段时间在学习 The Things Network LoRaWAN Stack ...

  2. The Things Network LoRaWAN Stack V3 学习笔记

    The Things Network 是 LoRaWAN 行业里非常著名的 Network Server 提供方,尤其是开发者社区运营得非常好,吸引了很多开发者来使用他们的平台.接触的许多国外的厂家, ...

  3. The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入

    前言 网关接入之后,再让节点接入.本篇笔记重点记录一些小坑,注意跳过. 小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack ...

  4. The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译

    前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部件.由于部分包在墙外,带来了一点麻烦,还分享一个 replace 方式来翻墙的办法. 小能手这段时间在学习 The Things ...

  5. The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译 - 190821

    文章目录 前言 1 依赖包替换 2 编译准备 3 编译 3.1 cli 编译 3.2 stack 编译 3.3 前端编译 END 前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部 ...

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

    前言 https://github.com/TheThingsNetwork/lorawan-stack/blob/master/doc/gettingstarted.md 这篇笔记记录了 stack ...

  7. The Things Network LoRaWAN Stack V3 学习笔记 2.7 编译运行 Web 前端

    文章目录 前言 1 Stack 前端简介 Console OAuth 2 编译 Stack 前端 3 总体操作流程 4 部署在CVM上的操作 END 前言 此前一直使用命令行来测试,最近 Stack ...

  8. The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试

    文章目录 前言 1 官方介绍 2 本地实践 2.1 脚本准备 2.2 操作步骤 END 前言 上一篇研究了如果编译运行 Web 前端,这一篇研究如何在开发模式下调试 Web 前端. 小能手这段时间在学 ...

  9. The Things Network LoRaWAN Stack V3 学习笔记 2.1.1 使用 CockroachDB Shell 操作 Identity Server

    前言 由于 OAUTH 命令进行了更新,导致我把一条旧的命令配置进了 Identity Server.所以本节琢磨下如何使用 cockroachdb 修改 Identity Server. 相关 sh ...

最新文章

  1. Tokyo Cabinet 安装
  2. 共享库报错问题及解决方案
  3. 从原理上搞懂如何设置线程池参数大小?
  4. 前端中全部盒子靠左对齐_图文详解ul中li内容垂直居中和水平居中的方法
  5. LeetCode # Array # Easy # 217. Contains Duplicate
  6. 把 JavaScript 放置到何处
  7. 走向REST:在Spring和JAX-RS(Apache CXF)中嵌入Jetty
  8. Nagios监控ActiveMQ插件开发和部署注意事项
  9. python虚函数_Python进阶话题杂谈(十三)纯虚函数与抽象基类
  10. [C#-Util]ObjectPool Prototype
  11. Android BufferQueue生产消费原理(八)
  12. Extjs ComboBox常用的配置
  13. Cassandra概念学习系列之Cassandra是什么?
  14. JavaScript的事件绑定及深入
  15. pytho wordcloud安装
  16. 关于开机USB电涌15秒关机的另类解决方法
  17. 蓝桥杯历年真题大全+题型分布+分数分布
  18. ——java中的反射
  19. 如何阅读一个前向推理框架?以NCNN为例
  20. delphi控件使用

热门文章

  1. iOS—[self class]和[super class]
  2. 27-fork 函数与分身术
  3. 深扒SQL的历史,说点秘密给你听
  4. Symbian的中文字体s60sc.ccc,ttfdump与iType
  5. 从零开始学USB(二、基础知识2)
  6. ARM开发板使用USB WIFI模块实现上网
  7. 【SPSS】解决问题:在二阶聚类中发生意外的错误
  8. 编写简单的WEB服务器
  9. 复数的四则运算(C语言实现)
  10. 运动和不运动的人,人生到底差在哪