ttn:实践指南

作者:袖梨 2026-09-10

实际评估ttn时,我先确认它解决的具体问题:The Things Network 第二版物联网网络栈,提供 LoRaWAN 服务组件。一旦进入日常自动化环节,输入边界、依赖和失败处理如果不清楚就很难稳定复用会直接影响交付,这也是我最关心的风险。我的评估方法是用一项范围明确的真实任务完成最小试跑,然后检查配置时间、输出质量、异常信息和维护痕迹是否与文档一致。我的判断是,它更适合愿意先做小范围验证并复查原始文档的团队;若眼下没有这类需求,先保留观察即可。

物联网堆栈

The Things Network 是一个全球开放的众包物联网数据网络。

物联网入门

当您开始使用 The Things Network 时,您可能会遇到一些问题。您可以采取以下措施来找到问题的答案:

  • 查看我们的 网站
  • 阅读官方文档
  • 在 论坛 上注册并搜索
  • 加入 Slack 并询问我们您想了解什么

安装和运行物联网堆栈

尽管我们致力于构建一个开放的公共网络,但我们知道有些人宁愿将所有内容都私有地保存在自己的服务器上。在我们的网站上,您会找到一些文章,介绍如何 设置私有路由环境 以及如何使用 Docker 部署此环境。

发展

首先,您必须准备好开发环境。请按照以下步骤设置您的开发机器。

  1. 确保您已安装 Go(版本 1.11 或更高版本)。
  2. 设置您的 Go 环境
  3. 安装protobuf编译器(protoc
  4. 安装make。在 Linux 上安装 build-essential。在macOS上,make附带XCode或开发者工具。在 Windows 上,您可以从 https://gnuarmeclipse.github.io/windows-build-tools/ 获取 make
  5. 确保您有 Redis 和 RabbitMQ 已安装并且正在运行
    在全新安装中,您可能需要安装 RabbitMQ 的 [MQTT 插件。
    如果您使用的是 Linux,您可能知道如何做到这一点。在 Mac 上,只需运行 brew bundle。 Windows 安装程序将设置并启动 RabbitMQ 作为服务。使用RabbitMQ Command Prompt (sbin dir)运行命令i.e。启用插件。
  6. 声明类型为 topic 的 RabbitMQ 交换 ttn.handler。使用管理插件,在Web界面http://server-name:15672中声明交换或使用管理cli,运行rabbitmqadmin declare exchange name=ttn.handler type=topic auto_delete=false durable=true。如果您的处理程序的用户对 RabbitMQ 有足够的权限,它将尝试创建交换(如果不存在)。

接下来,您可以克隆此存储库并设置 TTN 部分:

  1. 分叉这个存储库
  2. 克隆你的叉子:git clone --branch develop https://github.com/YOURUSERNAME/ttn.git $GOPATH/src/github.com/TheThingsNetwork/ttn
  3. cd $GOPATH/src/github.com/TheThingsNetwork/ttn
  4. 安装开发依赖:make dev-deps
  5. 运行测试:make test
  6. 运行 make build 以从源代码构建 ttnttnctl
  7. 运行 make dev 将 go 二进制文件安装到 $GOPATH/bin/
    • (可选)在 Linux 或 Mac 上,您可以使用 make link 将它们链接到 $GOPATH/bin/(为了运行命令,您的配置文件中应该有 export PATH="$GOPATH/bin:$PATH")。
  8. 通过将该文件复制到 ~/.ttnctl.yml,使用 .env/ttnctl.yml.dev-example 中的设置配置 ttnctl
  9. 通过将 .env/discovery/server.cert 复制到 ~/.ttnctl/ca.cert 来信任本地发现服务器的 CA 证书。

您可以通过运行 ttnctl config 来检查您的 ttnctl 配置。它应该看起来像这样:

  INFO Using config:

         config file: /home/your-user/.ttnctl.yml
            data dir: /home/your-user/.ttnctl

         auth-server: https://account.thethingsnetwork.org
   discovery-address: localhost:1900
           router-id: dev
          handler-id: dev
        mqtt-address: localhost:1883

NOTE: 从现在开始,您应该运行 $GOPATH/src/github.com/TheThingsNetwork/ttn 目录中的所有命令。

相关文章

精彩推荐