devicecontrol's People
Forkers
mvalle21devicecontrol's Issues
Time precision
Data save with precision to seconds, should be changed to miliseconds.
Measurement data specification
The general format of data provided by DeviceControl
has to be documented in Wiki.
Devices for SEDtronic
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.
Tasks for GMS
Is it possible to run more Java devices (of the same type) on one node?
Connect two PSI PBRs to one Neuron and test initialization of both devices in one experiment.
Exceptions in measure all tasks
Exceptions are not handled properly during measure all tasks.
Tasks for SEDtronic
Depends on #13
Rename Value's channel to attribute
Rename Value
's feature channel
to attribute
.
- In the DB model definition.
- In all references to it.
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).
Ping return 400: BAD REQUESTS for type "all"
Even though the device was ended successfully. Possible cause: some function returns None instead of bool
Tasks for MT-Modbus
Correct PSI-Java-PBR command for changing lights state
There is wrong command used in PSI java PBR class. There should be set-actinic-light-state
instead of set-ext-light-state
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.
Phenometrics tasks support
Implement measure_all
and automatic pump
ing tasks for Phenometrics PBR.
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
UnboundExecutionError: Instance <Device at 0x8db7fec> is not bound to a Session
Sometimes this error appears, when working with a Device
. The reason is probably that it expires from the session once committed.
Task: day/night regime
A periodic event to simulate day/night regime in PBR.
@JanCervenyy please answer the following questions:
- 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 - Provide examples of possible regimes to have idea what we need to support.
-> is it just repetition of a pattern or something more complex?
Devices for MT-Modbus
Task: desync measure all
Task for measuring a quantity in specified time intervals.
@JanCervenyy please answer the following questions:
- Do we want this device-specific or general?
- 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.
Tasks for PSI MC-1000
Depends on #11
Tasks for MT-SICS
Devices for MT-SICS
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.
Swissbit device activation check
Use sblmt-cli
client to monitor drive/SD status.
QoS: self-recovery
DeviceControl
should store all information needed for self-recovery. Alternatively, this information can be obtained from the DataServer
.
Swissbit device task for periodic monitoring of drive health status
Create and test task for 24 h periodic monitoring of the drive status.
Save the output to DeviceControl
DB.
Consider this task as automatic when Swissbit compatible device is detected.
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
ininstall_docker.sh
risesusermod: 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.
Phenometrics PBR: enable/disable GUI upon initiation/disconnect
Phenometrics PBRs should have their GUIs locked/unlocked when DeviceControl is using the device and when it is not.
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 for PSI MC-1000
We need to get new Java lib that supports MC-1000 commands set.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.