Yacht server using Raspberry Pi - devlopment
Project under development.
Project was started at Christmas time 2016, the goal is to replace as much as possible of the Yacht instruments with computers and Laptop. The Laptop is used as plotter and everything that require a screen. A requirement is that the Laptop should not be essential to run the Yacht, e.g. that monitoring, alarms and as many as possible of the services needed should be done using a central server. Presently I have not figured out if communication should be done using the Laptop, the central server or a dedicated communication computer (e.g. another Raspberry Pi).
Sensors for temperature, weather information, liquid levels (waste, fuel and water), battery status.
Every yacht need a central stand alone server that takes care of the common services needed. Including, but not limited to GPS, time server, file server, managing alarms, monitoring temperatures, water & fuel levels, batteries and a range of other tasks. Navigation, communication etc is normally done on a laptop. A laptop with nice 15" screen is generally quite hungry for power and might not need to powered on at all times. Leaving the simpler tasks that only require compute power to a small system like the Pi is a good solution. The argument that putting all the eggs in one basket is not smart is maybe valid, but the Rasperry Pi is very easy to replace and at marginal cost one can always keep a one or two extra as spares.
There are other projects like mine, most with a different view. Open plotter is a really cool project. Using this saves the work of writing interfaces and GUIs. Look at Sailoog for a very interesting project. They even sell stuff on a shop page and you'll find software on github. This is good source for ideas and information and other type information that comes handy.
The Raspberry Pi is well suited to these monitoring and janitor tasks as being small, easy on power, supporting a battery of input and output connections and best of all running a real operating systems (opposed to the Arduino controllers, which might be an alternative).
Each of the subprojects have their own page, they are listed to the left. All my software and scripts are found at github.
In time I expect that I can feed all my data into Openplotter and display everything on a web page on the laptop. Absolutely no reason to write GUI when Openplotter does such a good job. Openplotter uses Signal K and a web server to display a nice instrument panel. I find more joy in working with the sensors then just the programming. An example of my prototyping feeding things to Signal K is shown below:
This nice instrument panel can be displayed on the chart table laptop while the Raspberry Pi is happily sitting behind the scenes providing all sorts of services.
Last update, I have decided to use an Internet of Things approach and connect the sensors to the Yacht server and SignalK using WiFi to avoid the isolation problems and all signal cables. See the page called INTERNET-OF-THINGS APPROACH on board it's Internet of Things on Board (ioToB).
For the wifi connected solution the ESP8266 and ESP32 are the most popular modules. Both have built in wifi, but the ESP32 have bluetooth and two cores and in general more capable. Both are supported using the Adruino IDE which makes programming easy.