wissance / labwatcher Goto Github PK
View Code? Open in Web Editor NEWScientific laboratory processes automation using Raspberry Pi 2 as a central management system
Home Page: https://wissance.github.io/LabWatcher/
License: Apache License 2.0
Scientific laboratory processes automation using Raspberry Pi 2 as a central management system
Home Page: https://wissance.github.io/LabWatcher/
License: Apache License 2.0
Spectra are sending without extensions
we have default Jobs schedule, but we should have a possibility to run job by another schedule
Currently we should monitor following events:
wan
or global network)pc with shared store
availabilityftp
server availabilityWe should add this events only if time we watching them higher than time thrrshold (for every every ebvent type have to be own value)
We should have following API
GET /api/spectrum/
GET /api/spectrum/{id}
GET /api/spectrum/{id}/samples
<- should list all files with dates of saveGET /api/spectrum/{id}/samples/{sampleName}/spectrum
Sometimes send notification via Telegram
or e-mail
fails we should make some retries with delay. I don't think that we should make it with an appsettings
but we could use just a const
if BaseLine value have same value for current and previous spectra we should Make Email and Telegram Notification about possible issues:
HV
was down previous spectrum[0] value should be equal prevSpectrum[0]skip file/folder
We should be able to obtain Last autosaved spectrum
Now we are using Threshold
for determine if we saved last spectrum or not, but when we have series we could find time delta (TimeSpan) between spectrum save dates.
We should consider following pecularities:
Default Theshold
(should be added to config)We should create here minimalistic UI to authorize (login+logout) show list of indexed spectra and it samples && get them from Web
We should add property IsActive
to model and add a Job that transfer all inactive spectra (directory should be removed from shared folder) from Windows shared directory
to NAS
. We should select spectra that we measured 1 week ago and older and move them to NAS
Telegram
bot should work in a following manner:
tg
group about spectra were send via e-mail bool emailResult = await _mailNotifier.NotifySpectrumSavedAsync(dataToSend);
//
bool tgResult await = await _mailNotifier.NotifySpectrumSavedAsync(args); // here we should form list of args
if (current[0] < previous[0] + delta) // delta should be small
{
// possible HV supply was down
}
Call Python sub programs that were trained to analyze some cases
We should change behaviour of making autosave method, because we have 1 method for every notify (ISpectrumReadyNotifier
),
this task could be solved using very complicated and abstractive approach, but we don't need it. It is better to solve this task as simple as it possible. If array of spectrum is empty we should form another message for telegram only ():
На {datetime} не было получено ни одного спектра, косвенно это может говорить об одной из следующих проблем:
* сбой работы спектрометрического оборудования / отключение управляющего компьютера;
* длительное отключение электроэнергии превышающее время работы системы от АКБ ;
* отсутствие сети (отключение роутера/мобильной сети интернет)
The simplest way is just making:
if (specs.Any())
{
// normal message
}
else
{
// make mentioned above message
}
At least we should have following features:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.