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.
59 lines
2.7 KiB
Markdown
59 lines
2.7 KiB
Markdown
# The Things Network -- OGC SensorWeb Integration
|
|
|
|
This is a node.js based integration between [The Things Network](https://thethingsnetwork.org) (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](doc/system_architecture.png)
|
|
|
|
This project was developed in the course of [52°North's Student Innovation Challenge](http://52north.org/about/other-activities/student-innovation-prize) 2017 against the [SOS implementation by 52°North](https://github.com/52north/SOS).
|
|
|
|
## 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](https://github.com/SeBaDro/SOS/tree/feature/mqtt))
|
|
- 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`](./doc/HOWTO.md).
|
|
|
|
## Installation & Configuration
|
|
|
|
### Docker installation
|
|
Depending on your environment, deployment with docker is most straightforward. Please refer to the [Docker setup guide](./docker/README.md).
|
|
|
|
### Native installation
|
|
Requires `node v10.x` and `yarn`.
|
|
|
|
```sh
|
|
# 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`](./doc/DEVELOP.md).
|
|
|
|
## License
|
|
MIT - Norwin Roosen
|