TheThingsNetwork meets OGC SOS
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Norwin 90ada65287 update dependencies
- now running on node 10 (due to grpc upgrade)
- regenerated lockfile due to issues with grpc version incompaitibilities
- also fixes #7, which was due to https://github.com/grpc/grpc/issues/6126
5 years ago
doc add doc/DEVELOP.md 7 years ago
docker update dependencies 7 years ago
src update dependencies 5 years ago
templates remove procedure & offering from MQTT msg format 7 years ago
types update dependencies 5 years ago
.dockerignore update dependencies 5 years ago
.gitignore define configuration as yaml, not json 7 years ago
CHANGES.md update dependencies 5 years ago
Dockerfile update dependencies 5 years ago
LICENSE let's go! 7 years ago
README.md update dependencies 5 years ago
config.yml.sample update dependencies 7 years ago
package.json update dependencies 5 years ago
tsconfig.json fix build scripts 7 years ago
tslint.json lint 7 years ago
yarn.lock update dependencies 5 years ago

README.md

The Things Network -- OGC SensorWeb Integration

This is a node.js based integration between The Things Network (TTN) and the OGC SensorWeb, providing seamless measurement upload from LoRaWAN connected sensors into OGC infrastructure. Specifically the SOS is implemented as storage backend. Building on a modular architecture, support for more backends is planned. Besides measurement upload, the goal is to manage devices in both platforms consistently by automatically registering or updating them in the counterpart platform.

architecture diagram

This project was developed in the course of 52°North's Student Innovation Challenge 2017 against the SOS implementation by 52°North.

Features

  • Passes messages from LoRaWAN connected sensors to a OGC storage backend
    • SOS Transactional API 2.0
    • SOS MQTT extension (currently available in SOS development version)
    • easily extendable to other backends (roadmap: SensorThings API)
  • Configuration Sync: Register a device once in TTN; done!
    • no hassle with SensorML & co
  • Simple declarative bridge definition via YAML configuration file
  • Scales well for multiple sensor types & storage backends

User Setup guide

For a comprehensive guide of setting up a LoRa connected sensor that submits data into the 52North SOS, see doc/HOWTO.md.

Installation & Configuration

Docker installation

Depending on your environment, deployment with docker is most straightforward. Please refer to the Docker setup guide.

Native installation

Requires node v10.x and yarn.

# get the source (alternatively get the zipball)
git clone https://github.com/52North/ttn-ogcswe-integration
cd ttn-ogcswe-integration

# install dependencies & transpile typescript
yarn install
yarn build

# configure based on sample config (see below)
cp config.yml.sample config.yml
vi config.yml

yarn start

Configuration

The integration is configured through a single YAML file, config.yml. The code includes a configuration template at config.yml.sample which explains all possible options.

The file can define one or an array of bridge configurations. To define another bridge, just paste another configuration block as defined in config.yml.sample. This allows many sensor configurations, or sending messages to multiple backends.

Development

For instructions on how to set up the dev environment & the development workflow, please refer to doc/DEVELOP.md.

License

MIT - Norwin Roosen