You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RealTime OpenControl enables simple real-time data recording, visualization and editing. The recording can be done with a local Python scripts or via TCP locally/from the network. Visualization and editing is available locally, in the network (TCP and HTML) and via Telegram on the smartphone. You have full control over your python-plugins via TCP and Telegram.
9
+
RealTime OpenControl is a simple way for real-time data recording, visualization and editing.
10
10
11
-
In addition to data recording, events can also be recorded. These can, for example, trigger a telegram message.
11
+
RTOC is made for communication between different devices (IoT) in a network. You can also access it with a Telegram-Bot.
12
12
13
-
Possible applications:
13
+
There are different ways to access data on an RTOC-Server:
14
+
15
+
- From another RTOC-Server with TCP
16
+
- From any device with a Telegram-Bot (limited access)
17
+
- From any device with an HTML-website (only viewable)
18
+
19
+
### Possible applications
14
20
15
21
- Central measurement data recording of laboratory instruments with PC connection (e.g. power supply unit, multimeter, sensors, microcontroller)
16
22
- Central recording of measurement data from Internet devices (e.g. mobile weather stations, drones, smartphones)
17
23
- Remote monitoring and control of processes and devices with PC and Smartphone (Telegram) (e.g. 3D printing, heating, Custom-SmartHome)
18
24
- Controlling between several devices (e.g.: power regulation of a power supply unit on the temperature sensor of a multimeter)
19
25
- Decentralized data recording (e.g. on Raspberry) and access via network connection (smart projects)
26
+
- Fun projects like controlling a LED with Telegram
27
+
28
+
### Recording data and events
29
+
30
+
Basis for a RTOC-Server are "devices", which collect data in any way and provide their functions and parameters. "Devices" are simple python-scripts.
31
+
32
+
These "devices" can send measurements and events to the RTOC-Server.
33
+
34
+
A measurement represents the collected data. Events occur in certain conditions (for example if a measured value is higher than a limit value) and can trigger actions, which will be performed after the event. Also these events can be used to trigger PushNotifications in Telegram.
35
+
36
+
37
+
38
+
### GUI
20
39
21
40

22
41
42
+
You can run the GUI with "python3 -m RTOC"
43
+
44
+
The GUI offers a lot of tools:
45
+
46
+
- Enable/disable devices
47
+
- Access to optional device-GUIs
48
+
- View and edit measurements in a lot of different ways
49
+
- View, filter and delete events
50
+
- Edit global events and actions
51
+
- Download devices from RTOC-repository
52
+
- Write and execute python-scripts, which can interact with the devices.
53
+
- Connect to a remote RTOC-Server and view/delete measurements and events and access devices of remote RTOC-Server
54
+
55
+
56
+
57
+
### No GUI
58
+
59
+
In some cases you don't want to run the GUI (e.g. raspberry). Then you can still configure RTOC in a terminal: `python3 -m RTOC.Console`
60
+
61
+
If you just want to run the TCP-Server after configuration, you can do this with `python3 -m RTOC -s start/stop`
62
+
63
+
64
+
23
65
## Getting Started
24
66
25
67
RTOC is written in Python 3. Tested on Windows and Linux.
26
68
27
-
Python 3 (and pip3) need to be installed on the System. But you can also download the Stand-Alone-Builts for Windows and Linux below.
69
+
Python3 (and pip3) need to be installed on the System. But you can also download the Stand-Alone-Builts for Windows and Linux below.
28
70
29
71
### Installing with Python3 (recommended)
30
72
@@ -34,27 +76,48 @@ RTOC is available in the Python package manager PIP:
34
76
pip3 install RTOC
35
77
```
36
78
79
+
This will download the basic RTOC without the dependencies needed for the GUI, Telegram and the Webserver. The basic RTOC is enough for running RTOC on embedded devices.
80
+
81
+
There are also different variations available to install:
82
+
83
+
```
84
+
pip3 install RTOC[Webserver]
85
+
pip3 install RTOC[GUI]
86
+
pip3 install RTOC[Telegram]
87
+
pip3 install RTOC[ALL]
88
+
```
89
+
90
+
91
+
37
92
After installing you can run RTOC with
38
93
39
94
```
40
95
// local RTOC-instance including GUI
41
96
python3 -m RTOC
97
+
42
98
// local RTOC-instance without GUI (only TCP-Server, [HTTP-Server, Telegram-Bot])
43
-
python3 -m RTOC -s
99
+
python3 -m RTOC -s start/stop
100
+
101
+
// local RTOC-Configuration from Console
102
+
python3 -m RTOC.Console
103
+
44
104
// remote RTOC-instance with GUI
45
105
python3 -m RTOC -r <ADRESS>
46
106
```
47
107
48
-
After the first start RTOC creates a directory for user plugins, temporary user data and settings.
108
+
After the first start RTOC creates a directory for user-devices, temporary user data and settings.
49
109
50
110
```
51
111
user@rtoc-server:~$ ls .RTOC
52
112
config.json // Settings for RTOC
53
113
devices/ // Directory for user-plugins
54
114
plotStyles.json // Custom plotstyles for signals are stored in this file
115
+
autorun_devices // Contains devices, which will start with RTOC
116
+
globalActions.json // Contains global definitions of actions
117
+
globalEvents.json // Contains global definitions of events
55
118
```
56
119
57
-
### Installing with Builds (not tested well)
120
+
### Installing with Builds (not newest version!)
58
121
59
122
Download the latest release builds for Windows (soon also Linux) here.
60
123
@@ -64,32 +127,29 @@ Extract the .zip file into a directory. RTOC is started by double-clicking on "R
64
127
// local RTOC-instance including GUI
65
128
./RTOC
66
129
// local RTOC-instance without GUI (only TCP-Server, [HTTP-Server, Telegram-Bot])
67
-
./RTOC -s
130
+
./RTOC -s start
68
131
// remote RTOC-instance with GUI
69
132
./RTOC -r <ADRESS>
70
133
```
71
134
72
-
After the first start RTOC creates a directory for user plugins, temporary user data and settings.
135
+
### Install manually
73
136
74
-
```
75
-
user@rtoc-server:~$ ls .RTOC
76
-
config.json // Settings for RTOC
77
-
devices/ // Directory for user-plugins
78
-
plotStyles.json // Custom plotstyles for signals are stored in this file
79
-
```
137
+
To use the basic RTOC, the following dependencies must be installed
@@ -135,7 +184,6 @@ plotStyles.json // Custom plotstyles for signals are stored in this file
135
184
### Default/Example Plugins:
136
185
137
186
- function generator: generates sine, square, sawtooth, random, AC, DC
138
-
- NetWoRTOC: Control and data exchange between several RTOC-servers
139
187
140
188
You can get more plugins from the [RTOC-plugin-repository](https://github.com/Haschtl/rtoc-plugins). Simply follow the steps described in the [documentation](https://github.com/Haschtl/RealTimeOpenControl/wiki/RTOC-Repo):
141
189
- System: For recording many system variables (CPU, Memory, Network,...)
@@ -245,8 +293,8 @@ The connection between RTOC server and client can be encrypted end-to-end (DES)
245
293
-[Jsonsocket from mdebbar](https://github.com/mdebbar/jsonsocket)
0 commit comments