Union of software and hardware. Remote monitoring and control of RedPine
Let's take a look at a couple of seconds in the past - in previous articles we talked about the basic philosophy and key features of the Red Pine platform . We tried to find out "what is it?" And "why is it?". Well, now it's time to start looking at the details of the product and start diving to deeper levels.
And at the next level we have with you an overview of the basic elements of the platform, and the features of their interaction - we will talk about the sacred union of software and hardware . At the heart of products such as Red Pine

The correct interaction between the software and hardware parts must lie - not simple compatibility with each other, but a strong friendship between hardware, software and man. Otherwise, problems may turn out more than good.
Previously, we have already touched on some software and hardware issues, but the subject of monitoring systems is very multifaceted, and it’s almost impossible to tell all at once. Therefore, we gradually dive deeper into this story, consistently approaching complete clarity.
And now we will analyze the Red Pine monitoring system into components, and try to consider each part separately - its functions, its features, its place in the overall picture. As an example, I offer you the following illustration: Basic parts of the RedPine system (example)

At this peculiar parade of planets, it is clear that the whole solution is divided not just into software and hardware (software and hardware), but these parts themselves have different levels and are responsible for different functions. This is a really important point, because correct distribution of functions directly affects the overall system performance. The gears in the picture are intended to symbolize the connection between the levels and the elements - this is also a very important point, which I will say more about later.
With your permission, in the future I will sometimes call the software part “software” or “software”, and the hardware part - “hardware”. I think that it will be easier for everyone.
Naturally, each element is important and contributes to the work of the entire system. But is their contribution the same? No, it is not the same, and it is very problematic to evaluate it in any units. This can be done only conditionally, and if we come up with a certain percentage scale of the weight of the contribution to the system, we will see the following picture: Participation of the main elements of the system in the overall solution This illustration shows only an approximate distribution of significance of the basic elements of the Red Pine system , but improves the understanding of the basic principle - The top-level software is the center and the basis of the solution, and it is not located at the remote site, but in the conventional control center.

By top-level hardware, we mean computer hardware of various form factors, server equipment and devices that provide communication between the upper and lower levels. This hardware can be not only part of the Red Pine solution , but also can perform some other functions in parallel (office affairs, watching youtube, solitaire), the only requirement is that the equipment must meet the minimum requirements of the chosen type of solution.

We will not dwell on details in detail so as not to ruin the structure of today's material. If curious, then the typical types of solutions can be viewed in a special section on the official Red Pine website .
From the point of view of the implementation of monitoring, accounting and management systems, at the top level with iron everything is somewhat simpler than at the bottom level, because there are no restrictions on manufacturers and form factors, and the existing computer equipment easily handles many tasks. For example, if you work with an online top-level software interface, you will need the simplest laptop, tablet or smartphone and access to the network - there are no more requirements.
But with the lower level of iron is more complicated. There is no ready-made equipment on the market that would be suitable for our purposes without any problems, which means the development and production of such equipment is required.
Our plans did not mean setting up production of controllers on our own, so the task was to find a suitable manufacturer, and for a long time we selected someone who could not just create and manufacture a device according to our specifications, but also provide adequate support for their products. Considered by European, and Chinese, and Russian manufacturers.
All of us were treated with the same initial data:
Again, we needed not a ready-made solution, but the production of our own, but on the element basis of the manufacturer.
As a result, the selection won the decision from Wiren Board . I note that other candidates were not only worse in fulfilling our requirements - they simply could not fulfill them all, therefore the choice was obvious for us.
I will not engage in anti-advertising and call those who have been eliminated, because for other tasks, their solution may be even more suitable, and they are not suitable only for us. In addition, we have not deleted anyone from the list of potential partners, and we can sometime cooperate with them, because everything is changing very quickly in the modern world. But today we choose Wiren Board

