33

GitHub - TheThingsNetwork/lorawan-stack: The Things Network Stack for LoRaWAN V3

 5 years ago
source link: https://github.com/TheThingsNetwork/lorawan-stack
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

The Things Network Stack for LoRaWAN

Build Status Coverage Status GoDoc

The Things Network Stack for LoRaWAN is an open-source LoRaWAN network stack suitable for large, global and geo-distributed public and private networks as well as smaller networks. The architecture follows the LoRaWAN Network Reference Model for standards compliancy and interoperability.

LoRaWAN is a protocol for low-power wide area networks. It allows for large scale Internet of Things deployments where low-powered devices efficiently communicate with Internet-connected applications over long range wireless connections.

Features

  • LoRaWAN Network Server
    • Supports LoRaWAN 1.1
    • Supports LoRaWAN 1.0, 1.0.1, 1.0.2 and 1.0.3
    • Supports LoRaWAN Regional Parameters 1.0, 1.0.2 rev B, 1.0.3 rev A, 1.1 rev A and B
    • Supports Class A devices
    • Supports Class B devices
    • Supports Class C devices
    • Supports OTAA devices
    • Supports ABP devices
    • Supports MAC Commands
    • Supports Adaptive Data Rate
    • Implements LoRaWAN Back-end Interfaces 1.0
  • LoRaWAN Application Server
    • Payload conversion of well-known payload formats
    • Payload conversion using custom JavaScript functions
    • MQTT pub/sub API
    • HTTP Webhooks API
    • Implements LoRaWAN Back-end Interfaces 1.0
  • LoRaWAN Join Server
    • Supports OTAA session key derivation
    • Supports external crypto services
    • Implements LoRaWAN Back-end Interfaces 1.0
  • OAuth 2.0 Identity Server
    • User management
    • Entity management
    • ACLs
  • GRPC APIs
  • HTTP APIs
  • Command-Line Interface
    • Create account and login
    • Application management and traffic
    • End device management, status and traffic
    • Gateway management and status
  • Web Interface (Console)
    • Create account and login
    • Application management and traffic
    • End device management, status and traffic
    • Gateway management, status and traffic

Getting Started

You want to get started? Fantastic! Here's an extensive Getting Started guide.

The easiest way to set up a private network is with the provided docker-compose.yml.

  1. Prerequisites
    • Make sure you have Docker and Docker Compose installed.
    • Make sure you have a TLS certificate and key ready. We'll expect a cert.pem and key.pem. For development, you can generate self-signed certificates with make dev.certs.
  2. Pull the Docker images:
    docker-compose pull
  3. Initialize the database:
    docker-compose run --rm stack is-db init
  4. Create the admin user:
    docker-compose run --rm stack is-db create-admin-user \
      --id admin --email [email protected]
    You can choose a different user ID if you want. If you do, make sure to use that for owner below.
  5. Register the CLI as an OAuth client:
    docker-compose run --rm stack is-db create-oauth-client \
      --id cli --name "Command Line Interface" --no-secret \
      --owner admin \
      --redirect-uri 'http://localhost:11885/oauth/callback'
  6. Register the Console as an OAuth client:
    docker-compose run --rm 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'
    Make sure to copy the value of the secret that is printed by this command.
  7. Export the Console's OAuth client secret or replace it in your docker-compose.yml:
    export TTN_LW_CONSOLE_OAUTH_CLIENT_SECRET=<PASTE SECRET HERE>
  8. Run the Stack:
    docker-compose up

Read the full Getting Started guide here

Documentation

Support

  • The forums contain a massive amount of information and has great search
  • You can chat on Slack, an invite can be requested from your account page
  • Hosted solutions, as well as commercial support and consultancy are offered by The Things Industries

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK