This tiny embedded Java NMEA server reads and writes NMEA 0183 on a serial port and makes it available via TCP on port 8000. The most common use case is to make your navigation instrument data available wirelessly via 802.11 wifi such as www.marinewireless.us/product_info.php?products_id=28
-
Unit tests! This code was written years ago before I practiced test driven development
-
Add NMEA 2000 support
-
Improve the documentation for running the server
This is the code that shipped on the Marine Marines Navigation Server marinewireless.us
It is designed to run in a very small memory footprint on a Java 1.4 JRE (but it may work on newer JRE’s as well). The first Marine Wireless Server was an embedded Soekris board with 32MB of ram which is more than enough to run a small Linux distribution and small Java virtual machine. The server has been tested and used with both the Sun JRE and other JRE’s like Kaffe. The server works on Windows, Linux, and Mac.
To run the server using using the included sample NMEA file for testing:
cd marine-wireless-nmea-server export CLASSPATH=lib/mwserver.jar:lib/log4j-1.2.8.jar:lib/kxml.jar java mw.server.Server -f etc/config.xml telnet localhost 8000 <-- and watch the NMEA data scroll by
To get it to read/write to the serial port where your NMEA Mux is connected you’ll want to edit config.xml and comment out the NMEAFromFile mediator and uncomment either the NMEAonCOM1 (Windows) or NMEAonDevTTYS0 (Linux) mediator. Be sure to adjust the baudrate as well.
Also see etc/mwserver.initd for an example of an init.d script to start the software at boot time.
Please feel free to submit patches.
This software is released under a dual-license
GPL v3 License
-
This software is free to use, modify, and re-distribute under the terms of the GPL v3 (see LICENSE file)
-
For commercial distribution it’s also fine to use under the GPL license as long as any modifications to the software are made available, preferably via patches submitted back to Marine Wireless www.marinewireless.us/contact_us.php
Commercial License
-
We would strongly prefer you use this software under the terms of the GPL v3 License so all can benefit from your enhancements. In the rare event that you need to modify the software for a commercial distribution but can’t make the changes publicly available please contact Marine Wireless www.marinewireless.us/contact_us.php