. And the functionality, and the form factor, and flexibility, and good support, we are completely satisfied. It cannot be said that the price of this option is low, but our requirements were not low. We understand that all good things are worth the money, and at this stage the price-performance ratio suits us.
It is gratifying that many of the readers of Geektimes in our last article immediately recognized the Wiren Board platform - this was a pleasant moment and confirmed the popularity of this manufacturer of industrial microcomputers. For our part, for the time being we can only give positive feedback on their product, and we hope that this will always be the case.
Even if all elements of the upper and lower levels work like a clock (not in the sense that time is shown, but in the sense of accuracy), they should also work together with each other as a good team.
Communication is a very important part of any interaction, and its quality directly affects the quality of the entire solution. On third-party solutions, we often saw that negligible attention was paid to communication issues, which greatly narrowed the scope, and this unfortunate omission was one of the main impulses for the development of our Red Pine platform .
In our product, we approached the issues of communication with all seriousness - this applies both to the methods of information transmission, and the proper compression and packaging of data to avoid losses and problems with insufficient bandwidth of the communication channel. The device of the lower level with communication ports On the hardware of the lower level there are all the necessary interfaces for data transmission: GSM, 3G RS 485, 232, TCP / IP. They can function individually or simultaneously and work without problems with weak communication channels. Even if the equipment is in the tundra or taiga, it will be in touch. If necessary (or at the request of the customer), the system can be retrofitted with other communication interfaces.

The security of information is the responsibility of its own data transfer protocol RPL, which combines the encryption protocol, checking the checksums of the data stream, and backing up data in its own memory until it receives an acknowledgment of receipt from the server. Nothing is lost and not lost on the way.
RedPine can be easily integrated into existing information systems using Modbus and SNMP protocols, and low-level hardware can be used as an additional gateway.
The main task of the upper level software is to be a kind of hub, a link between the upper level hardware, lower level software and man.
That is, the top-level software should provide the necessary user interaction with all elements of the monitoring and dispatching system. He is both the brain and the face of Red Pine , and therefore must be both smart, comfortable and cute.
First, about the brain, which is hidden from the user. Here we did not use ready-made solutions, and everything had to be written from scratch. This software is responsible for storing, processing, analyzing and transferring data between the various elements of the upper and lower levels, and, among other things, it was crucial for us that all of this was optimized and quickly run on different hardware. Poor optimization can, in one fell swoop, destroy even the best functionality, since This rich functionality can not be used. Interface of the monitoring and control system of a diesel generator set (Mnemoschema)

Now turn to the face of the system. Here the appearance is important, and it is needed not only for beauty - everything should be clear and convenient for daily use by people without much preparation. An incomprehensible interface, in fact, plays against the user, forcing him to make mistakes that can sometimes be fatal and result in large financial losses. It is from this understanding that our developers proceeded when designing the visual part of the top-level software. I will tell you about the Red Pine user interface in some other way; we will not move away from the main theme now. However, you can see it right now on the demo version (link) - its interface is no different from the basic real versions.
Since the lower level software works on the lower level hardware, it must communicate with it in the same language. That's why we had requirements for the controller manufacturer, which concerned the operating system used and the internal algorithms of the device.
This software is responsible for receiving commands from the upper level software, their processing and transferring to the actuators of the lower level hardware, such as the controller, expansion modules and additional attachments (sensors, control elements, etc.). As well as for the return path - the data obtained from the iron of the lower level must be processed and transferred to the upper level.
Here it is necessary to emphasize one of the important functions of the lower level software - it converts all sorts of signals from different equipment (by type, by manufacturer, by logic of work, by year of production) into a single data format, allowing you to control and manage such "disparate" equipment from a single center. This is one of the key functions that we did not find in other monitoring systems, which prompted us to create our own.
The user interface is missing here because This is the internal kitchen of the platform, and management takes place through the top-level interface. Only authorized personnel can access the lower level software.

...
When we talk about the integrated solution of Red Pine , we always mean several levels of hardware and several levels of software components. It is never some kind of simple magic box that works by itself and can do everything - there are always several systems interconnected by wire or wireless connection. Our platform is flexible enough to build highly specialized solutions. Moreover, this flexibility applies to the communication systems used and the equipment used at all levels, and even the user interface - everything can be customized and customized for specific tasks.
How does all this work on a real facility? This is already in the following material.
And at the next level we have with you an overview of the basic elements of the platform, and the features of their interaction - we will talk about the sacred union of software and hardware . At the heart of products such as Red Pine

