TheThingsNetwork / Ttn

Licence: mit
The Things Network Stack V2

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Ttn

Chirpstack Network Server
ChirpStack Network Server is an open-source LoRaWAN network-server.
Stars: ✭ 1,231 (+179.77%)
Mutual labels:  iot, internet-of-things, lorawan, lora
Mainflux
Industrial IoT Messaging and Device Management Platform
Stars: ✭ 1,341 (+204.77%)
Mutual labels:  iot, internet-of-things, lorawan, lora
Workshops
Workshops for The Things Network
Stars: ✭ 74 (-83.18%)
Mutual labels:  iot, internet-of-things, lorawan, lora
Lua Rtos Esp32
Lua RTOS for ESP32
Stars: ✭ 621 (+41.14%)
Mutual labels:  iot, lorawan, lora
Lorawan Stack
The Things Stack, an Open Source LoRaWAN Network Server
Stars: ✭ 504 (+14.55%)
Mutual labels:  iot, lorawan, lora
Docs
Documentation for The Things Network
Stars: ✭ 61 (-86.14%)
Mutual labels:  iot, internet-of-things, lorawan
Arduino Device Lib
Arduino Library for TTN Devices
Stars: ✭ 155 (-64.77%)
Mutual labels:  iot, internet-of-things, lorawan
Chirpstack Application Server
ChirpStack Application Server is an open-source LoRaWAN application-server.
Stars: ✭ 356 (-19.09%)
Mutual labels:  iot, lorawan, lora
Cutehmi
CuteHMI is an open-source HMI (Human Machine Interface) software written in C++ and QML, using Qt libraries as a framework. GitHub repository is a mirror!
Stars: ✭ 90 (-79.55%)
Mutual labels:  open-source, iot, internet-of-things
Surviving With Android
Source code related to the posts in the blog
Stars: ✭ 1,275 (+189.77%)
Mutual labels:  open-source, iot, internet-of-things
Sitewhere
SiteWhere is an industrial strength open-source application enablement platform for the Internet of Things (IoT). It provides a multi-tenant microservice-based infrastructure that includes device/asset management, data ingestion, big-data storage, and integration through a modern, scalable architecture. SiteWhere provides REST APIs for all system functionality. SiteWhere provides SDKs for many common device platforms including Android, iOS, Arduino, and any Java-capable platform such as Raspberry Pi rapidly accelerating the speed of innovation.
Stars: ✭ 788 (+79.09%)
Mutual labels:  open-source, iot, internet-of-things
pycayennelpp
A Cayenne Low Power Payload (CayenneLPP) decoder and encoder for Python
Stars: ✭ 17 (-96.14%)
Mutual labels:  internet-of-things, lora, lorawan
Recursos-aprendizaje-LoRa-LoRaWAN-e-IoT
Lista de recursos con los que aprender y estar al tanto sobre LoRa/LoRaWAN e Internet de las Cosas
Stars: ✭ 60 (-86.36%)
Mutual labels:  internet-of-things, lora, lorawan
Freedomotic
Open IoT Framework
Stars: ✭ 354 (-19.55%)
Mutual labels:  open-source, iot, internet-of-things
firmware
设备固件库,适用于IntoRobot系列产品
Stars: ✭ 19 (-95.68%)
Mutual labels:  lora, lorawan
CatWAN USB Stick
An Open Source USB Stick compatible with LoRa and LoRaWAN with Cortex M0+. To connect, review and analyze packages of LoRa®
Stars: ✭ 23 (-94.77%)
Mutual labels:  lora, lorawan
tutorial
Tutorial for using the CampusIoT platform
Stars: ✭ 22 (-95%)
Mutual labels:  internet-of-things, lorawan
Calvin Base
Calvin is an application environment that lets things talk to things, among other things.
Stars: ✭ 282 (-35.91%)
Mutual labels:  iot, internet-of-things
Penguino-STM32WL-LoRa-E5
This repo contains all the necessary design and fabrication files for the Seeed Studio LoRa-E5 based Penguino Feather breakout board.
Stars: ✭ 30 (-93.18%)
Mutual labels:  lora, lorawan
lora-motes-emulator
This is a device (mote) emulator for LoRaWAN protocol(1.0 & 1.1). Completely realized by Python 3.6
Stars: ✭ 18 (-95.91%)
Mutual labels:  lora, lorawan

The Things Network Stack

Build Status Coverage Status GoDoc

The Things Network

The Things Network is a global open crowdsourced Internet of Things data network.

Getting Started With The Things Network

When you get started with The Things Network, you'll probably have some questions. Here are some things you can do to find the answer to them:

Installing and Running The Things Network Stack

Although we're all about building an open, public network, we understand that some people rather have everything privately on their own servers. On our website, you'll find some articles describing how you can set up a private routing environment and how you can deploy this environment using Docker.

Development

First, you'll have to prepare your development environment. Follow the steps below to set up your development machine.

  1. Make sure you have Go installed (version 1.11 or later).
  2. Set up your Go environment
  3. Install the protobuf compiler (protoc)
  4. Install make. On Linux install build-essential. On macOS, make comes with XCode or the developer tools. On Windows you can get make from https://gnuarmeclipse.github.io/windows-build-tools/
  5. Make sure you have Redis and RabbitMQ installed and running.
    On a fresh installation you might need to install the MQTT plugin for RabbitMQ.
    If you're on Linux, you probably know how to do that. On a Mac, just run brew bundle. The Windows installer will setup and start RabbitMQ as a service. Use the RabbitMQ Command Prompt (sbin dir) to run commands, i.e. to enable plugins.
  6. Declare a RabbitMQ exchange ttn.handler of type topic. Using the management plugin, declare the exchange in the web interface http://server-name:15672 or using the management cli, run rabbitmqadmin declare exchange name=ttn.handler type=topic auto_delete=false durable=true. If your handler's user has sufficient permissions on RabbitMQ, it will attempt to create the exchange if not present.

Next, you can clone this repository and set up the TTN part:

  1. Fork this repository
  2. Clone your fork: 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. Install the dependencies for development: make dev-deps
  5. Run the tests: make test
  6. Run make build to build both ttn and ttnctl from source.
  7. Run make dev to install the go binaries into $GOPATH/bin/
    • Optionally on Linux or Mac you can use make link to link them to $GOPATH/bin/ (In order to run the commands, you should have export PATH="$GOPATH/bin:$PATH" in your profile).
  8. Configure your ttnctl with the settings in .env/ttnctl.yml.dev-example by copying that file to ~/.ttnctl.yml.
  9. Trust the CA certificate of your local discovery server by copying .env/discovery/server.cert to ~/.ttnctl/ca.cert.

You can check your ttnctl configuration by running ttnctl config. It should look like this:

  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: From now on you should run all commands from the $GOPATH/src/github.com/TheThingsNetwork/ttn directory.

License

Source code for The Things Network is released under the MIT License, which can be found in the LICENSE file. A list of authors can be found in the AUTHORS file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].