Git Product home page Git Product logo

sensordaemon's Introduction

GitHub release CI workflow code style License: GPL v3 Docker

LabKraken Sensor Daemon

LabKraken is a logging daemon for lab applications. It can extract data from a number of sources commonly found in laboratories like:

The data is extracted from the devices and published via MQTT for further processing. Used with a datalogger like the Kraken Logger and a data visualisation frontend like Grafana it allows to precisely monitor labs and experiments in real-time.

LabKraken is written in Python using the asyncio framework and runs on both large scale servers and small Raspberry Pis.

Setup

LabKraken is best installed via the Docker repository provided with this repository.

Basic example docker-compose.yml for the LabKraken:

services:
  kraken:
    image: ghcr.io/patrickbaus/sensordaemon:latest
    container_name: kraken
    restart: always
    environment:
      - SENSORS_DATABASE_HOST=mongodb://foo:bar@database-server:27017
      - MQTT_HOST=mqtt-broker
      - NODE_ID=a4777632-3de5-4682-a0a7-3f86d879c74d 

Versioning

I use SemVer for versioning. For the versions available, see the tags on this repository.

Documentation

I use the Numpydoc style for documentation.

Authors

License

This project is licensed under the GPL v3 license - see the LICENSE file for details.

sensordaemon's People

Contributors

dependabot[bot] avatar patrickbaus avatar

Watchers

 avatar  avatar  avatar  avatar

sensordaemon's Issues

IP Connection crashes if the sensor does not reply during connect

sensor_daemon | Exception in thread Callback-Processor:
sensor_daemon | Traceback (most recent call last):
sensor_daemon | File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
sensor_daemon | self.run()
sensor_daemon | File "/usr/lib/python3.8/threading.py", line 870, in run
sensor_daemon | self._target(*self._args, **self._kwargs)
sensor_daemon | File "/sensorDaemon/sensors/tinkerforge/ip_connection.py", line 1134, in callback_loop
sensor_daemon | self.dispatch_packet(data)
sensor_daemon | File "/sensorDaemon/sensors/tinkerforge/ip_connection.py", line 1046, in dispatch_packet
sensor_daemon | cb(uid, connected_uid, position, hardware_version,
sensor_daemon | File "/sensorDaemon/sensors/sensorHost.py", line 216, in enumerate_callback
sensor_daemon | self.__connect_sensor(PTCSensorV2, uid, connected_uid, position, self.host_name, enumeration_type)
sensor_daemon | File "/sensorDaemon/sensors/sensorHost.py", line 130, in __connect_sensor
sensor_daemon | self.append_sensor(sensor_class(uid, self, self.sensor_callback, callback_period))
sensor_daemon | File "/sensorDaemon/sensors/ptc_v2.py", line 97, in init
sensor_daemon | self.set_callback()
sensor_daemon | File "/sensorDaemon/sensors/ptc_v2.py", line 75, in set_callback
sensor_daemon | self.bricklet.set_temperature_callback_configuration(period=self.callback_period, value_has_to_change=True, option="x", min=0, max=0)
sensor_daemon | File "/sensorDaemon/sensors/tinkerforge/bricklet_ptc_v2.py", line 184, in set_temperature_callback_configuration
sensor_daemon | self.ipcon.send_request(self, BrickletPTCV2.FUNCTION_SET_TEMPERATURE_CALLBACK_CONFIGURATION, (period, value_has_to_change, option, min, max), 'I ! c i i', '')
sensor_daemon | File "/sensorDaemon/sensors/tinkerforge/ip_connection.py", line 1220, in send_request
sensor_daemon | raise Error(Error.TIMEOUT, msg, suppress_context=True)
sensor_daemon | sensors.tinkerforge.ip_connection.Error: Did not receive response for function 2 in time (-1)

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.