The correct interaction between the software and hardware parts must lie - not simple compatibility with each other, but a strong friendship between hardware, software and man. Otherwise, problems may turn out more than good.
The composition of the software and hardware complex
Previously, we have already touched on some software and hardware issues, but the subject of monitoring systems is very multifaceted, and it’s almost impossible to tell all at once. Therefore, we gradually dive deeper into this story, consistently approaching complete clarity.
And now we will analyze the Red Pine monitoring system into components, and try to consider each part separately - its functions, its features, its place in the overall picture. As an example, I offer you the following illustration: Basic parts of the RedPine system (example)

At this peculiar parade of planets, it is clear that the whole solution is divided not just into software and hardware (software and hardware), but these parts themselves have different levels and are responsible for different functions. This is a really important point, because correct distribution of functions directly affects the overall system performance. The gears in the picture are intended to symbolize the connection between the levels and the elements - this is also a very important point, which I will say more about later.
With your permission, in the future I will sometimes call the software part “software” or “software”, and the hardware part - “hardware”. I think that it will be easier for everyone.
Naturally, each element is important and contributes to the work of the entire system. But is their contribution the same? No, it is not the same, and it is very problematic to evaluate it in any units. This can be done only conditionally, and if we come up with a certain percentage scale of the weight of the contribution to the system, we will see the following picture: Participation of the main elements of the system in the overall solution This illustration shows only an approximate distribution of significance of the basic elements of the Red Pine system , but improves the understanding of the basic principle - The top-level software is the center and the basis of the solution, and it is not located at the remote site, but in the conventional control center.

"Iron" top level
By top-level hardware, we mean computer hardware of various form factors, server equipment and devices that provide communication between the upper and lower levels. This hardware can be not only part of the Red Pine solution , but also can perform some other functions in parallel (office affairs, watching youtube, solitaire), the only requirement is that the equipment must meet the minimum requirements of the chosen type of solution.

We will not dwell on details in detail so as not to ruin the structure of today's material. If curious, then the typical types of solutions can be viewed in a special section on the official Red Pine website .
From the point of view of the implementation of monitoring, accounting and management systems, at the top level with iron everything is somewhat simpler than at the bottom level, because there are no restrictions on manufacturers and form factors, and the existing computer equipment easily handles many tasks. For example, if you work with an online top-level software interface, you will need the simplest laptop, tablet or smartphone and access to the network - there are no more requirements.
"Iron" of the lower level
But with the lower level of iron is more complicated. There is no ready-made equipment on the market that would be suitable for our purposes without any problems, which means the development and production of such equipment is required.
Our plans did not mean setting up production of controllers on our own, so the task was to find a suitable manufacturer, and for a long time we selected someone who could not just create and manufacture a device according to our specifications, but also provide adequate support for their products. Considered by European, and Chinese, and Russian manufacturers.
All of us were treated with the same initial data:
- The development of a controller is required to meet our needs and requirements.
- Software of the top and bottom level of our development
- Linux based controller operating system
- To adjust the production of controllers according to our specifications in small-scale mode.
- Fast production times
- Quick technical support response
- Flexibility - ready for product changes
- Convenient form factor in terms of installation and use
Again, we needed not a ready-made solution, but the production of our own, but on the element basis of the manufacturer.
As a result, the selection won the decision from Wiren Board . I note that other candidates were not only worse in fulfilling our requirements - they simply could not fulfill them all, therefore the choice was obvious for us.
I will not engage in anti-advertising and call those who have been eliminated, because for other tasks, their solution may be even more suitable, and they are not suitable only for us. In addition, we have not deleted anyone from the list of potential partners, and we can sometime cooperate with them, because everything is changing very quickly in the modern world. But today we choose Wiren Board
. And the functionality, and the form factor, and flexibility, and good support, we are completely satisfied. It cannot be said that the price of this option is low, but our requirements were not low. We understand that all good things are worth the money, and at this stage the price-performance ratio suits us.
It is gratifying that many of the readers of Geektimes in our last article immediately recognized the Wiren Board platform - this was a pleasant moment and confirmed the popularity of this manufacturer of industrial microcomputers. For our part, for the time being we can only give positive feedback on their product, and we hope that this will always be the case.
The connection between the lower and upper levels
Even if all elements of the upper and lower levels work like a clock (not in the sense that time is shown, but in the sense of accuracy), they should also work together with each other as a good team.
Communication is a very important part of any interaction, and its quality directly affects the quality of the entire solution. On third-party solutions, we often saw that negligible attention was paid to communication issues, which greatly narrowed the scope, and this unfortunate omission was one of the main impulses for the development of our Red Pine platform .
In our product, we approached the issues of communication with all seriousness - this applies both to the methods of information transmission, and the proper compression and packaging of data to avoid losses and problems with insufficient bandwidth of the communication channel. The device of the lower level with communication ports On the hardware of the lower level there are all the necessary interfaces for data transmission: GSM, 3G RS 485, 232, TCP / IP. They can function individually or simultaneously and work without problems with weak communication channels. Even if the equipment is in the tundra or taiga, it will be in touch. If necessary (or at the request of the customer), the system can be retrofitted with other communication interfaces.

