Select your language

Introduction to SW 1.x.x equipment, choice of programming language


The original control unit is a separate electronic part without the possibility of remote control. This seems a bit impractical to me nowadays. The new unit with Raspberry Pi is able to communicate over the network and can therefore be controlled by a program located on any computer. Such a program can be found directly in the satellite receiver as a plugin in Enigma and rotate the dish according to the selected program. However, it can also be in a tablet or mobile phone and use this device as a remote control. Or it can be in a classic PC or laptop and the large monitor of these devices can be used for a clear graphic display in various experiments. For example, when hunting exotic satellites, creating new presets or settings, watching satellites that are not geostationary, and so on.

All of these options depend on how the control software is programmed. And here I have to mention one feature that the original device has and which I will certainly not be able to provide. Namely, full functionality even after 35 years. Today, the world of software is a time of rapid innovation and updating, and it's hard to predict what will happen in just a few years. That is, if today's control software will be compatible with tomorrow's operating systems.

If I had the ambition to create a device that will work in 35 years, I would have to turn the second Raspberry Pi into a control unit located within reach of the operator, which would contain the control software without the need for any subsequent modifications. This means connecting the two parts with a separate data cable without connecting to any computer network. And that's pretty impractical and restrictive. Rather, the two devices would communicate over a regular network, most likely connected to the Internet, so it would always be necessary to at least install security updates for operating systems. And so the vision of a completely autonomous device is unrealistic.

If I tried to eliminate as much as possible the effects of changes in computer software, I would have to write my program in some long-term stable programming standard. For example, using C without using external operating system libraries. It can be assumed that compatibility with such a program could be sustainable for a relatively long time. Unfortunately, I am afraid that my knowledge is not enough for such programming. And that's why I have to compromise a little on similar features to begin with. At the moment, my main goal is to put the whole facility into operation. This is the most important parameter to which I subordinate everything else.

So I'll go the path of least resistance and choose the simplest solution, even though I know that the components used will need to be updated soon, so I can't estimate how it will affect the functionality and therefore the life of my software. But because I'm only an amateur for whom this activity is a hobby, this shortcoming doesn't have to bother me so much. Maybe sooner or later there will be more capable programmers who could appeal to my work and convert it into more perfect forms.

For these reasons, I finally decided not to write any separate control program. Instead, I'll use a standard web browser to control. This ensures independence from the platform from which the positioner can be controlled. The Raspberry Pi will have a web server that will accept commands from the web browser - client and will follow the entire HW according to these instructions. Due to the need for fast two-way communication between the client web browser and the server's powerful application, I decided to use the javascript programming language. I chose the web server Node.js for its interpretation. From the point of view of an amateur programmer, this approach seems to me to be the most feasible so far.

And at the end of these considerations, I must mention the most difficult decision that awaited me. Such a project definitely deserves some original name. After much thought, I finally chose the name "SatProwler". I will not deny that I found inspiration in the group AC / DC in their song Night Prowler.

No comments

Leave your comment

In reply to Some User