The context | Top |
$IIMWV,112,R,00.8,N,A*19 $IIMWV,109,T,00.7,N,A*1A $IIMTA,31.5,C*02 $IIRMB,A,0.23,R,,HMB-3 ,,,,,001.20,184,,V,A*1F $IIXDR,P,1.0156,B,0*71 $WIMDA,29.991,I,1.016,B,31.5,C,,,,,,,,,,,,,,*3B $IIRMC,225158,A,3730.075,N,12228.854,W,,,021014,15,E,A*3C $IIVHW,,,355,M,00.0,N,,*67 $IIVLW,08200,N,000.0,N*59 $IIVWR,112,R,00.8,N,,,,*6B $IIGLL,3730.075,N,12228.854,W,225158,A,A*4C $IIHDG,356,,,15,E*16 $IIMTW,+16.0,C*3F $IIMWV,111,R,00.9,N,A*1B $IIMWV,112,T,00.8,N,A*1F $IIRMC,225158,A,3730.076,N,12228.855,W,,,021014,15,E,A*3E $IIVHW,,,356,M,00.0,N,,*64 $IIVLW,08200,N,000.0,N*59 $IIVWR,111,R,00.9,N,,,,*69 $IIGLL,3730.076,N,12228.855,W,225158,A,A*4E $IIHDG,356,,,15,E*16 $IIMTW,+16.0,C*3F ...
| Top |
The Navigation Console, Swing GUI
The Raspberry PI at work on board, in the chart table.
manageEvent
event in its listener will be notified of the injection of the NMEA sentence.
The Character Console, on a 7" RCA screen, on board.
On the laptop, using TCP to get the data from the Raspberry PI, simultaneously using the Graphical Console, and OpenCPN.
The HTML5 console, as seen in a browser (laptop, tablet, smart-phone, ...)
http://192.168.1.1:9999/html5/console.html
.
The full set. The Raspberry PI is the heart of the system.
HTTP and WebSocket play the same role on the picture.
The Raspberry PI is the only device connected to the NMEA Interface (the boat's instruments). It is the first to be turned on, and the last to be switched off. I've been running it continuously for weeks, without any glitch.
| Top |
VWT
, MWD
and MWV
.
True Wind, available in OpenCPN.
OpenCPN 3.3.2316 MDA support for barometric pressure
olivsoftdesktopuserexits.sample.TrueWindSentenceInsertion
and olivsoftdesktopuserexits.LongTimeCurrentCalculator
user exits to see how.
top
running on the Raspberry PI A+, with all the features above running, including the WebSocket server (nodejs).
My favorite configuration today (Jan-2015) would definitely include
jconsole
, that allows you to see what is going on regarding the resources, so you can tune the JVM's parameters.
jconsole
utility lets you monitor a remote JVM. Run it from another box, like the one you develop on.
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.port=1234 \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Djava.rmi.server.hostname=raspberrypi-boat"The port and the hostname need to match your environment, of course.
The voltage regulator |
The new setting |
In the boat |
| Top |
| Top |
| Top |
I also worked on another project, lighter, without any sort of GUI (except the ones given as examples), that runs just fine even on a Raspberry PI Zero W. See here.
| Top |
Originally, the software (the NMEA Console) was written to run on a laptop.
Putting the Raspberry PI in the picture substancially changed the paradigm, the architecture clearly became hub-and-spoke oriented.
The cache architecture was also quite impacted. An easy way around the problems raised by this hub-and-spoke architecture is to generate new NMEA Strings from the Raspberry PI, and inject them into the NMEA Stream. This is the case for the Atmospheric Pressure, the True Wind computation, the Current computation (with time buffer), and the list is not closed.
For the data that do not have an NMEA equivalent (like the battery load), I just came up with my own ones. All it requires is to have the software reading them to be aware of those (like the character console).
All the software used here is Open Source software, and as such, is free.
The hardware follows the same path (beside the boat itself, of course, and the NMEA electronics), the price for a Raspberry PI is ridiculous, the extra sensors, boards, small keyboards, small screens, and various components you would need to do the same will fit more than once in a $100 budget.
It is interesting though, to notice that this architecture is the exact same one that was used during the recent 34th America's Cup by those multi-million$ fantastic cats - including the glorious winner.
Well, now you can get to the data, you have to analyze them. And the next America's Cup is all yours.