Monitoring system of signal level that uses programmable modules and Python 3.5+. Current app has a big bunch of changes than previous version, so it was the reason to create new repository. Main features:
- system decentralization
- module’s connect/disconnect dynamicly
- data integrity checking
- color creation
- chart creation
-
Install Python3.5+. Some Linux distributions have installed Python3.5 by default, so you can use it to run the app.
-
Be sure that pip is installed. If you are using Linux distribution and default Python interpreter, install pip by (for Ubuntu):
sudo apt-get install python3-pip
- You should use virtualenv for your projects, but also you can install packages by command (on Linux you can get permission error, use "--user" flag to install packages):
pip3 install pyserial flask-socketio --user
To use Pololu Wixel module you need install the firmware:
- Download and install driver.
- Download Wixel SDK.
- Use this manual to load firmware.
- Load the firmware into Pololu Wixel.
For additional information see manufacturer User’s Guide.
- Download app folder.
- Edit config file if you need. All numeric values are ports that use by the app. You can change all values, but ports value ans secret key’s value must be same on all computers where app works.
- Run app.py
python3 app.py
- Connect modules. Linux users have to be in the "dialout" group:
sudo usermod -a -G dialout $USER
If permission error doesn’t disappeare try to use:
sudo chmod 775 /dev -R
You can see simple app’s interface in Terminal
- server address — use it to connect to the system from browser
- system nodes — addresses of another connected computers
- host — your IP address
- name — current name of your computer in the monitoring system
- os — information about operating system
- modules — list of connected modules to the current computer (serial name, HEX color, chart type, conection status)
Main feature of the current app version is system’s decentralization. There isn’t server’s file, only main app. Now server is the separete process that works in the parallel thread. App work algorithm:
Current interface has new structure. There are modules list of the active client on the top and clients list on the bottom. You can switch client and his modules appear on the top. Interface doesn’t have "Pause" button because you can disconnect modules dynamicly.
Module’s information:
- port name
- serial name
- ratio between module’s packages that were accepted by app and all packages that were sent by module. It is usefull to know, if you want to get the chart of average values of all module’s packages, because chart calculated by all accepted packages.
- work time
New feature, you can choose different colors and set chart’s type for each modules. Chart types:
- 1 — values of the last accepted package
- 10 — average values of last 10 accepted packages
- 100 — average values of last 100 accepted packages
- ALL — average values of all accepted packages
The source code are licensed under the GNU GPLv3. The schematics are licensed under the CC-BY-SA 3.0.
Developer — Ivan Bogachuk
Manager — Vladimir Sokolov