The security of information is the responsibility of its own data transfer protocol RPL, which combines the encryption protocol, checking the checksums of the data stream, and backing up data in its own memory until it receives an acknowledgment of receipt from the server. Nothing is lost and not lost on the way.
RedPine can be easily integrated into existing information systems using Modbus and SNMP protocols, and low-level hardware can be used as an additional gateway.
"Soft" top level
The main task of the upper level software is to be a kind of hub, a link between the upper level hardware, lower level software and man.
That is, the top-level software should provide the necessary user interaction with all elements of the monitoring and dispatching system. He is both the brain and the face of Red Pine , and therefore must be both smart, comfortable and cute.
First, about the brain, which is hidden from the user. Here we did not use ready-made solutions, and everything had to be written from scratch. This software is responsible for storing, processing, analyzing and transferring data between the various elements of the upper and lower levels, and, among other things, it was crucial for us that all of this was optimized and quickly run on different hardware. Poor optimization can, in one fell swoop, destroy even the best functionality, since This rich functionality can not be used. Interface of the monitoring and control system of a diesel generator set (Mnemoschema)

Now turn to the face of the system. Here the appearance is important, and it is needed not only for beauty - everything should be clear and convenient for daily use by people without much preparation. An incomprehensible interface, in fact, plays against the user, forcing him to make mistakes that can sometimes be fatal and result in large financial losses. It is from this understanding that our developers proceeded when designing the visual part of the top-level software. I will tell you about the Red Pine user interface in some other way; we will not move away from the main theme now. However, you can see it right now on the demo version (link) - its interface is no different from the basic real versions.
"Soft" lower level
Since the lower level software works on the lower level hardware, it must communicate with it in the same language. That's why we had requirements for the controller manufacturer, which concerned the operating system used and the internal algorithms of the device.
This software is responsible for receiving commands from the upper level software, their processing and transferring to the actuators of the lower level hardware, such as the controller, expansion modules and additional attachments (sensors, control elements, etc.). As well as for the return path - the data obtained from the iron of the lower level must be processed and transferred to the upper level.
Here it is necessary to emphasize one of the important functions of the lower level software - it converts all sorts of signals from different equipment (by type, by manufacturer, by logic of work, by year of production) into a single data format, allowing you to control and manage such "disparate" equipment from a single center. This is one of the key functions that we did not find in other monitoring systems, which prompted us to create our own.
The user interface is missing here because This is the internal kitchen of the platform, and management takes place through the top-level interface. Only authorized personnel can access the lower level software.

...
To be continued...
When we talk about the integrated solution of Red Pine , we always mean several levels of hardware and several levels of software components. It is never some kind of simple magic box that works by itself and can do everything - there are always several systems interconnected by wire or wireless connection. Our platform is flexible enough to build highly specialized solutions. Moreover, this flexibility applies to the communication systems used and the equipment used at all levels, and even the user interface - everything can be customized and customized for specific tasks.
How does all this work on a real facility? This is already in the following material.