Answer the question
In order to leave comments, you need to log in
How to properly organize the architecture of server-server management of remote devices (robot)?
Good day everyone.
In short, there are robots that need to be controlled remotely - send commands, give work schedules, receive data + something else. All this must be managed from a centralized server.
It is necessary to criticize / advise on the implementation that you want to do. Maybe offer something radically different ...
Now, for test use, I have a jung server that can do what you need. But this is only if there is direct access to the robots, which is formally limited to one room (the length of the usb cable).
A more global task is to make control of these devices from outside, while some of them can be both in the same room and spaced to different cities (and most likely have non-white ip). Most likely it is necessary that the data was stored both on "client" and on "the central server". Traffic volumes are small - date + sensor readings, sometimes a couple of pictures.
So far, I see a solution to this problem - installing a device in the room that performs the necessary operations, while it can send data to and receive commands from a central server. In particular, every few minutes the device sends requests to the central server and sends/receives data/commands from it. For the central server, I think to take django, I don’t quite understand what to put on the "client". I see a raspberry there with a written application, but on what? I don’t understand if only requests + celery + threads + a small database on mysql or someone like dzhanga will be enough to put there (flask, tornado?) - it seems that they are superfluous there.
The question is how to organize this work of the system?
Answer the question
In order to leave comments, you need to log in
Write logs in a text editor, as completely as possible, so that you can collect all the data in one file and grep it and understand what it came from
Collect logs on the main machine with something stupid like ssh + cp
If you need to pull logs from the machine, then rsyslog
Management - ansible
Or a set of very simple bash scripts
If the bashscript is larger than the screen - switch to ansible or, in extreme cases, to fabric
How you will show charts - it doesn’t matter I
prefer jung
In jang everything is synchronous - no threads and asynchrony
For tasks there is celery Aggregate logs
once every X minutes in the database, which is available to jang
Logi, click and do not delete
Please note that raspberries and similar devices are not intended for industrial use
. So have time and stock for replacement devices.
By remote do you mean at a distance? If yes, then you can connect interfaces to Alinka and transmit and receive data from 1 km, for example
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question