thethingsstack.io has moved to thethingsindustries.com/docs
Got it

v3.12

Getting Started Devices Gateways Integrations Reference
Get The Things Stack

Getting Started

    Overview
  • What Is The Things Stack?
  • Installing The Things Stack
  • Migrating to The Things Stack
  • Upgrading The Things Stack
  • The Things Stack Cloud
    • Cloud Addresses
    • The Things Join Server
      • Register Devices
      • Activating Devices on Cloud
  • AWS
  • Command-line Interface
  • Console
  • Troubleshooting Getting Started
  • Users and Organizations
  • Using the API
  • Working with Events

Register Devices

The Things Join Server is a LoRaWAN Join Server. Learn how to register devices to activate on The Things Industries Cloud Hosted or any LoRaWAN network.

Command-line interface only

The instructions below use the command-line interface (CLI).

Learn how to install the CLI

Prerequisites

  1. When using the command-line interface (CLI), a configuration file with Join Server only. See The Things Join Server.
  2. JoinEUI/AppEUI is either issued from a IEEE block that you own, or set to 70B3D57ED0000000.
  3. DevEUIs are issued from a IEEE block that you own.
  4. Root keys are generated randomly per device.

Learn more about obtaining a IEEE MAC Address Block for JoinEUI/AppEUI and DevEUIs.

Login with CLI

Use the command-line interface (CLI) configuration file with Join Server only.

$ ttn-lw-cli login

Register

You can register devices that support LoRaWAN 1.0.x and 1.1.x activation. The actual LoRaWAN version of the session depends on the end device and the LoRaWAN network capabilities and configuration.

It is recommended to provision the LoRaWAN 1.1.x NwkKey for future compliance. This allows the device for joining as LoRaWAN 1.0 as well, only using the AppKey.

LoRaWAN 1.0.x

To register a LoRaWAN 1.0.x device in application test-app, device ID test-device, AppEUI 70B3D57ED0000000 and DevEUI 0004A310001FF9E0 and an AppKey:

$ ttn-lw-cli end-devices create test-app test-device \
  --app-eui 70B3D57ED0000000 \
  --dev-eui 0004A310001FF9E0 \
  --root-keys.app-key.key D3FD8EEED7E8880025CC63D5E8E1D7FB
Show output
{
  "ids": {
    "device_id": "test-device",
    "application_ids": {
      "application_id": "test-app"
    },
    "dev_eui": "0004A310001FF9E0",
    "join_eui": "70B3D57ED0000000"
  },
  "created_at": "2019-12-11T16:06:40.595Z",
  "updated_at": "2019-12-11T16:06:41.819240805Z",
  "attributes": {
  },
  "join_server_address": "tti.join.cloud.thethings.industries",
  "root_keys": {
    "app_key": {
      "key": "D3FD8EEED7E8880025CC63D5E8E1D7FB"
    }
  }
}

LoRaWAN 1.1.x

To register a LoRaWAN 1.1.x device in application test-app, device ID test-device, JoinEUI 70B3D57ED0000000 and DevEUI 0004A310001FF9E0 and an AppKey:

$ ttn-lw-cli end-devices create test-app test-device \
  --join-eui 70B3D57ED0000000 \
  --dev-eui 0004A310001FF9E0 \
  --root-keys.app-key.key D3FD8EEED7E8880025CC63D5E8E1D7FB \
  --root-keys.nwk-key.key 4EAF77DA839DEE8F5003ECC4FBED8135
Show output
{
  "ids": {
    "device_id": "test-device",
    "application_ids": {
      "application_id": "test-app"
    },
    "dev_eui": "0004A310001FF9E0",
    "join_eui": "70B3D57ED0000000"
  },
  "created_at": "2019-12-11T16:10:20.092Z",
  "updated_at": "2019-12-11T16:10:20.250739580Z",
  "attributes": {
  },
  "join_server_address": "tti.join.cloud.thethings.industries",
  "supports_join": true,
  "root_keys": {
    "app_key": {
      "key": "D3FD8EEED7E8880025CC63D5E8E1D7FB"
    },
    "nwk_key": {
      "key": "4EAF77DA839DEE8F5003ECC4FBED8135"
    }
  }
}

Advanced Settings

As part of the end device create and update CLI commands, you can specify advanced settings.

On create, the --with-root-keys flag allows for generating root keys randomly.

The --resets-join-nonces={true|false} indicates whether the DevNonce and AppNonce/JoinNonce are allowed to reset. Use this with caution in research and development scenarios only: enabling this allows for join replay attacks.

The --claim-authentication-code flags allow for setting the claim authentication code and validity. On create, you can specify --with-claim-authentication-code to generate a random code.

  • --claim-authentication-code.value: alphanumeric secret value.
  • --claim-authentication-code.valid-from: date and time when the code becomes valid.
  • --claim-authentication-code.valid-to: date and time when the code expires.

The claim authentication code can be part of QR codes. Learn how to generate QR codes.

Next Steps

You can now activate the devices on The Things Industries Cloud Hosted.

← The Things Join Server Activating Devices on Cloud →

On this page

  • Prerequisites
  • Login with CLI
  • Register
  • Next Steps

The Things Stack

Getting Started

Devices

Gateways

Integrations

Reference

Contributing

GitHub

Forum

About Us

The Things Network

The Things Industries

About this page

Last changed by benolayinka on 09 Dec 2020.
doc: Rename Global Join Server to The Things Join Server

Edit on Github