.. image:: https://github.com/maritime-labs/boatface/workflows/Tests/badge.svg
:target: https://github.com/maritime-labs/boatface/actions?workflow=Tests
.. image:: https://codecov.io/gh/maritime-labs/boatface/branch/main/graph/badge.svg
:target: https://codecov.io/gh/maritime-labs/boatface
.. image:: https://pepy.tech/badge/boatface/month
:target: https://pypi.org/project/boatface/
.. image:: https://img.shields.io/pypi/v/boatface.svg
:target: https://pypi.org/project/boatface/
.. image:: https://img.shields.io/pypi/status/boatface.svg
:target: https://pypi.org/project/boatface/
.. image:: https://img.shields.io/pypi/pyversions/boatface.svg
:target: https://pypi.org/project/boatface/
.. image:: https://img.shields.io/pypi/l/boatface.svg
:target: https://github.com/maritime-labs/boatface/blob/main/LICENSE
|
######################
Maritime Labs Boatface
######################
About
An instrumentation panel for displaying NMEA and SignalK telemetry data,
specifically on electronic ink
_ displays.
NMEA-0183 telemetry data is received on UDP port 10110.
.. note::
Please note this is ALPHA quality software.
- Essentially, the program currently only demonstrates two features
separately: Telemetry receiver vs. Rendering and display.
- Many details will still need to be implemented.
- There might be dragons.
Screenshot
.. figure:: https://user-images.githubusercontent.com/453543/181004242-49231c0d-8c2c-4470-81d5-8d882b073736.png
Features
- Receive and parse NMEA sentences
- Render user interface as PIL image
- Display user interface on different backends:
PNG
, pyglet
, PySDL2
, eips
Device support
- Desktop: Linux, macOS, Windows
- E-book devices using
electronic ink
_ displays:
Amazon Kindle
, Kobo eReader
, Tolino eReader
_
Setup
::
pip install --upgrade boatface[ui]
To install the latest development version from the repository, invoke::
pip install --upgrade git+https://github.com/maritime-labs/boatface#egg=boatface[ui]
Usage
Terminal::
# Submit telemetry messages in NMEA-0183 format to UDP broadcast.
pip install calypso-anemometer
calypso-anemometer fake --subscribe --rate=hz_8 --target=udp+broadcast+nmea0183://255.255.255.255:10110
# Listen on the network for NMEA-0183 messages and display them on the terminal.
boatface log --source=udp+broadcast+nmea0183://0.0.0.0:10110
GUI::
# Display demo data in preview application, single-shot.
boatface ui --source=demo:// --display=viewer
# Display demo data on the screen, using the `eips` program, in landscape orientation.
boatface ui --source=demo:// --display=eips --landscape
# Display demo data on the user interface, using Pyglet.
boatface ui --source=demo:// --display=pyglet
# Display demo data on the user interface, using SDL.
boatface ui --source=demo:// --display=sdl
An example NMEA-0183 sentence emitted by calypso-anemometer
is::
$IIVWR,154.0,L,11.06,N,5.69,M,20.48,K*65
More options::
# Enable verbose output.
boatface --verbose ui --source=demo:// --display=pyglet
Other projects
Project information
Etymology
In honour of Boaty McBoatface
_.
Contributions
Any kind of contribution, feedback or patches are very much welcome! Just create an issue
_ or submit a patch if you think we should include a new feature, or to
report or fix a bug.
Development
In order to setup a development environment on your workstation, please head over
to the development sandbox
_ documentation. When you see the software tests succeed,
you should be ready to start hacking.
Resources
Source code repository <https://github.com/maritime-labs/boatface>
_Documentation <https://github.com/maritime-labs/boatface/blob/main/README.rst>
_Python Package Index (PyPI) <https://pypi.org/project/boatface/>
_
License
The project is licensed under the terms of the GNU AGPL license.
.. _Amazon Kindle: https://en.wikipedia.org/wiki/Amazon_Kindle
.. _Boaty McBoatface: https://en.wikipedia.org/wiki/Boaty_McBoatface
.. _create an issue: https://github.com/maritime-labs/boatface/issues
.. _development sandbox: https://github.com/maritime-labs/boatface/blob/main/doc/sandbox.rst
.. _eips: https://wiki.mobileread.com/wiki/Eips
.. _electronic ink: https://en.wikipedia.org/wiki/E_Ink
.. _FBInk: https://github.com/NiLuJe/FBInk
.. _Kobo eReader: https://en.wikipedia.org/wiki/Kobo_eReader
.. _OpenCPN: https://opencpn.org/
.. _OpenPlotter: https://open-boat-projects.org/en/openplotter/
.. _PNG: https://en.wikipedia.org/wiki/Portable_Network_Graphics
.. _pyglet: https://pyglet.readthedocs.io/
.. _PySDL2: https://pysdl2.readthedocs.io/
.. _SignalK: https://github.com/SignalK/signalk-server
.. _Tolino eReader: https://de.wikipedia.org/wiki/Tolino