GithubHelp home page GithubHelp logo

smartbiotech / devicecontrol Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 14.05 MB

Python 97.90% Shell 1.50% Mako 0.24% Dockerfile 0.36%
automation evok mettler-toledo modbus monitoring plc sedtronic sics unipi

devicecontrol's People

Contributors

dandayne avatar jancervenyy avatar xtrojak avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mvalle21

devicecontrol's Issues

Time precision

Data save with precision to seconds, should be changed to miliseconds.

Device termination - task dependency

Tasks are (usually) related to specific running device(s). Termination of a device should not be allowed before all respective tasks are terminated. Alternatively, upon device termination, all associated tasks should be terminated automatically.

Testing

All functionality have to be covered by unit tests.

Attributes unification

Names of attributes of multiple object are over-complicated, e.g. device_id vs id. This includes both object attributes and key names in definition dictionaries (as it is related).

Device - task relationship

Since some of the tasks are device-specific, this should be reflected on DeviceControl by assigning possible tasks to devices.

Started with SICS (medium weight measurement) task

Basic task to periodically measure weight of medium using SICS device. Based on the measurement, remaining amount of medium is approximated and the user is alerted in the case it is running low. For this task, we need a email account which will be used for sending notifications.

Docker image minimalisation

In current devel version of deployment, we use ubuntu as base for Docker image. However, a smaller base could be used (e.g. alpine), but there are issues with dependencies. In particular, Java package causes problems with path.

Unable to load native library: Error loading shared library libjvm.so

Task: day/night regime

A periodic event to simulate day/night regime in PBR.

@JanCervenyy please answer the following questions:

  1. What lights should (red/blue/...) be used? Is this device specific task?
    -> consider possibility to parametrise the task by particular command which should be executed
  2. Provide examples of possible regimes to have idea what we need to support.
    -> is it just repetition of a pattern or something more complex?

Task: desync measure all

Task for measuring a quantity in specified time intervals.

@JanCervenyy please answer the following questions:

  1. Do we want this device-specific or general?
  2. Please provide specification for individual quantities how often they should be measured.

The idea is to provide a dictionary 'time_interval: [list of commands] specifying how often should these commands be executed (very generalised version). In addition, type/class of device might also be specified, making the task event more general.

Device commands returning dictionary

All commands of devices should return a dict, annotating returning value. Currently, this is not applied to all commands. Needs to be unified.

QoS: self-recovery

DeviceControl should store all information needed for self-recovery. Alternatively, this information can be obtained from the DataServer.

Tasks structure

Similar to structure of devices, tasks should be also allowed to be structured.

Docker logging

In previous version, logging was done to a file, which is not the best option for docker. Solution: use normal stdout and use docker logs to inspect it.

Installation of runer problems

The automatic installation process of runner has several minor issues:

  • DB access outside of local host could be resolved automatically (just minor modification in /etc/mysql/mariadb.conf.d/50-server.cnf for Neurons)
  • running redeploy for the first time sometimes causes error docker: Error response from daemon
  • line usermod -aG docker bioarineo in install_docker.sh rises usermod: not found
  • after installing docker, the device must be rebooted (acts like the docker is not installed properly, after reboot everything is fine)

Class and type of device

Experimental protocol contains specification of class and type of device. This have to be reflected.

Hardware fingerprint

The trusted devices will be recognized using fingerprint of the hardware (with additional information such as MAC address). It is necessary to define a reliable approach how to implement such a feature.

Devices detection

During registration of client (DeviceControl) to DataServer, the client should provide available devices which were detected automatically. However, this has to be supported by communication software of particular device.

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.