GitHub - TheThingsNetwork/lorawan-stack: The Things Network Stack for LoRaWAN V3
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
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
.
- 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
andkey.pem
. For development, you can generate self-signed certificates withmake dev.certs
.
- Pull the Docker images:
docker-compose pull
- Initialize the database:
docker-compose run --rm stack is-db init
- Create the
admin
user:You can choose a different user ID if you want. If you do, make sure to use that fordocker-compose run --rm stack is-db create-admin-user \ --id admin --email [email protected]
owner
below. - 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'
- Register the Console as an OAuth client:
Make sure to copy the value of the
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'
secret
that is printed by this command. - 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>
- Run the Stack:
docker-compose up
Read the full Getting Started guide here
Documentation
- General documentation can be found at thethingsnetwork.org/docs
- Learn how to contribute in CONTRIBUTING.md
- Setting up a development environment is documented in DEVELOPMENT.md
- Documentation for the Go code can be found at godoc.org
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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK