Git Product home page Git Product logo

saryt3a / openadms-node Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dabamos/openadms-node

0.0 0.0 0.0 4.08 MB

Automatic deformation monitoring system for geodetical and geotechnical control measurements in the Internet of Things.

Home Page: https://www.dabamos.de/

License: BSD 2-Clause "Simplified" License

Python 95.84% Batchfile 0.06% HTML 2.68% Shell 1.13% Awk 0.08% Gnuplot 0.21%

openadms-node's Introduction

license release ci

OpenADMS Node

The Open Automatic Deformation Monitoring System (OpenADMS) is a free and open-source platform for sensor control, observation data processing, and spatial data storage in the Internet of Things (IoT).

The OpenADMS Node software runs on single sensor node instances in a sensor network to obtain the measured data of total stations, digital levels, inclinometers, weather stations, GNSS receivers, and other sensors. The raw data is then processed, analysed, stored, and transmitted. OpenADMS Node can be used to observe objects like:

  • bridges, tunnels, dams;
  • landslides, cliffs, glaciers;
  • construction sites, mining areas;
  • churches, monasteries, and other historic buildings.

The software is written in Python 3.6 and has been tested on:

  • Microsoft Windows 7 (x86, x86-64)
  • FreeBSD 12 (x86-64, ARMv7)
  • NetBSD 7 (ARMv7)
  • Debian 9, Raspbian Jessie (ARMv7)
  • Fedora 25 (x86-64)
  • Android 9 (ARM)

OpenADMS Node can either be used with CPython 3.6+ or PyPy3.5+.

The current development version of OpenADMS Node is 0.8 (code name “Hanoi”). For more information, see https://www.dabamos.de/.

Installation

Either CPython 3.6+ or PyPy3.5+ has to be installed. OpenADMS Node uses pipenv for dependency management and virtual environments. Make sure that pipenv is installed:

$ pip3 install -U pipenv

Download the latest release or clone the master branch with Git. Then, create a virtual environment with pipenv:

$ git clone https://github.com/dabamos/openadms-node
$ cd openadms-node/
$ pipenv lock
$ pipenv sync

Run

Run OpenADMS Node from the command line:

$ pipenv run ./openadms.py --config ./config/config.json --with-mqtt-broker --debug

OpenADMS Node also features a graphical launcher. At first, run install.bat on Microsoft Windows or install the dependencies manually:

$ pipenv install Gooey

Execute pipenv run ./openadms-launcher.pyw to start the launcher.

Message Broker

The MQTT protocol is used for the message exchange in OpenADMS Node. You can either use an external MQTT message broker, like Eclipse Mosquitto, or start the internal one by adding the parameter --with-mqtt-broker.

Configuration

OpenADMS Node must be configured by a JSON-based text file. Please define modules, serial ports, sensors, etc. in there. The file name of your custom configuration is taken as an argument. For instance, run:

$ pipenv run ./openadms.py --config ./config/example.json

Documentation and Supported Sensors

The documentation is hosted on the project website. See ./docs for how to build the documentation from source.

For a list of tested sensors, see https://dabamos.de/sensors/.

Running Tests

Development dependencies must be installed to run test:

$ pipenv install --dev

Execute the unit tests with:

$ pipenv run pytest

These are work in progress. You can run passive checks with pyflakes:

$ pipenv run pyflakes *.py *.pyw core/*.py modules/*.py

Licence

OpenADMS is licenced under BSD (2-Clause).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.