xhaju / lab-nanny Goto Github PK
View Code? Open in Web Editor NEWArduino monitor for our lab
License: MIT License
Arduino monitor for our lab
License: MIT License
Currently, conditional behaviour happens at the client side, but this can have several drawbacks (like the client not being connected...).
It would be interesting to implement similar, centralised behavior at the master-server level.
While emulation in *nix systems is done through TTYs, in a Windows system those are not available.
Right now, handshakes (which allows us to change digital pin values) are very basic. Could use a rewriting of this to give it more generality.
In Windows 7, the serial connection seems to be reset every 30 seconds, with about 3 seconds re-connection time.
According to http://forum.arduino.cc/index.php?topic=131739.0, this can happen if the DTR line is taken low by software for too-long a period of time. This may not happen if powered from somewhere outside of arduino (e.g. using the 5V or the 3.3V inputs)
Such as client/node connections/disconnections. This would allow to build a more comprehensive view of the master server's performance.
We need to avoid potential intruders to access and control the digital channels of the lab.
To do this, see the tornado's websocket "check_origin" method.
Also:
http://stackoverflow.com/questions/25058708/tornado-web-request-origin
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Origin
https://www.christian-schneider.net/CrossSiteWebSocketHijacking.html
To help in debugging and running, it would be useful to be able to observe master's state
Perform actions based on conditions (for example, if ch0<0.5V, turn digital channel 13 HIGH, etc.)
Change floats -> bits
Should we add information about the contents of the different channels in the database? (as in, whenever a node connects, provide a mapping (chX)-> (content of channel X) with the contents of that channel.
This way, when we look back at the contents of the database, the mapping of the different channels is accessible.
Node sitting in the lab seems to disconnect after a while, throwing a "Type Error". Needs check and followup
It may happen that, if I turn (let's say) Pin13 HIGH in my client page, the rest of the browsers might not update their behavior.
Could we share the state of the arduinos using the same dictionary used to broadcast the analog readings?
Something like: DCHANNELS='01000111' if channels 1, 5, 6, and 7 are HIGH.
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.