├── .gitignore ├── .readthedocs.yaml ├── LICENSE ├── README.md ├── debian ├── README.Debian ├── README.source ├── changelog ├── compat ├── control ├── copyright ├── openplotter-doc-docs.docs ├── openplotter-doc.install └── rules ├── docs ├── OpenPlotter-v4-docs.zip ├── avnav │ └── avnav_app.md ├── can │ ├── can_app.md │ ├── img │ │ ├── can.png │ │ ├── can0.png │ │ ├── can1.png │ │ ├── can2.png │ │ ├── can4.png │ │ ├── canMCP1.png │ │ ├── canMCP2.png │ │ ├── canMCP3.png │ │ ├── canMCP4.png │ │ ├── canMCP5.png │ │ ├── canMCP6.png │ │ ├── canMCP7.png │ │ ├── canSlcand1.png │ │ ├── canSlcand2.png │ │ ├── canSlcand3.png │ │ ├── canSlcand4.png │ │ ├── canSlcand5.png │ │ ├── canSlcand6.png │ │ ├── canSlcand7.png │ │ ├── check.png │ │ ├── chip.png │ │ ├── op.png │ │ ├── serial_can10.png │ │ ├── serial_can11.png │ │ ├── serial_can12.png │ │ ├── serial_can13.png │ │ ├── serial_can8.png │ │ ├── serial_can9.png │ │ └── sk.png │ ├── mcp2515.md │ ├── output.md │ └── slcand.md ├── dashboards │ └── dashboards_app.md ├── description │ ├── features.md │ ├── how_does_it_work.md │ ├── how_to_collaborate.md │ ├── img │ │ ├── SKadmin.png │ │ ├── dataflow.png │ │ ├── setup1.jpg │ │ └── setup2.jpg │ └── what_is_openplotter.md ├── getting_started │ ├── downloading.md │ ├── first_steps.md │ ├── get_support.md │ ├── img │ │ ├── configuration.png │ │ ├── imager1.png │ │ ├── imager2.png │ │ ├── imager3.png │ │ ├── imu.png │ │ ├── maiana-ais-base-kit.png │ │ ├── network.png │ │ ├── network2.png │ │ ├── network3.png │ │ ├── pi-plug-in.gif │ │ ├── pypilot-mid-power-motor-controller.jpg │ │ └── sdCardCopier.png │ ├── installing.md │ └── what_do_you_need.md ├── gpio │ ├── 1w.md │ ├── digital.md │ ├── gpio_app.md │ ├── img │ │ ├── gpio.png │ │ ├── pi-1-wire.png │ │ ├── sensor-edit.png │ │ ├── signalk-data.png │ │ └── signalk-keys.png │ ├── pulses.md │ └── seatalk.md ├── i2c │ └── i2c_app.md ├── img │ └── OPwallpaper.png ├── index.md ├── iob │ ├── img │ │ ├── IoTMQTTPanel.json │ │ ├── chip.png │ │ ├── commands0.png │ │ ├── commands1.png │ │ ├── commands2.png │ │ ├── commands3.png │ │ ├── commands4.png │ │ ├── commands5.png │ │ ├── commands6.png │ │ ├── custom0.png │ │ ├── custom1.png │ │ ├── custom2.png │ │ ├── custom3.png │ │ ├── custom4.png │ │ ├── custom5.png │ │ ├── custom6.png │ │ ├── custom7.png │ │ ├── digital.png │ │ ├── gpio18.png │ │ ├── gpio181.png │ │ ├── gpio182.png │ │ ├── gpio183.png │ │ ├── gpio184.png │ │ ├── gpio185.png │ │ ├── gpio186.png │ │ ├── iob0.png │ │ ├── iob1.png │ │ ├── login.png │ │ ├── lora.png │ │ ├── mqtt.png │ │ ├── mqttpanel.png │ │ ├── notifications.png │ │ ├── openplotter-24.png │ │ ├── openplotter-iob.png │ │ ├── sk.png │ │ ├── telegram.png │ │ ├── template.png │ │ ├── template1.png │ │ ├── template2.png │ │ ├── template3.png │ │ ├── template4.png │ │ ├── template5.png │ │ └── xxxx.png │ ├── iob_app.md │ ├── lorawan.md │ ├── mqtt.md │ └── telegram.md ├── maiana │ ├── configuring.md │ ├── connecting.md │ ├── img │ │ ├── apply.png │ │ ├── assembly.png │ │ ├── connections.png │ │ ├── file.png │ │ ├── fullsystem.png │ │ ├── install.png │ │ ├── items.png │ │ ├── macarthur.png │ │ ├── maiana.png │ │ ├── maiana1.png │ │ ├── maiana10.png │ │ ├── maiana11.png │ │ ├── maiana12.png │ │ ├── maiana12a.png │ │ ├── maiana13.png │ │ ├── maiana14.png │ │ ├── maiana14a.png │ │ ├── maiana15.png │ │ ├── maiana15a.png │ │ ├── maiana15b.png │ │ ├── maiana16.png │ │ ├── maiana2.png │ │ ├── maiana3.png │ │ ├── maiana4.png │ │ ├── maiana5.png │ │ ├── maiana6.png │ │ ├── maiana7.png │ │ ├── maiana8.png │ │ ├── maiana9.png │ │ ├── noti1.png │ │ ├── noti2.png │ │ ├── notifications.png │ │ ├── refresh.png │ │ ├── sk.png │ │ ├── switch-on.png │ │ ├── uart.png │ │ ├── uart0.png │ │ ├── uart1.png │ │ ├── uart2.png │ │ ├── update.png │ │ ├── usb-adapter.png │ │ ├── usb-can-adapter.png │ │ ├── usb-rs422-adapter.png │ │ ├── usb-uart-adapter.png │ │ └── usb.png │ └── maiana_app.md ├── moitessier │ └── moitessier_app.md ├── network │ ├── img │ │ ├── network1.png │ │ ├── network2.png │ │ └── wifi.png │ └── network_app.md ├── notifications │ ├── examples_actions.md │ ├── img │ │ ├── actions-pypilot-1.png │ │ ├── actions-pypilot-2.png │ │ ├── actions-pypilot-3.png │ │ ├── actions-pypilot-4.png │ │ ├── actions-pypilot-5.png │ │ ├── actions-pypilot-6.png │ │ ├── add.png │ │ ├── autopilot.png │ │ ├── digital.png │ │ ├── gpio.png │ │ ├── notifications.png │ │ └── op.png │ └── notifications_app.md ├── opencpn │ ├── img │ │ ├── autostart.png │ │ ├── check.png │ │ ├── debian.png │ │ ├── flatpak.png │ │ ├── fullscreen.png │ │ ├── open.png │ │ ├── opencpn-installer.png │ │ ├── opencpn1.png │ │ ├── opencpn2.png │ │ ├── opencpn24.png │ │ ├── opencpn3.png │ │ ├── opencpn4.png │ │ ├── opencpnAIS.jpg │ │ ├── sk.png │ │ ├── skconnection.png │ │ └── uninstall.png │ ├── opencpn_app.md │ └── skconnection.md ├── pypilot │ ├── autopilot.md │ ├── calibration.md │ ├── img │ │ ├── 7-keys.jpg │ │ ├── 8-keys.jpg │ │ ├── apply.png │ │ ├── autopilot-1.png │ │ ├── autopilot-2.png │ │ ├── autopilot-3.png │ │ ├── autopilot-4.png │ │ ├── autopilot-5.png │ │ ├── autopilot.png │ │ ├── boat.png │ │ ├── calibration.png │ │ ├── calibration0.png │ │ ├── calibration1.png │ │ ├── calibration2.png │ │ ├── calibration3.png │ │ ├── calibration4.png │ │ ├── calibration5.png │ │ ├── client.png │ │ ├── connections.png │ │ ├── gpio.png │ │ ├── gps.png │ │ ├── gui.png │ │ ├── header.png │ │ ├── imu.png │ │ ├── lcd.png │ │ ├── op.png │ │ ├── opencpn.png │ │ ├── panel1.png │ │ ├── panel2.png │ │ ├── process.png │ │ ├── pypilot-options.png │ │ ├── pypilot3.png │ │ ├── pypilot4.png │ │ ├── remote-ir.jpg │ │ ├── remote-ir.png │ │ ├── remote.jpg │ │ ├── remote.png │ │ ├── scope.png │ │ ├── soft-gui.png │ │ ├── soft-opencpn.png │ │ ├── soft-web.png │ │ ├── usb.png │ │ ├── web.png │ │ └── wind.png │ ├── imu.md │ ├── pypilot_app.md │ └── wiring.md ├── requirements.txt ├── sdr-vhf │ └── sdr-vhf_app.md ├── serial │ ├── cconnectingRS422.md │ ├── connectingCAN.md │ ├── connectingGPS.md │ ├── connectingdAISy.md │ ├── img │ │ ├── apply.png │ │ ├── can.png │ │ ├── connections.png │ │ ├── daisyHat1.png │ │ ├── daisyHat2.png │ │ ├── daisyHat3a.png │ │ ├── daisyHat3b.png │ │ ├── daisyHat4.png │ │ ├── daisyHat5.png │ │ ├── daisyHat6.png │ │ ├── gps1.png │ │ ├── gps2.png │ │ ├── gps3.png │ │ ├── gps4.png │ │ ├── gps5.png │ │ ├── gps6.png │ │ ├── gps7.png │ │ ├── gpsd.png │ │ ├── openplotter-24.png │ │ ├── openplotter-serial.png │ │ ├── refresh.png │ │ ├── rpi_port_4ur.png │ │ ├── rs422-1.png │ │ ├── rs422-2.png │ │ ├── rs422-3.png │ │ ├── rs422-4.png │ │ ├── rs422-5.png │ │ ├── rs422-6.png │ │ ├── rs422-7.png │ │ ├── rs422-8.png │ │ ├── serial0.png │ │ ├── serial1.png │ │ ├── serial2.png │ │ ├── serial3.png │ │ ├── serialCan1.png │ │ ├── serialCan2.png │ │ ├── serialCan3.png │ │ ├── serialCan4.png │ │ ├── serialCan5.png │ │ ├── serialCan6.png │ │ ├── serialCan7.png │ │ ├── serial_rs422A.png │ │ ├── show.png │ │ ├── sk.png │ │ ├── uart.png │ │ └── wr-usb-uart-d.jpg │ └── serial_app.md ├── settings │ ├── apps.md │ ├── general.md │ ├── img │ │ ├── ap.png │ │ ├── apply.png │ │ ├── autostart.png │ │ ├── backlightAction.png │ │ ├── brightness-install.png │ │ ├── brightness.png │ │ ├── bug.png │ │ ├── changelog.png │ │ ├── check.png │ │ ├── chip.png │ │ ├── crowdin.png │ │ ├── debian.png │ │ ├── delay.png │ │ ├── file.png │ │ ├── gpiomap.png │ │ ├── help.png │ │ ├── install.png │ │ ├── keyboard.png │ │ ├── open.png │ │ ├── openplotter-24.png │ │ ├── openplotter-settings.png │ │ ├── output.png │ │ ├── play.png │ │ ├── ports.png │ │ ├── poweroff.png │ │ ├── refresh.png │ │ ├── resize.png │ │ ├── rpi.png │ │ ├── setBacklight.png │ │ ├── settings1.png │ │ ├── settings10.png │ │ ├── settings2.png │ │ ├── settings3.png │ │ ├── settings4.png │ │ ├── settings5.png │ │ ├── settings6.png │ │ ├── settings7.png │ │ ├── settings8.png │ │ ├── settings9.png │ │ ├── shutdown.png │ │ ├── sources.png │ │ ├── touchscreen.png │ │ ├── uninstall.png │ │ ├── update.png │ │ └── wayland.png │ ├── raspberry.md │ └── settings_app.md └── signalk │ ├── img │ ├── NMEA0183mux0.png │ ├── NMEA0183mux1.png │ ├── NMEA0183mux2.png │ ├── NMEA0183mux3.png │ ├── NMEA0183mux4.png │ ├── apply.png │ ├── cancel.png │ ├── filtre.png │ ├── settings2.png │ ├── ship.png │ ├── signalk1.png │ ├── signalk2.png │ ├── signalk3.png │ ├── signalk4.png │ └── skinstaller.png │ ├── multiplexing.md │ └── signalk_app.md ├── mkdocs.yml ├── openplotter-doc.desktop └── openplotter.png /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /debian/*/ 3 | /debian/*debhelper* 4 | /debian/files 5 | /debian/*.substvars 6 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # Read the Docs configuration file for MkDocs projects 2 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 3 | 4 | # Required 5 | version: 2 6 | 7 | # Set the version of Python and other tools you might need 8 | build: 9 | os: ubuntu-20.04 10 | tools: 11 | python: "3.8" 12 | 13 | mkdocs: 14 | configuration: mkdocs.yml 15 | 16 | # Optionally declare the Python requirements required to build your docs 17 | python: 18 | install: 19 | - requirements: docs/requirements.txt 20 | 21 | formats: 22 | - pdf 23 | - epub 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # docs 2 | OpenPlotter project documentation 3 | 4 | https://openplotter.readthedocs.io/ 5 | -------------------------------------------------------------------------------- /debian/README.Debian: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/debian/README.Debian -------------------------------------------------------------------------------- /debian/README.source: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/debian/README.source -------------------------------------------------------------------------------- /debian/changelog: -------------------------------------------------------------------------------- 1 | openplotter-doc (4.2.0-stable) bookworm; urgency=medium 2 | 3 | * Fix errors 4 | * Add Pypilot 5 | * Add Seatalk1 6 | * Add AI 7 | * Add 1W 8 | * Add IoB 9 | 10 | -- Sailoog Wed, 19 Feb 2025 20:18:58 +0100 11 | 12 | openplotter-doc (4.1.0-stable) bookworm; urgency=medium 13 | 14 | * stable 15 | 16 | -- Sailoog Sun, 16 Jun 2024 20:17:27 +0200 17 | 18 | openplotter-doc (4.0.1-beta) bookworm; urgency=medium 19 | 20 | * beta 21 | 22 | -- Sailoog Wed, 01 May 2024 14:14:53 +0200 23 | 24 | openplotter-doc (3.9.2-stable) bullseye; urgency=medium 25 | 26 | * Remove MacArthur HAT 27 | 28 | -- Sailoog Wed, 10 Jan 2024 20:26:36 +0100 29 | 30 | openplotter-doc (3.9.1-stable) bullseye; urgency=medium 31 | 32 | * Update OpenCPN chapter to add PPA source 33 | 34 | -- Sailoog Mon, 31 Jul 2023 12:04:49 +0200 35 | 36 | openplotter-doc (3.9.0-stable) bullseye; urgency=medium 37 | 38 | * Add MacArthur HAT 39 | * Add backlight and touschscreen settings 40 | * Update opencpn 41 | * Update index 42 | * Add SDR 43 | * Add incompatibility with openplotter 2 44 | * Add recommended IMUs 45 | * Add Pypilot 46 | * Add touchscreen edition 47 | 48 | -- Sailoog Sun, 16 Jul 2023 11:41:36 +0200 49 | 50 | openplotter-doc (3.8.0-stable) bullseye; urgency=medium 51 | 52 | * Add Moitessier hacked 53 | * Update index 54 | 55 | -- Sailoog Thu, 29 Dec 2022 14:18:26 +0100 56 | 57 | openplotter-doc (3.7.0-stable) bullseye; urgency=medium 58 | 59 | * Update Serial 60 | * Add Pypilot 61 | 62 | -- Sailoog Sat, 10 Sep 2022 14:51:10 +0200 63 | 64 | openplotter-doc (3.6.0-stable) bullseye; urgency=medium 65 | 66 | * Stable v3 67 | 68 | -- Sailoog Thu, 14 Jul 2022 20:38:13 +0200 69 | 70 | openplotter-doc (3.5.0-beta) bullseye; urgency=medium 71 | 72 | * Beta v3 73 | 74 | -- Sailoog Sat, 18 Jun 2022 21:07:05 +0200 75 | 76 | openplotter-doc (3.4.0-alpha) bullseye; urgency=medium 77 | 78 | * Alpha v3 79 | 80 | -- Sailoog Sat, 18 Dec 2021 14:50:25 +0100 81 | 82 | openplotter-doc (2.1.0-dev) bionic; urgency=medium 83 | 84 | * Multiple changes 85 | 86 | -- Sailoog Sun, 23 May 2021 14:07:16 +0200 87 | 88 | openplotter-doc (2.0.11-dev) bionic; urgency=medium 89 | 90 | * Update installation 91 | * Update some screenshots in dashboards and updating 92 | 93 | -- Sailoog Thu, 10 Dec 2020 20:48:55 +0100 94 | 95 | openplotter-doc (2.0.10-dev) bionic; urgency=medium 96 | 97 | * Serial chapter done 98 | 99 | -- Sailoog Fri, 02 Oct 2020 18:24:55 +0200 100 | 101 | openplotter-doc (2.0.9-dev) bionic; urgency=medium 102 | 103 | * Add SDR VHF general contents and AIS settings 104 | 105 | -- Sailoog Tue, 22 Sep 2020 21:43:00 +0200 106 | 107 | openplotter-doc (2.0.8-dev) bionic; urgency=medium 108 | 109 | * Update Moitessier HAT configuration 110 | * Add SDR draft 111 | * Add Signal K installer draft 112 | * Add diagram to how does it work 113 | * Update description 114 | 115 | -- Sailoog Sat, 08 Aug 2020 20:04:10 +0200 116 | 117 | openplotter-doc (2.0.7-dev) bionic; urgency=medium 118 | 119 | * Multiple changes 120 | 121 | -- Sailoog Wed, 18 Mar 2020 11:03:50 +0100 122 | 123 | openplotter-doc (2.0.6-dev) bionic; urgency=medium 124 | 125 | * Organize index 126 | 127 | -- Sailoog Sat, 29 Feb 2020 18:24:55 +0100 128 | 129 | openplotter-doc (2.0.5-dev) bionic; urgency=medium 130 | 131 | * Initial release 132 | 133 | -- Sailoog Fri, 14 Feb 2020 18:12:05 +0100 134 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: openplotter-doc 2 | Section: misc 3 | Priority: optional 4 | Maintainer: Sailoog 5 | Build-Depends: debhelper (>=9) 6 | Standards-Version: 3.9.6 7 | Homepage: https://github.com/openplotter/docs 8 | 9 | Package: openplotter-doc 10 | Architecture: all 11 | Depends: ${misc:Depends}, openplotter-settings 12 | Description: OpenPlotter project documentation 13 | OpenPlotter project documentation 14 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: openplotter-doc 3 | Source: https://github.com/openplotter/docs 4 | 5 | Files: * 6 | Copyright: 2022 Sailoog 7 | License: GPL-2+ 8 | This package is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | . 13 | This package is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | . 18 | You should have received a copy of the GNU General Public License 19 | along with this program. If not, see 20 | . 21 | On Debian systems, the complete text of the GNU General 22 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 23 | 24 | Files: debian/* 25 | Copyright: 2022 Sailoog 26 | License: GPL-2+ 27 | This package is free software; you can redistribute it and/or modify 28 | it under the terms of the GNU General Public License as published by 29 | the Free Software Foundation; either version 2 of the License, or 30 | (at your option) any later version. 31 | . 32 | This package is distributed in the hope that it will be useful, 33 | but WITHOUT ANY WARRANTY; without even the implied warranty of 34 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 35 | GNU General Public License for more details. 36 | . 37 | You should have received a copy of the GNU General Public License 38 | along with this program. If not, see 39 | . 40 | On Debian systems, the complete text of the GNU General 41 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 42 | 43 | -------------------------------------------------------------------------------- /debian/openplotter-doc-docs.docs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/debian/openplotter-doc-docs.docs -------------------------------------------------------------------------------- /debian/openplotter-doc.install: -------------------------------------------------------------------------------- 1 | build/* usr/share/openplotter-doc/ 2 | openplotter-doc.desktop usr/share/applications/ 3 | openplotter.png usr/share/pixmaps/ 4 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # See debhelper(7) (uncomment to enable) 3 | # output every command that modifies files on the build system. 4 | export DH_VERBOSE = 1 5 | 6 | 7 | # see FEATURE AREAS in dpkg-buildflags(1) 8 | #export DEB_BUILD_MAINT_OPTIONS = hardening=+all 9 | 10 | # see ENVIRONMENT in dpkg-buildflags(1) 11 | # package maintainers to append CFLAGS 12 | #export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic 13 | # package maintainers to append LDFLAGS 14 | #export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed 15 | 16 | 17 | %: 18 | dh $@ 19 | 20 | 21 | # dh_make generated override targets 22 | # This is example for Cmake (See https://bugs.debian.org/641051 ) 23 | #override_dh_auto_configure: 24 | # dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) 25 | 26 | -------------------------------------------------------------------------------- /docs/OpenPlotter-v4-docs.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/OpenPlotter-v4-docs.zip -------------------------------------------------------------------------------- /docs/avnav/avnav_app.md: -------------------------------------------------------------------------------- 1 | # AvNav 2 | 3 | Coming soon. 4 | 5 | In the meantime you can consult previous versions of [this chapter for older versions of OpenPlotter](https://openplotter.readthedocs.io/3.x.x/avnav/avnav_app.html) keeping in mind that there are things that have changed. -------------------------------------------------------------------------------- /docs/can/can_app.md: -------------------------------------------------------------------------------- 1 | # CAN Bus 2 | 3 | Install this app from the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and open it by clicking ![Canb Bus](img/can.png) `CAN Bus` under `Main -> OpenPlotter` or typing this in a terminal: 4 | 5 | ```console 6 | openplotter-can 7 | ``` 8 | 9 | ![can0](img/can0.png) 10 | 11 | ![Help](../settings/img/help.png) ``Help`` opens an offline copy of this documentation in a browser and ![Settings](../settings/img/openplotter-settings.png) ``Settings`` opens the main app. 12 | 13 | To configure a NMEA 2000 converter that can connect via USB such as the *Actisense NGT-1* or the *OpenMarine CAN-USB Stick* (discontinued), see the chapter [Connecting a USB CAN converter data](../serial/connectingCAN.md). 14 | 15 | If you want to configure a USB converter type ``slcand`` or based on the ``MCP2515`` chip, continue reading this section. 16 | 17 | ## Wiring 18 | 19 | It does not matter what type of converter you have, USB or a Raspberry Pi HAT, all of them should have a L connector and a H connector. In most cases you simply have to connect the CAN_L cable of your NMEA 2000 CAN-BUS to the L connector of your converter and the CAN_H cable of your NMEA 2000 CAN-BUS to the H connector of your converter: 20 | 21 | ![can2](img/can2.png) 22 | 23 | !!! note 24 | Some converters may also need to connect GND, see the documentation for your device. 25 | 26 | !!! caution 27 | Do not connect the 12v power cable in any way. 28 | 29 | At each end of the *Trunk Line* a *Termination Resistor* must be installed. Each termination resistor is 120 Ohms and is connected in parallel across the data pair of wires. This provides a total of 60 Ohms resitance across the network and is essential to data integrity. Most converters incorporate a 120 Ohms resistor to be optionally connected in case your NMEA 2000 CAN-BUS does not have a terminator. See the documentation for your device. 30 | 31 | ![can1](img/can1.png) -------------------------------------------------------------------------------- /docs/can/img/can.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/can.png -------------------------------------------------------------------------------- /docs/can/img/can0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/can0.png -------------------------------------------------------------------------------- /docs/can/img/can1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/can1.png -------------------------------------------------------------------------------- /docs/can/img/can2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/can2.png -------------------------------------------------------------------------------- /docs/can/img/can4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/can4.png -------------------------------------------------------------------------------- /docs/can/img/canMCP1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canMCP1.png -------------------------------------------------------------------------------- /docs/can/img/canMCP2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canMCP2.png -------------------------------------------------------------------------------- /docs/can/img/canMCP3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canMCP3.png -------------------------------------------------------------------------------- /docs/can/img/canMCP4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canMCP4.png -------------------------------------------------------------------------------- /docs/can/img/canMCP5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canMCP5.png -------------------------------------------------------------------------------- /docs/can/img/canMCP6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canMCP6.png -------------------------------------------------------------------------------- /docs/can/img/canMCP7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canMCP7.png -------------------------------------------------------------------------------- /docs/can/img/canSlcand1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canSlcand1.png -------------------------------------------------------------------------------- /docs/can/img/canSlcand2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canSlcand2.png -------------------------------------------------------------------------------- /docs/can/img/canSlcand3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canSlcand3.png -------------------------------------------------------------------------------- /docs/can/img/canSlcand4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canSlcand4.png -------------------------------------------------------------------------------- /docs/can/img/canSlcand5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canSlcand5.png -------------------------------------------------------------------------------- /docs/can/img/canSlcand6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canSlcand6.png -------------------------------------------------------------------------------- /docs/can/img/canSlcand7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/canSlcand7.png -------------------------------------------------------------------------------- /docs/can/img/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/check.png -------------------------------------------------------------------------------- /docs/can/img/chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/chip.png -------------------------------------------------------------------------------- /docs/can/img/op.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/op.png -------------------------------------------------------------------------------- /docs/can/img/serial_can10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/serial_can10.png -------------------------------------------------------------------------------- /docs/can/img/serial_can11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/serial_can11.png -------------------------------------------------------------------------------- /docs/can/img/serial_can12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/serial_can12.png -------------------------------------------------------------------------------- /docs/can/img/serial_can13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/serial_can13.png -------------------------------------------------------------------------------- /docs/can/img/serial_can8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/serial_can8.png -------------------------------------------------------------------------------- /docs/can/img/serial_can9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/serial_can9.png -------------------------------------------------------------------------------- /docs/can/img/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/can/img/sk.png -------------------------------------------------------------------------------- /docs/can/mcp2515.md: -------------------------------------------------------------------------------- 1 | # Input data by MCP2515/MCP251xfd 2 | 3 | There are some [HATs for Raspberry Pi](https://macarthur-hat-documentation.readthedocs.io/en/latest/index.html) available with the MCP2515 chip (and its successor MCP251xfd) on board that you can easily configure in OpenPlotter. After mounting the HAT click on ![Chip](img/chip.png) ``Add MCP251xxx device`` in ![Chip](img/chip.png) ``MCP2515`` or ``MCP251xfd`` tabs: 4 | 5 | ![canMCP1](img/canMCP1.png) 6 | 7 | ![canMCP2](img/canMCP2.png) 8 | 9 | - ***Interface***: Select `SPI0 CE0` if your HAT connects to GPIO 8 (pin 24) and select `SPI0 CE1` if your HAT connects to GPIO 7 (pin 26). 10 | - ***Oscillator***: The oscillator can be found by looking at the crystal chip on the HAT as per the pic below. 11 | - ***Interrupt***: Select the GPIO your HAT connects for interruption. See the documentation for your device. 12 | 13 | ![can4](img/can4.png) 14 | 15 | After entering the required data the system needs to reboot to apply the changes: 16 | 17 | ![canMCP3](img/canMCP3.png) 18 | 19 | After a reboot you should receive data on your device. Select the item from the list and click ![check](img/check.png) ``Check device traffic`` to confirm data entry: 20 | 21 | ![canMCP4](img/canMCP4.png) 22 | 23 | ![canSlcand4](img/canSlcand4.png) 24 | 25 | Now we need to get this data to the Signal K server. Select the item from the list and click ![sk](img/sk.png) ``Add Connection``. The Signal K server will restart and you are done: 26 | 27 | ![canMCP5](img/canMCP5.png) 28 | 29 | ![canMCP6](img/canMCP6.png) 30 | 31 | Go to the Signal K server administration interface using your web browser, to confirm that the connection has been made: 32 | 33 | ![canMCP7](img/canMCP7.png) 34 | 35 | Check OpenCPN to make sure there is a [connection to the Signal K server](../opencpn/skconnection.md) and you are getting data from your NMEA 2000 network. -------------------------------------------------------------------------------- /docs/can/output.md: -------------------------------------------------------------------------------- 1 | # Output data 2 | 3 | You may have some sensors connected to OpenPlotter that receive data in Signal K format, or you may have data from NMEA 0183 or Seatalk1 converters that have also been translated to Signal K format. In these cases, you probably want to convert this data to NMEA 2000 and send it to your CAN Bus using the same device you use to send NMEA 2000 data to OpenPlotter. 4 | 5 | ## Unblocking transmission 6 | 7 | To protect your network, the *Actisense NGT-1* and the *OpenMarine CAN USB Stick* (discontinued) devices have most PGNs blocked for transmission. On *slcand* and *MCP2515* devices, PGNs transmission is not blocked, so you can skip this chapter and go to the next one. 8 | 9 | To unblock the PGNs you want to send to your NMEA 2000 network, go to ![OP](img/op.png) ``CAN USB`` tab, select the device from the list and click ![OP](img/op.png) ``Open device TX PGNs``: 10 | 11 | ![serial_can8](img/serial_can8.png) 12 | 13 | Enable the PGNs you want to unblock and click ``Apply``: 14 | 15 | ![serial_can9](img/serial_can9.png) 16 | 17 | !!! note 18 | If you see this message: *The list of enabled PGNs is empty, you may need to try a different baudrate or reset your device to 115200 bauds*, click on ![OP](img/op.png) `CAN-USB Setup` to fix your device baud rate. 19 | 20 | Click ``OK`` to write changes to the device: 21 | 22 | ![serial_can10](img/serial_can10.png) 23 | 24 | ## Signal K to NMEA 2000 data conversion 25 | 26 | This is valid for all devices. You have to tell the Signal K server what PGNs you need to convert from Signal K format to NMEA 2000 format. To do this we use the Signal K plugin *Signal K to NMEA 2000*. Click ![SK](img/sk.png) ``SK → NMEA 2000`` and you will be directed to the configuration page of this plugin: 27 | 28 | ![serial_can11](img/serial_can11.png) 29 | 30 | Make sure the general setting *Enabled* is set to ``YES`` an enable Signal K to NMEA 2000 conversion for all desired PGNs: 31 | 32 | ![serial_can12](img/serial_can12.png) 33 | 34 | Click ``Submit`` at the bottom of the page and you are done: 35 | 36 | ![serial_can13](img/serial_can13.png) 37 | 38 | !!! important 39 | You do not need to do anything else to start sending data through your device. If you have previously set your device to input data, it will start sending this converted data automatically. -------------------------------------------------------------------------------- /docs/can/slcand.md: -------------------------------------------------------------------------------- 1 | # Input data by slcand 2 | 3 | This tutorial is for any NMEA 2000 converter that can connect via USB using *slcand* such as the devices available from [CANable](https://canable.io/). 4 | 5 | First of all you have to define the device using the ![Serial](../serial/img/openplotter-serial.png) *Serial* app. Then return to this ![Canb Bus](img/can.png) *CAN Bus* app and click ![Add device](../serial/img/openplotter-serial.png) ``Add device`` in the ![slcand](../serial/img/openplotter-serial.png) ``slcand`` tab: 6 | 7 | ![canSlcand1](img/canSlcand1.png) 8 | 9 | Select the device you defined in the ![Serial](../serial/img/openplotter-serial.png) *Serial* app and click ``OK``: 10 | 11 | ![canSlcand2](img/canSlcand2.png) 12 | 13 | From this moment you should receive data on your device. Select the item from the list and click ![check](img/check.png) ``Check device traffic`` to confirm data entry: 14 | 15 | ![canSlcand3](img/canSlcand3.png) 16 | 17 | ![canSlcand4](img/canSlcand4.png) 18 | 19 | Now we need to get this data to the Signal K server. Select the connection from the list and click ![sk](img/sk.png) ``Add Connection``. The Signal K server will restart and you are done: 20 | 21 | ![canSlcand5](img/canSlcand5.png) 22 | 23 | ![canSlcand6](img/canSlcand6.png) 24 | 25 | Go to the Signal K server administration interface to confirm that the connection is now active: 26 | 27 | ![canSlcand7](img/canSlcand7.png) 28 | 29 | Check OpenCPN to make sure there is a [connection to the Signal K server](../opencpn/skconnection.md) and you are getting data from your NMEA 2000 network. 30 | -------------------------------------------------------------------------------- /docs/dashboards/dashboards_app.md: -------------------------------------------------------------------------------- 1 | # Dashboards 2 | 3 | Coming soon. 4 | 5 | In the meantime you can consult previous versions of [this chapter for older versions of OpenPlotter](https://openplotter.readthedocs.io/3.x.x/dashboards/dashboards_app.html) keeping in mind that there are things that have changed. -------------------------------------------------------------------------------- /docs/description/features.md: -------------------------------------------------------------------------------- 1 | # Features 2 | 3 | 4 | * **Chart Plotter**. Chart a course and track your position using OpenCPN, a concise and robust chart plotter navigation software designed to be used at the helm station of your boat while underway. You can also run AvNav as server to have a chart plotter in any device remotely connected to it using a web browser.| 5 | 6 | * **Weather**. Download and display GRIB files using XyGrib. 7 | 8 | * **NMEA 0183**. Connect your NMEA 0183 devices to receive and send data. 9 | 10 | * **NMEA 2000**. Connect your NMEA 2000 network to receive and send data. 11 | 12 | * **Seatalk1**. Connect your old Seatalk1 network to receive data. 13 | 14 | * **Signal K**. The free and open source universal marine data exchange format. 15 | 16 | * **Access point**. Share data with laptops, tablets, phones… 17 | 18 | * **Headless**. You can connect OpenPlotter to any HDMI monitor and/or access to OpenPlotter desktop from the cockpit through your mobile devices. 19 | 20 | * **Dashboards**. Customize your instrument panels to visualize data or create charts to see its evolution. 21 | 22 | * **AIS**. Build open source AIS receivers/transmitters. 23 | 24 | * **Compass**. Get magnetic heading, heel and trim using cheap Inertial Measurement Units (IMU). 25 | 26 | * **Autopilot**. Full pypilot integration. 27 | 28 | * **Sensors**. Easily connect all kinds of sensors (temperature, pressure, humidity, voltage, current, luminance, tank level, RPM, doors…) 29 | 30 | * **Notifications**. Set thresholds for any parameter to trigger visual and sound notifications or trigger multiple custom actions. 31 | 32 | * **IoB**. Internet of Boats. Monitor what happens on your boat when you are not there or activate devices remotely. 33 | 34 | -------------------------------------------------------------------------------- /docs/description/how_does_it_work.md: -------------------------------------------------------------------------------- 1 | # How does it work? 2 | 3 | ![data flow](img/dataflow.png) 4 | 5 | The center of OpenPlotter is the **Signal K Server**. All the data collected by the boat's sensors in any of the supported formats are converted to Signal K format and stored. Once the server has the data in Signal K format, these can be sent by different ways to any program that supports this open source universal data exchange format or they can be converted again to any of the supported formats. 6 | 7 | !!! note 8 | The main function of the different apps that make up OpenPlotter is to facilitate the connection of the sensors with the Signal K server and in some cases to directly generate data in Signal K format from the raw sensor data. There is also another group of apps dedicated to processing and displaying the data from the Signal K server. You will learn how to use these apps in successive chapters. 9 | 10 | Depending on the initial format of the data, it can follow different routes or be available in different ways: 11 | 12 | ## Signal K 13 | 14 | We encourage companies and developers to use the Signal K format for new sensors and devices. OpenPlotter can obtain Signal K data from sensors using USB, GPIO, UDP, TCP and Websockets connections. 15 | 16 | There are two Signal K data models, *delta* and *full*. The delta format is used to exchange data between devices and/or servers and the full format is used to store data on servers. Read the [Signal K documentation](https://signalk.org/specification/1.7.0/doc/data_model.html) for details on both models. 17 | 18 | When the Signal K server receives delta messages from sensors, it forwards them immediately through a Websocket and a TCP connection at: 19 | 20 | ``` 21 | ws://openplotter.local:3000/signalk/v1/stream 22 | tcp://openplotter.local:8375 23 | ``` 24 | 25 | It also stores data using the full model. This data can be queried using the HTTP REST API at: 26 | 27 | ``` 28 | http://openplotter.local:3000/signalk/v1/api/ 29 | ``` 30 | 31 | You can manage the Signal K server through a web application at: 32 | 33 | ``` 34 | http://openplotter.local:3000 35 | ``` 36 | 37 | 38 | ![SKadmin](img/SKadmin.png) 39 | 40 | !!! note 41 | You can learn more about Signal K here: [https://signalk.org/specification](https://signalk.org/specification) 42 | 43 | ## NMEA 0183 44 | 45 | You can get NMEA 0183 data from USB, GPIO, TCP and UDP connections. The Signal K server will automatically convert the data to Signal K format and store it. NMEA 0183 data will also optionally be forwarded to: 46 | 47 | ``` 48 | tcp://openplotter.local:10110 49 | ``` 50 | 51 | !!! warning "Caution" 52 | If the same application gets NMEA 0183 data over the TCP port 10110 and also from any of the Signal K data outputs (HTTP, TCP, or WS) at the same time, it will probably get the same duplicate data in different formats. 53 | 54 | If you have data in Signal K format that has not been converted from NMEA 0183, you can convert it to NMEA 0183 and send it through the TCP port 10110 using the **signalk-to-nmea0183** plugin. 55 | 56 | !!! note 57 | To better understand the management of NMEA 0183 data in the Signal K server, please refer to the chapter [NMEA 0183 multiplexing](../signalk/multiplexing.md). 58 | 59 | ## NMEA 2000 60 | 61 | You can get NMEA 2000 data from USB, GPIO, TCP and UDP connections. The Signal K server will automatically convert the data to Signal K format and store it. 62 | 63 | If you have data in Signal K format that has not been converted from NMEA 2000, you can convert it to NMEA 2000 and send it through the same CAN bus adapter using the **signalk-to-nmea2000** plugin. 64 | 65 | ## Seatalk1 66 | 67 | You can get data in the old Seatalk1 format from a GPIO. The Signal K server will automatically convert the data to Signal K format and store it. There is currently no way to convert Signal K data to Seatalk1 or send data in Seatalk1 format from a Signal K server. 68 | -------------------------------------------------------------------------------- /docs/description/how_to_collaborate.md: -------------------------------------------------------------------------------- 1 | # How to collaborate 2 | 3 | 4 | > *Everything takes ***time***, ***money*** and ***monkeys***. You need a lot from any two groups and a little from the third. An increase in any one reduces the requirement for the other two. Change occurs when one of those three change* 5 | 6 | 7 | **Time** 8 | 9 | Download and install OpenPlotter and test and test and test... Report bugs and request new features in [OpenMarine forums](http://forum.openmarine.net/). Spread the word among your friends in ports and forums. 10 | 11 | **Money** 12 | 13 | This project is financed by [selling related products ](https://shop.openmarine.net/) or by [voluntary contributions](https://www.paypal.com/donate?hosted_button_id=3J8V5AT6M74L4). 14 | 15 | **Monkeys** 16 | 17 | > *Men wanted for hazardous journey. Low wages, bitter cold, long hours of complete darkness. Safe return doubtful. Honour and recognition in event of success* 18 | > 19 | >-- Ernest Shackleton 20 | 21 | If you have python skills, push your commits to the [github repository](https://github.com/openplotter). If you have electronics skills, share your work on [OpenMarine forums](http://forum.openmarine.net/). 22 | 23 | ## Translations 24 | 25 | If you want to help translate the software into your language, create an account on the Crowdin platform and edit [the project](https://crowdin.com/project/openplotter). 26 | 27 | 28 | ## Documentation 29 | 30 | If you want to help us maintain this documentation, let us know what your intentions are in [the forum](http://forum.openmarine.net/forumdisplay.php?fid=16) to coordinate. The best way to do this is to fork [this GitHub repository ](https://github.com/openplotter/docs) and push your commits. If you are not familiar with GitHub, do not worry, send us your contributions to [the forum](http://forum.openmarine.net/forumdisplay.php?fid=16). 31 | 32 | **Guidelines** 33 | 34 | - We need schematic and concise documentation just for reference. We do not want manuals, tutorials or detailed *How-to's*. That makes people free to generate their detailed manuals, tutorials or videos for newbies in their language. Remember, this is a reference book, not a tutorial. Be brief and concise. 35 | 36 | - A picture is worth a thousand words. Use this tool to make screenshots: 37 | 38 | ``` 39 | sudo apt install gnome-screenshot 40 | ``` 41 | 42 | - English is not our main language and there will be many errors, please help us with this too. 43 | -------------------------------------------------------------------------------- /docs/description/img/SKadmin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/description/img/SKadmin.png -------------------------------------------------------------------------------- /docs/description/img/dataflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/description/img/dataflow.png -------------------------------------------------------------------------------- /docs/description/img/setup1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/description/img/setup1.jpg -------------------------------------------------------------------------------- /docs/description/img/setup2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/description/img/setup2.jpg -------------------------------------------------------------------------------- /docs/description/what_is_openplotter.md: -------------------------------------------------------------------------------- 1 | # What is OpenPlotter? 2 | 3 | There are people who buy boats but there are also people who build them, why not build your own electronics too? OpenPlotter is a combination of software and hardware to be used as navigational aid on small and medium boats. It is also a complete on-board home automation system. It is open-source, low-cost, low-consumption and it works on ARM computers like the Raspberry Pi or any computer running a Linux Debian derivative. Its design is modular, so you just have to implement what your boat needs. Do it yourself. 4 | 5 | ![setup1](img/setup1.jpg) 6 | 7 | ![setup2](img/setup2.jpg) 8 | 9 | ## Releases 10 | 11 | * **OpenPlotter 4** 12 | * Code Name: [ShipToGaza](https://shiptogaza.se/) 13 | * Docs: [https://openplotter.readthedocs.io/4.x.x](https://openplotter.readthedocs.io/4.x.x/) 14 | 15 | * **OpenPlotter 3** 16 | * Code Name: [STOPmaremortum](https://stopmaremortum.org/) 17 | * Docs: [https://openplotter.readthedocs.io/3.x.x](https://openplotter.readthedocs.io/3.x.x/) 18 | 19 | * **OpenPlotter 2** 20 | * Code Name: [OpenArms](https://www.openarms.es/en) 21 | * Docs: [https://openplotter.readthedocs.io/2.x.x](https://openplotter.readthedocs.io/2.x.x/) 22 | 23 | ## Licenses 24 | 25 | The code of all OpenPlotter apps is licensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) 26 | 27 | This documentation is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/) 28 | 29 | Icons used in OpenPlotter apps and documentation are from [flaticon.com](https://www.flaticon.com/) 30 | 31 | ## About us 32 | 33 | You will see everywhere the nickname Sailoog. That is me, a guy from Barcelona, Catalonia, who started OpenPlotter as an exercise to learn Python in 2014. After a few years, OpenPlotter has become a very popular project and has helped me make many friends and a few enemies, so as long as this is still this fun, this project will last a long time ;) 34 | 35 | My motivations are scientific and political, but OpenPlotter is free and that means that your motivations to use or collaborate with this project can be whatever you want, even the opposite of mine. OpenPlotter is not my main activity. 36 | 37 | You will also see that I always use the plural when I speak about OpenPlotter. Although it seems that I am always that boring guy behind everything, many people collaborate on this project that always needs more hands and brains. I cannot mention all the people who have gone through this project because I would forget many of them, but I would like to make a special mention of e-sailing who contributed a lot of code. 38 | 39 | OpenPlotter is made up of various pieces of great open source software developed by great teams like OpenCPN, Signal K, Pypilot … We just sew it up with a bit of Python to turn it into a time saving tool for advanced users and a perfect introduction for novice Linux users. Enjoy it! 40 | -------------------------------------------------------------------------------- /docs/getting_started/downloading.md: -------------------------------------------------------------------------------- 1 | # Downloading 2 | 3 | !!! note "Raspberry Pi or desktop/laptop computer?" 4 | 5 | OpenPlotter is optimized to be used on [Raspberry Pi](https://www.raspberrypi.com) computers, but you can also install OpenPlotter on any desktop or laptop computer running Linux Debian or any derivative like Ubuntu, Mint ... Some OpenPlotter apps that are used to manage some sensors connected via GPIO will not be available when installed on desktop and laptop computers. See a list [here](downloading.md#desktop-and-laptop). 6 | 7 | ## Raspberry Pi images 8 | 9 | This is the easiest and fastest way to get started with OpenPlotter. We publish different editions according to the most demanded uses that contain all the required apps installed and preconfigured. We try to provide solutions for everyone from beginners to experts. We even have a fully customizable option that will save you a lot of time. Just plug and sail! 10 | 11 | Our OpenPlotter editions are based on Raspberry Pi OS. You do not need any prior knowledge of Linux to install and use them. Follow the [installing](installing.md) chapter to learn how. 12 | 13 | ### OpenPlotter Starting 14 | 15 | All required apps to fulfill most OpenPlotter marine features. 16 | 17 | - **Download**: [OpenPlotter Starting](https://cloud.openmarine.net/s/TwxS4AJrtTJ485T) 18 | - **Hostname**: openplotter 19 | - **User**: pi 20 | - **Password**: raspberry 21 | - **Language**: en_GB.UTF-8 22 | - **Keymap**: gb 23 | - **Layout**: English (UK) 24 | - **TimeZone**: Europe/London 25 | - **Wi-Fi client**: SSID: none, Password: none, Country: none 26 | - **Wi-Fi AP**: SSID: none, Password: none, IP: none 27 | - **SSH**: Disabled 28 | - **Remote desktop**: Disabled 29 | - **Touchscreen**: Disabled 30 | - **Backlight**: Disabled 31 | - **Installed apps**: Settings - Docs - Signal K installer - OpenCPN installer - Serial - CAN bus - Dashboards - Notifications - Xygrib 32 | 33 | ### OpenPlotter Headless 34 | 35 | Same as *OpenPlotter Starting* but ready to be used remotely without monitor. The Raspberry Pi's internal Wi-Fi device is configured in dual mode, this means that there is a preconfigured access point but it can also connect as a client. 36 | 37 | - **Download**: [OpenPlotter Headless](https://cloud.openmarine.net/s/cMJrfH45aPeamFc) 38 | - **Hostname**: openplotter 39 | - **User**: pi 40 | - **Password**: raspberry 41 | - **Language**: en_GB.UTF-8 42 | - **Keymap**: gb 43 | - **Layout**: English (UK) 44 | - **TimeZone**: Europe/London 45 | - **Wi-Fi client**: SSID: none, Password: none, Country: none 46 | - **Wi-Fi AP**: SSID: openplotter, Password: 12345678, IP: 10.42.0.1 47 | - **SSH**: Enabled 48 | - **Remote desktop**: Enabled 49 | - **Touchscreen**: Disabled 50 | - **Backlight**: Disabled 51 | - **Installed apps**: Settings - Docs - Signal K installer - OpenCPN installer - Serial - CAN bus - Dashboards - Notifications - Xygrib 52 | 53 | ### OpenPlotter Touchscreen 54 | 55 | Same as *OpenPlotter Starting* but ready to be used on DSI touchscreens as the official monitor for Raspberry Pi and its clones. 56 | 57 | - **Download**: [OpenPlotter Touchscreen](https://cloud.openmarine.net/s/3gjyKsrpKRb6ZHe) 58 | - **Hostname**: openplotter 59 | - **User**: pi 60 | - **Password**: raspberry 61 | - **Language**: en_GB.UTF-8 62 | - **Keymap**: gb 63 | - **Layout**: English (UK) 64 | - **TimeZone**: Europe/London 65 | - **Wi-Fi client**: SSID: none, Password: none, Country: none 66 | - **Wi-Fi AP**: SSID: none, Password: none, IP: none 67 | - **SSH**: Disabled 68 | - **Remote desktop**: Disabled 69 | - **Touchscreen**: Enabled 70 | - **Backlight**: Enabled 71 | - **Installed apps**: Settings - Docs - Signal K installer - OpenCPN installer - Serial - CAN bus - Dashboards - Notifications - Xygrib 72 | 73 | ### OpenPlotter À la Carte 74 | 75 | Fill in a form with all the available customization options and in a few minutes you will receive an image built by a robot from scratch and to your liking that will save you a lot of time. Another advantage over the other editions is that all packages that make up the OS, including Openplotter apps, will be updated to the latest versions. 76 | 77 | - **Download**: Coming soon. 78 | - **Hostname**: Customizable 79 | - **User**: Customizable 80 | - **Password**: Customizable 81 | - **Language**: Customizable 82 | - **Keymap**: Customizable 83 | - **Layout**: Customizable 84 | - **TimeZone**: Customizable 85 | - **Wi-Fi client**: SSID: Customizable, Password: Customizable, Country: Customizable 86 | - **Wi-Fi AP**: SSID: Customizable, Password: Customizable, IP: Customizable 87 | - **SSH**: Customizable 88 | - **Remote desktop**: Customizable 89 | - **Touchscreen**: Customizable 90 | - **Backlight**: Customizable 91 | - **Installed apps**: Customizable 92 | 93 | ## Desktop and laptop 94 | 95 | !!! important 96 | Each new version of OpenPlotter should only be installed on the indicated system. **OpenPlotter v4 will work only on Debian 12 Bookworm, Ubuntu 22.04 Jammy or any of their derivatives**. If you try to force an installation of OpenPlotter v4 over OpenPlotter v3 (based on Debian 11 Bullseye), your system will become unstable. 97 | 98 | You can also install OpenPlotter in any desktop or laptop computer running your favourite Debian derivative distribution. Hovewer, if your computer is not a Raspberry Pi, you will not be able to install some OpenPlotter apps: 99 | 100 | - **Common**: Settings - Docs - Signal K installer - OpenCPN installer - Serial - CAN bus - Dashboards - Notifications - IoB - MAIANA AIS Transponder - Xygrib - AvNav installer - SDR VHF 101 | 102 | - **Only Raspberry Pi**: Pypilot - I2C Sensors - GPIO 103 | 104 | You just need basic knowledge of Linux to install OpenPlotter for desktop and laptop. Download this *OpenPlotter Settings* package: [![Latest version of 'openplotter-settings' @ Cloudsmith](https://api-prd.cloudsmith.io/v1/badges/version/openplotter/openplotter/deb/openplotter-settings/latest/a=all;xc=main;d=debian%252Fbookworm;t=binary/?render=true&show_latest=true)](https://cloudsmith.io/~openplotter/repos/openplotter/packages/detail/deb/openplotter-settings/latest/a=all;xc=main;d=debian%252Fbookworm;t=binary/) and follow the [Desktop and laptop](installing.md#desktop-and-laptop) chapter to install OpenPlotter from scratch. 105 | 106 | ## OpenPlotter Expert 107 | 108 | Pi-gen is the tool used to create the official *Raspberry Pi OS* images. We use a fork of pi-gen to create OpenPlotter images. Use the *openplotter64* branch of our repository to create your own OpenPlotter flavor. You need good knowledge of Linux to create your own OpenPlotter distributions. Follow instructions in [README file](https://github.com/openplotter/pi-gen/tree/openplotter64). 109 | -------------------------------------------------------------------------------- /docs/getting_started/first_steps.md: -------------------------------------------------------------------------------- 1 | # First steps 2 | 3 | Unless you are using the **OpenPlotter À la Carte** edition, after the first boot you should customize and localize your system by changing some important settings such as password or system language. You can do this in ```Main -> Preferences -> Raspberry Pi configuration``` 4 | 5 | ![configuration](img/configuration.png) 6 | 7 | !!! danger 8 | The default password for default user ***pi*** is ***raspberry***. You MUST change the password; otherwise, anyone can access your system easily. 9 | 10 | !!! important 11 | All programs are pre-installed assuming the user is ***pi***, if you change this username OpenPlotter will not work correctly. 12 | 13 | !!! note 14 | Go to the [Network](../network/network_app.md) chapter to learn how to connect OpenPlotter to the Internet and how network management has changed since the last version. 15 | 16 | ## Headless 17 | 18 | If you are using the [**OpenPlotter Headless**](downloading.md#openplotter-headless) edition, you should see the SSID of the access point after a few seconds of turning the Raspberry Pi on. The Raspberry Pi's internal Wi-Fi device is configured in dual mode, this means that there is a preconfigured access point but it can also connect as a client. 19 | 20 | These are the access data to connect remotely to OpenPlotter when you use this headless edition: 21 | 22 | | | | 23 | |--------------------|-------------------------------------| 24 | | **Access Point** | SSID: openplotter
Password: 12345678| 25 | | **IP** | IP: 10.42.0.1
Address: openplotter.local| 26 | | **SSH** | Command: ssh pi\@openplotter.local
Password: raspberry| 27 | | **Remote desktop** | Address: openplotter.local
Port: 5900
User: pi
Password: raspberry| 28 | 29 | 30 | !!! danger 31 | You MUST change the default password of the access point as shown in the following images. Otherwise, anyone can access your system easily. 32 | 33 | ![network](img/network.png) 34 | 35 | ![network2](img/network2.png) 36 | 37 | ![network2](img/network3.png) 38 | 39 | !!! note 40 | Using **OpenPlotter À la Carte** edition you will be able to configure all these parameters and more by filling in a form before downloading your custom OpenPlotter. 41 | 42 | 43 | ## Backups 44 | 45 | Once you are satisfied with your final setup, it is highly recommended to make a backup to replace the microSD card in case it gets damaged. This is especially recommended if we have installed a paid nautical chart because if we have to reinstall the system, we will surely lose the license. 46 | 47 | Raspberry Pi OS incorporates an excellent application to make a backup of the entire SD card called *SD Card copier* that you can find in ```Main -> Accessories``` 48 | 49 | ![sdCardCopier](img/sdCardCopier.png) 50 | 51 | You will need to connect an external USB card reader with a new SD card the same size or larger than the internal one. In *Copy From Device* field you should select the internal card (something like */dev/mmcblk0*) and in *Copy To Device* field you should select the external card. The name of the external reader may vary, connect and disconnect the external reader several times to be sure which name appears and disappears. 52 | 53 | !!! important 54 | DO NOT check the option *New Partition UUIDs*. Some programs require the original and the copy to be exactly the same in order to function properly. 55 | 56 | ## Rescue 57 | 58 | OpenPlotter is highly configurable and some parameters may produce unexpected effects such as data loops, unstable or even unusable systems. We have added a rescue mode so you can prevent core processes from starting to give you time to modify settings and recover your system. 59 | 60 | To enable the rescue mode you have to add this line to /boot/firmware/config.txt 61 | 62 | ```console 63 | OPrescue=1 64 | ``` 65 | 66 | If your system becomes unusable because it will not boot or goes into a reboot loop, you can access that file by inserting the microSD card into your computer. If you are using OpenPlotter from an SSD, you must boot the system using the microSD card you used to install OpenPlotter on the SSD and once booted you will have access to the files on the SSD. 67 | 68 | To disable rescue mode, just delete that line. 69 | 70 | ## Using OpenPlotter 71 | 72 | OK now you are ready to start using OpenPlotter but you do not know where to start. Do not worry, this is normal because the customization options are endless and can be a little overwhelming at first, but you will see how everything is designed to always take you to the next step. When you do something wrong, the system will check itself at startup and inform you of what is wrong and the solution. 73 | 74 | Before starting, we recommend that you read at least the ![Settings](../settings/img/openplotter-settings.png) [Settings](../settings/settings_app.md) chapter so that you know which applications contain OpenPlotter and, above all, how to keep them up to date. 75 | 76 | Afterwards, the first logical step to start sailing will be to connect your boat's GPS. This can be done in many ways depending on your installation, but they are all explained in the ![Serial](../serial/img/openplotter-serial.png) [Serial](../serial/serial_app.md) chapter. 77 | 78 | If you get stuck at any step, do not hesitate to consult and ask in [the forum](https://forum.openmarine.net/) because other users have surely been there before. 79 | -------------------------------------------------------------------------------- /docs/getting_started/get_support.md: -------------------------------------------------------------------------------- 1 | # Get support 2 | 3 | Before sending us private messages, please consider using the following support resources because we receive dozens of emails daily that we cannot answer. Our infrastructure is intentionally small, and the more resources we dedicate to supporting you, the less resources we can devote to development. 4 | 5 | ## OpenMarine forum 6 | 7 | If you have problems using OpenPlotter, do not hesitate to ask in the forum because surely someone has already had the same problem: [forum.openmarine.net](https://forum.openmarine.net) 8 | 9 | ## OpenMarine AI 10 | 11 | If you are feeling lazy or do not want to waste hours searching through thousands of forum posts, hundreds of pages of documentation or dozens of videos, let the machines do it for you. It is also a perfect option if you do not speak English as the AI will translate any information into any of the supported languages. 12 | 13 | We have trained a *perplexity AI space* with all the information about OpenMarine projects. Ask it any question as if you were talking to a human and you will be amazed at how effective it is. If you do not get the information you want with your first question, you can continue the conversation and rephrase the question based on the answers: [perplexity.ai/collections/openmarine-ai-support](https://www.perplexity.ai/collections/openmarine-ai-support-SslrWnWdSeuxuzUAkxUVMg) -------------------------------------------------------------------------------- /docs/getting_started/img/configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/configuration.png -------------------------------------------------------------------------------- /docs/getting_started/img/imager1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/imager1.png -------------------------------------------------------------------------------- /docs/getting_started/img/imager2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/imager2.png -------------------------------------------------------------------------------- /docs/getting_started/img/imager3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/imager3.png -------------------------------------------------------------------------------- /docs/getting_started/img/imu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/imu.png -------------------------------------------------------------------------------- /docs/getting_started/img/maiana-ais-base-kit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/maiana-ais-base-kit.png -------------------------------------------------------------------------------- /docs/getting_started/img/network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/network.png -------------------------------------------------------------------------------- /docs/getting_started/img/network2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/network2.png -------------------------------------------------------------------------------- /docs/getting_started/img/network3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/network3.png -------------------------------------------------------------------------------- /docs/getting_started/img/pi-plug-in.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/pi-plug-in.gif -------------------------------------------------------------------------------- /docs/getting_started/img/pypilot-mid-power-motor-controller.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/pypilot-mid-power-motor-controller.jpg -------------------------------------------------------------------------------- /docs/getting_started/img/sdCardCopier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/getting_started/img/sdCardCopier.png -------------------------------------------------------------------------------- /docs/getting_started/installing.md: -------------------------------------------------------------------------------- 1 | # Installing 2 | 3 | ## Raspberry Pi 4 | 5 | You can choose to install OpenPlotter on a microSD card or solid state drive (SSD). The performance of SSD devices is considerably better. 6 | 7 | For both methods you will need a **microSD card**, an **SD card reader device**, and the **Raspberry Pi Imager program** installed on the OS of your choice (Linux, macOS, or Windows). 8 | 9 | The minimum microSD card storage size is 8GB, but 16GB or more is recommended. 10 | 11 | Download and install the [Raspberry Pi Imager](https://www.raspberrypi.org/software/) program for your OS. 12 | 13 | ### MicroSD card 14 | 15 | - Download your preferred OpenPlotter edition from the [Raspberry Pi images](downloading.md#raspberry-pi-images) section in *Downloading* chapter. 16 | 17 | - Put the microSD card into the SD card reader and run *Raspberry Pi Imager* in your computer. 18 | 19 | - Click on ``CHOOSE OS`` and then on ``Use custom``: 20 | 21 | ![imager1](img/imager1.png) 22 | 23 | - Select the file of the OpenPlotter edition you downloaded from us (you do not need to unzip it). 24 | 25 | - Click on ``CHOOSE STORAGE`` and select your microSD card. 26 | 27 | - Click on ``NEXT``. 28 | 29 | - You will be asked if you want to apply custom OS settings and you must say ``NO``. 30 | 31 | ![imager2](img/imager2.png) 32 | 33 | !!! important 34 | All programs are pre-installed assuming the user is ***pi***, if you change this username OpenPlotter will not work correctly. 35 | 36 | - When the writing is finished and you are told you can do it, remove the microSD card from the reader, insert it into the Raspberry Pi and that is it. 37 | 38 | ### SSD 39 | 40 | The easiest way to install OpenPlotter on an SSD is to first boot the Raspberry Pi with the official *Raspberry Pi OS* and download OpenPlotter there, then use the *Raspbery Pi Imager* program that is already installed in *Raspberry Pi OS* and directly burn OpenPlotter to the SSD. 41 | 42 | - Put the microSD card into the SD card reader and run *Raspberry Pi Imager* in your computer. 43 | 44 | - Click on ``CHOOSE OS`` and then on ``Raspberry Pi OS (64-bit)``: 45 | 46 | ![imager3](img/imager3.png) 47 | 48 | - Click on ``CHOOSE STORAGE`` and select your **microSD card**. 49 | 50 | - Click on ``NEXT``. 51 | 52 | - You will be asked if you want to apply custom OS settings and you can do whatever you want; choose ``NO`` if you do not know what to do. 53 | 54 | - When the writing is finished and you are told you can do it, remove the microSD card from the reader, insert it into the Raspberry Pi, and start *Raspberry Pi OS* for the first time. The SSD must be correctly mounted. 55 | 56 | - Open a browser and download your preferred OpenPlotter edition from the [Raspberry Pi images](downloading.md#raspberry-pi-images) section in *Downloading* chapter. 57 | 58 | - Go to ``Main -> Accessories -> Imager`` to run *Raspberry Pi Imager*. 59 | 60 | - Click on ``CHOOSE OS`` and then on ``Use custom``: 61 | 62 | ![imager1](img/imager1.png) 63 | 64 | - Select the file of the OpenPlotter edition you downloaded from us (you do not need to unzip it). 65 | 66 | - Click on ``CHOOSE STORAGE`` and select your **SSD device**. 67 | 68 | - Click on ``NEXT``. 69 | 70 | - You will be asked if you want to apply custom OS settings and this time you must say ``NO``. 71 | 72 | ![imager2](img/imager2.png) 73 | 74 | !!! important 75 | All programs are pre-installed assuming the user is ***pi***, if you change this username OpenPlotter will not work correctly. 76 | 77 | - When the SSD writing is finished, power off the system, remove the SD card from the Raspberry Pi and boot the system. 78 | 79 | - OpenPlotter will start from the SSD and that is it. Keep the microSD card in a safe place because it can be used to reinstall OpenPlotter or to boot the system if OpenPlotter becomes unstable. See [Rescue](first_steps.md#rescue) section. 80 | 81 | 82 | ## Desktop and laptop 83 | 84 | !!! important 85 | Each new version of OpenPlotter should only be installed on the indicated system. **OpenPlotter v4 will work only on Debian 12 Bookworm, Ubuntu 22.04 Jammy or any of their derivatives**. If you try to force an installation of OpenPlotter v4 over OpenPlotter v3 (based on Debian 11 Bullseye), your system will become unstable. 86 | 87 | First of all you have to install some dependencies. Open a terminal and type: 88 | 89 | 90 | ```console 91 | sudo apt update 92 | sudo apt install python3-wxgtk4.0 python3-ujson python3-pyudev vlc matchbox-keyboard 93 | ``` 94 | 95 | Now you have to install the *OpenPlotter Settings* app from the .deb file you will found in [Desktop and laptop](downloading.md#desktop-and-laptop) section in *Downloading* chapter 96 | 97 | After downloading the .deb file, you can install it by double click or typing this in a terminal replacing *x.x.x-stable* by your version: 98 | 99 | ```console 100 | sudo dpkg -i openplotter-settings_x.x.x-stable_all.deb 101 | ``` 102 | 103 | And that's all. Open *OpenPlotter Settings* app typing this in a terminal: 104 | 105 | ```console 106 | openplotter-settings 107 | ``` 108 | 109 | You have to install the rest of OpenPlotter apps from this app. Read the [Settings](../settings/settings_app.md) chapter to learn how. 110 | 111 | Every time OpenPlotter needs to perform an action that requires administrator permission, it will ask for the password. To avoid having to continuously enter your administrator password you can add your user to the *sudoers* list. Do this only if you know what you are doing: 112 | 113 | ```console 114 | sudo visudo 115 | ``` 116 | 117 | Add this line to the end of the document replacing *myuser* by your user name and save: 118 | 119 | ```console 120 | myuser ALL=(ALL) NOPASSWD: ALL 121 | ``` -------------------------------------------------------------------------------- /docs/getting_started/what_do_you_need.md: -------------------------------------------------------------------------------- 1 | # What do you need? 2 | 3 | !!! note "Raspberry Pi or desktop/laptop computer?" 4 | 5 | OpenPlotter is optimized to be used on [Raspberry Pi](https://www.raspberrypi.com) computers, but you can also install OpenPlotter on any desktop or laptop computer running Linux Debian or any derivative like Ubuntu, Mint ... Some OpenPlotter apps that are used to manage some sensors connected via GPIO will not be available when installed on desktop and laptop computers. See a list [here](downloading.md#desktop-and-laptop). 6 | 7 | In the [downloading](downloading.md) and [installing](installing.md) chapters you will learn how to get the software, let's see here what hardware we need. 8 | 9 | ## Basic hardware 10 | 11 | If you want to take full advantage of all the capabilities of OpenPlotter, your choice should be to install it on a Raspberry Pi. 12 | 13 | Although a Raspberry Pi model 3 can run OpenPlotter, we only recommend the **Raspberry Pi model 5 and 4** in any of its RAM configurations or a Raspberry Pi 400 unit. Raspberry Pi Zero, 1 or 2 models are not suitable to run OpenPlotter. 14 | 15 | You will also need a keyboard, a mouse, a power supply, a microSD card and a monitor. Read this helpful guide for details on each item: [https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up). You can ignore the chapter *Set up your SD card* because here we will teach you how to put OpenPlotter on the SD card or a solid state drive (SSD). 16 | 17 | ![pi-plug-in](img/pi-plug-in.gif) 18 | 19 | !!! note "SD card or SSD?" 20 | An SD card simplifies the system but the performance of an SSD is higher. You can try an SD card first and then improve your installation by replacing it with an SSD. With the appearance of the Raspberry Pi 5 it is now very easy to add an SSD and there is even an official device. 21 | 22 | - [shop.pimoroni.com/products/nvme-base](https://shop.pimoroni.com/products/nvme-base) 23 | - [raspberrypi.com/products/m2-hat-plus/](https://www.raspberrypi.com/products/m2-hat-plus/) 24 | 25 | ## Recommended hardware 26 | 27 | This is the hardware that we have verified to work perfectly with OpenPlotter. We have been directly involved in the design or manufacture of some of these pieces of hardware. 28 | 29 | ### Monitors 30 | 31 | OpenPlotter is designed to be used on monitors with a minimum resolution of 800x480 and 7” in size. 32 | 33 | Any HDMI-connected monitor that can handle this resolution, or any higher, will work just fine, but brightness on monitors that are connected via the DSI display port can also be controlled via software. 34 | 35 | !!! warning 36 | We do not recommend touchscreens that require drivers because every time the Linux kernel is updated (almost every month), you will have to reinstall the driver and the manufacturer may stop distributing them over time. 37 | 38 | The monitor that meets all these qualities is the [official monitor for Raspberry Pi](https://www.raspberrypi.com/products/raspberry-pi-touch-display) and its clones. We have a special edition of OpenPlotter for these touchscreens. These monitors typically have a brightness of 250/300 cd/㎡ and that means they need to be installed indoors. For outdoor installations, you need a sun-readable monitor with at least 1000 cd/㎡ and waterproof. 39 | 40 | ### MacArthur HAT 41 | 42 | ![MacArthur-HAT](https://raw.githubusercontent.com/OpenMarine/MacArthur-HAT/main/images/macarthur-diagram.png) 43 | 44 | After a few years of developing software for OpenPlotter, we have identified exactly what we need in terms of hardware to achieve our goals and the result is the **MacArthur HAT** (Hardware Attached on Top), an add-on board for Raspberry Pi running OpenPlotter. With this HAT we want to get the fully open-source boat to free ourselves from dependence on big companies and make our boats more respectful with the environment. 45 | 46 | Its main function is to be able to communicate with any old or new marine electronic device using the proprietary and closed protocols **Seatalk1**, **NMEA 0183** or **NMEA 2000** and the free and open protocol **Signal K**. 47 | 48 | * More info: [MacArthur HAT documentation](https://macarthur-hat-documentation.readthedocs.io/en/latest/) 49 | 50 | ### AIS receivers/transponders 51 | 52 | ![maiana-ais-base-kit](img/maiana-ais-base-kit.png) 53 | 54 | You can connect the AIS receiver/transponder you already have on the boat or you can choose from some open source solutions. We recommend the **dAISy HAT** (receiver) and the **MAIANA AIS transponder** (receiver/transponder). 55 | 56 | * More info: [Connecting the dAISy HAT](../serial/connectingdAISy.md) 57 | 58 | * More info: [MAIANA AIS transponder](../maiana/maiana_app.md) 59 | 60 | ### Autopilot 61 | 62 | ![pypilot-mid-power-motor-controller](img/pypilot-mid-power-motor-controller.jpg) 63 | 64 | Pypilot is an open source autopilot for your boat and is fully integrated into OpenPlotter. 65 | 66 | * More info: [Pypilot](../pypilot/pypilot_app.md) 67 | 68 | ### IMU 69 | 70 | ![imu](img/imu.png) 71 | 72 | Adding an Inertial Measurement Unit (IMU) you can get heading, heel and trim data. OpenPlotter currently supports the following I2C-connected IMU models: 73 | 74 | - **ICM-20948 (recommended)** 75 | - **MPU-9250** 76 | - **MPU-9255** 77 | 78 | - More info: [Configure an IMU](../pypilot/imu.md) 79 | 80 | - More info: [Calibrating the compass](../pypilot/calibration.md) 81 | -------------------------------------------------------------------------------- /docs/gpio/1w.md: -------------------------------------------------------------------------------- 1 | # 1W 2 | 3 | Before starting, make sure to enable the *1-Wire* interface on the Raspberri PI Configuration app. 4 | 5 | ![Interfaces](img/pi-1-wire.png) 6 | 7 | To start using GPIO sensors like 1W 18B20 temperature sensors, you will need to install the OpenPlotter GPIO app. OpenPlotter apps are installed from the OpenPlotter -> Settings application. Click *Refresh* to verify the installed Apps. By default GPIO is not installed so select it and click *Install*. After installation, you will now see the GPIO app in the OpenPlotter menu. 8 | 9 | ![Screen](img/gpio.png) 10 | 11 | When you open the GPIO app, you will now see your 1-Wire sensors listed. You will need to edit them to add the correct Signal-K key name. The names have a specific format and the *Edit* button will assist you with creating the correct key name. 12 | 13 | ![Sensor](img/sensor-edit.png) 14 | 15 | It is important to use a valid key name so that Signal K will utilize the correct unit of measure. 16 | 17 | ![Keys](img/signalk-keys.png) 18 | 19 | After you have added a Signal K key, you should see your sensor listed in the Signal K *Data Browser*. 20 | 21 | ![Browser](img/signalk-data.png) 22 | 23 | -------------------------------------------------------------------------------- /docs/gpio/digital.md: -------------------------------------------------------------------------------- 1 | # Digital -------------------------------------------------------------------------------- /docs/gpio/gpio_app.md: -------------------------------------------------------------------------------- 1 | # GPIO 2 | 3 | -------------------------------------------------------------------------------- /docs/gpio/img/gpio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/gpio/img/gpio.png -------------------------------------------------------------------------------- /docs/gpio/img/pi-1-wire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/gpio/img/pi-1-wire.png -------------------------------------------------------------------------------- /docs/gpio/img/sensor-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/gpio/img/sensor-edit.png -------------------------------------------------------------------------------- /docs/gpio/img/signalk-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/gpio/img/signalk-data.png -------------------------------------------------------------------------------- /docs/gpio/img/signalk-keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/gpio/img/signalk-keys.png -------------------------------------------------------------------------------- /docs/gpio/pulses.md: -------------------------------------------------------------------------------- 1 | # Pulses -------------------------------------------------------------------------------- /docs/gpio/seatalk.md: -------------------------------------------------------------------------------- 1 | # Seatalk1 input -------------------------------------------------------------------------------- /docs/i2c/i2c_app.md: -------------------------------------------------------------------------------- 1 | # I2C 2 | 3 | Coming soon. -------------------------------------------------------------------------------- /docs/img/OPwallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/img/OPwallpaper.png -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | # Welcome to OpenPlotter’s documentation! 2 | 3 | ![logo](img/OPwallpaper.png) 4 | 5 | You can download the full site from here: [OpenPlotter-v4-docs.zip](OpenPlotter-v4-docs.zip) -------------------------------------------------------------------------------- /docs/iob/img/chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/chip.png -------------------------------------------------------------------------------- /docs/iob/img/commands0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/commands0.png -------------------------------------------------------------------------------- /docs/iob/img/commands1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/commands1.png -------------------------------------------------------------------------------- /docs/iob/img/commands2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/commands2.png -------------------------------------------------------------------------------- /docs/iob/img/commands3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/commands3.png -------------------------------------------------------------------------------- /docs/iob/img/commands4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/commands4.png -------------------------------------------------------------------------------- /docs/iob/img/commands5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/commands5.png -------------------------------------------------------------------------------- /docs/iob/img/commands6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/commands6.png -------------------------------------------------------------------------------- /docs/iob/img/custom0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom0.png -------------------------------------------------------------------------------- /docs/iob/img/custom1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom1.png -------------------------------------------------------------------------------- /docs/iob/img/custom2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom2.png -------------------------------------------------------------------------------- /docs/iob/img/custom3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom3.png -------------------------------------------------------------------------------- /docs/iob/img/custom4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom4.png -------------------------------------------------------------------------------- /docs/iob/img/custom5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom5.png -------------------------------------------------------------------------------- /docs/iob/img/custom6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom6.png -------------------------------------------------------------------------------- /docs/iob/img/custom7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/custom7.png -------------------------------------------------------------------------------- /docs/iob/img/digital.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/digital.png -------------------------------------------------------------------------------- /docs/iob/img/gpio18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/gpio18.png -------------------------------------------------------------------------------- /docs/iob/img/gpio181.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/gpio181.png -------------------------------------------------------------------------------- /docs/iob/img/gpio182.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/gpio182.png -------------------------------------------------------------------------------- /docs/iob/img/gpio183.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/gpio183.png -------------------------------------------------------------------------------- /docs/iob/img/gpio184.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/gpio184.png -------------------------------------------------------------------------------- /docs/iob/img/gpio185.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/gpio185.png -------------------------------------------------------------------------------- /docs/iob/img/gpio186.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/gpio186.png -------------------------------------------------------------------------------- /docs/iob/img/iob0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/iob0.png -------------------------------------------------------------------------------- /docs/iob/img/iob1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/iob1.png -------------------------------------------------------------------------------- /docs/iob/img/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/login.png -------------------------------------------------------------------------------- /docs/iob/img/lora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/lora.png -------------------------------------------------------------------------------- /docs/iob/img/mqtt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/mqtt.png -------------------------------------------------------------------------------- /docs/iob/img/mqttpanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/mqttpanel.png -------------------------------------------------------------------------------- /docs/iob/img/notifications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/notifications.png -------------------------------------------------------------------------------- /docs/iob/img/openplotter-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/openplotter-24.png -------------------------------------------------------------------------------- /docs/iob/img/openplotter-iob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/openplotter-iob.png -------------------------------------------------------------------------------- /docs/iob/img/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/sk.png -------------------------------------------------------------------------------- /docs/iob/img/telegram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/telegram.png -------------------------------------------------------------------------------- /docs/iob/img/template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/template.png -------------------------------------------------------------------------------- /docs/iob/img/template1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/template1.png -------------------------------------------------------------------------------- /docs/iob/img/template2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/template2.png -------------------------------------------------------------------------------- /docs/iob/img/template3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/template3.png -------------------------------------------------------------------------------- /docs/iob/img/template4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/template4.png -------------------------------------------------------------------------------- /docs/iob/img/template5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/template5.png -------------------------------------------------------------------------------- /docs/iob/img/xxxx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/iob/img/xxxx.png -------------------------------------------------------------------------------- /docs/iob/iob_app.md: -------------------------------------------------------------------------------- 1 | # Internet Of Boats 2 | 3 | Install this app from the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and open it by clicking ![IoB](img/openplotter-iob.png) `IoB` under `Main -> OpenPlotter` or typing this in a terminal: 4 | 5 | ```console 6 | openplotter-iob 7 | ``` 8 | 9 | ![Serial0](img/iob0.png) 10 | 11 | ![Help](../settings/img/help.png) ``Help`` opens an offline copy of this documentation in a browser and ![Settings](../settings/img/openplotter-settings.png) ``Settings`` opens the main app. 12 | 13 | Unfortunately we cannot always be close to our boats and being able to receive and send information to them can be crucial for their safety. Below are some situations where communicating with your boat might be helpful: 14 | 15 | - Receive live weather information and assess whether your boat is ready for it. 16 | - Check for water in the bilge and activate the pump remotely. 17 | - Are the batteries charged? 18 | - How are the water and fuel tanks? 19 | - Is it connected to shore power? 20 | - A door or window has been opened! 21 | - Is the beer cold yet? 22 | - ... 23 | 24 | There are many commercial solutions for this today, but they are not cheap equipment and you will also have to pay for an Internet connection, intermediate servers or a monthly fee for the service. Furthermore, since most of them are closed and proprietary systems, we never know what data is sent or what is done with it. 25 | 26 | OpenMarine offers you a free and open infrastructure 24/7 having control of the entire process and using very inexpensive equipment. You will only need an internet connection from the marina's WiFi or mobile devices and in the case of LoRaWAN you do not even need internet. 27 | 28 | This infrastructure is funded and maintained by OpenMarine with profits from the store and donations. To keep power consumption and costs to a minimum, it is designed as an on-demand information exchange and is not designed to support data stream. Every time you want information, you must ask your boat for it. Your boat will also alert you on its own when certain predefined alarms are triggered. 29 | 30 | This way, thousands of users will be able to use the service for free, but it would be easily scalable to support more users or data stream if demand grew too much. In the following chapters we explain how to use the tools included in OpenPlotter to communicate with your boat remotely using OpenMarine's **Internet Of Boats** infrastructure: 31 | 32 | - ![MQTT](img/mqtt.png) **MQTT**. Using this popular communication protocol, you can exchange data with your boat from any of the many mobile and desktop applications that support it. 33 |

34 | 35 | - ![Telegram](img/telegram.png) **Telegram**. With this tool you can create your own Telegram bot to chat with your boat without any programming knowledge. If you have a Telegram group for your crew, you can also add the bot so everyone can chat with it. 36 |

37 | 38 | - ![LoRaWAN](img/lora.png) **LoRaWAN**. The previous two options require your boat to be connected to internet, but this option does not. It uses the same network that IoT devices use and is extremely cost effective. Sending a message using the global Helium network costs $0.00000036 and has wide [coverage](https://world.helium.com/en/iot/coverage) but you can also build your own LoRaWAN hotspot and send data for free. Thanks to this technology, data can be sent even when sailing far from the coast. In open fields or over water, LoRaWAN devices have achieved ranges of 30 km (18.6 miles) or more. -------------------------------------------------------------------------------- /docs/iob/lorawan.md: -------------------------------------------------------------------------------- 1 | # LoRaWAN 2 | 3 | Coming soon. -------------------------------------------------------------------------------- /docs/iob/telegram.md: -------------------------------------------------------------------------------- 1 | # Telegram 2 | 3 | Coming soon. -------------------------------------------------------------------------------- /docs/maiana/configuring.md: -------------------------------------------------------------------------------- 1 | # Configuring OpenPlotter 2 | 3 | You can configure OpenPlotter to get AIS and GNSS data from a MAIANA transponder with just a few clicks. You will also learn how to enable transmission, configure the device, and update the firmware. 4 | 5 | ## Getting AIS and GNSS data 6 | 7 | MAIANA is ready to rceive and send AIS and GNSS data out of the box, just power on the device and connect by USB or UART to OpenPlotter. We want to send MAIANA data to the Signal K server so that any program like OpenCPN can access AIS and GNSS data. We will do it easily using the ![Serial](img/usb.png) *Serial* app. 8 | 9 | !!! note 10 | If connected via USB, skip the UART steps. 11 | 12 | If you are connected by UART, first of all you need to enable the UART interface of your Raspberry Pi. Click ![UART](img/uart.png) ``UART0`` and then click ``Yes``. Remember that enabling the UART0 interface will disable Bluetooth if you are in Raspberry Pi 3 or 4. You can use any of the UART interfaces that you have [available on your Raspberry Pi](../serial/serial_app.md#uart) by connecting to the appropriate pins. 13 | 14 | ![uart0](img/uart0.png) 15 | 16 | Acknowledge the warning, and reboot the Raspberry Pi: 17 | 18 | ![uart1](img/uart1.png) 19 | *Raspberry Pi model 3 and 4* 20 | 21 | ![uart2](img/uart2.png) 22 | *Raspberry Pi model 5* 23 | 24 | After enabling UART or just plugging in the USB and clicking ![refresh](img/refresh.png) ``Refresh``, you will see a new device listed. Select this new device and provide a short name for the *alias* and select `NMEA 0183` under *data*. If it is connected by USB check *Remember device* and if it is connected by UART check *Remember port*. Click ![apply](img/apply.png) ``Apply`` when done. 25 | 26 | ![maiana2](img/maiana2.png) 27 | 28 | Go to the ![connections](img/connections.png) *Connections* tab and select the new device you just created. Click ![sk](img/sk.png) ``Add to Signal K`` and then click ``AUTO``. A connection will be created on the Signal K server for your device. 29 | 30 | ![maiana3](img/maiana3.png) 31 | 32 | ![maiana4](img/maiana4.png) 33 | 34 | Make sure there is an OpenCPN enabled [connection to the Signal K server](../opencpn/skconnection.md) and your are done. 35 | 36 | ![opencpnAIS](../opencpn/img/opencpnAIS.jpg) 37 | 38 | ## Connecting to MAIANA 39 | 40 | Using the ![maiana](img/maiana.png) *MAIANA AIS transponder* app you can manage all the settings of your device. Open the ![Settings](../settings/img/openplotter-settings.png) *Settings* app, select this app and click ![install](img/install.png) `Install`. 41 | 42 | ![maiana5](img/maiana5.png) 43 | 44 | Open the ![maiana](img/maiana.png)*MAIANA AIS transponder* app and select the connection we previously configured with the ![usb](img/usb.png) *Serial* app by clicking on the ``MAIANA Signal K connection`` field: 45 | 46 | ![maiana6](img/maiana6.png) 47 | 48 | And that's it. All connections have been made and you will be able to communicate with MAIANA every time you open the ![maiana](img/maiana.png) *MAIANA AIS transponder* app and the device is turned on. If you can not get a connection the first time, try again by clicking ![refresh](img/refresh.png) ``Refresh``. 49 | 50 | ![maiana7](img/maiana7.png) 51 | 52 | ## Enabling transmission 53 | 54 | If we want to enable transmission, we must provide the station data. Complete the form using this syntax for each field: 55 | 56 | - ***MMSI***: you should have one for your boat already. 57 | - ***Vessel name***: up to 20 alphanumeric characters, no punctuation. Use all caps. 58 | - ***Call sign***: may be empty if you do not have one. 59 | - ***Vessel type***: this is the numeric type of the vessel, see below. 60 | - ***LOA***: length in meters (integer only). 61 | - ***Beam***: width in meters (integer only). 62 | - ***Port Offset***: meters from the port side where the unit is located. 63 | - ***Bow Offset***: meters from the bow where the unit is located. 64 | 65 | For vessel type, here are some numeric values that apply to class B transponders: 66 | 67 | - 30 - Fishing 68 | - 34 - Diving 69 | - 36 - Sailing 70 | - 37 - Pleasure craft 71 | 72 | Click ![apply](img/apply.png) ``Save station data`` when you are done: 73 | 74 | ![maiana8](img/maiana8.png) 75 | 76 | You will see that the value of *Station data* has changed to *provided* in green: 77 | 78 | ![maiana9](img/maiana9.png) 79 | 80 | There are 2 switches to turn on/off transmission: 81 | 82 | - **Hardware**: There is a physical switch on all the adapters. The breakout board also has a pin for this. This switch has priority over the Software switch. 83 | 84 | - **Software**: You will find a button *Software TX switch* in ![maiana](img/maiana.png) *MAIANA AIS transponder* app. 85 | 86 | This is the relation between the two states of these switches: 87 | 88 | 89 | | Hardware | Software | TX | 90 | |----------|----------|-----| 91 | | ON | ON | ON | 92 | | ON | OFF | OFF | 93 | | OFF | X | OFF | 94 | 95 | Turn on your hardware switch, click ![refresh](img/refresh.png) ``Refresh`` and you will see that the value of *Hardware TX switch* has changed to *ON* in green: 96 | 97 | ![maiana10](img/maiana10.png) 98 | 99 | Now click ![switch-on](img/switch-on.png) ``Software TX switch`` and you will see that the value of *Software TX switch* has changed to *ON* in green and the value of *Status* has changed to *transmitting* in green: 100 | 101 | ![maiana11](img/maiana11.png) 102 | 103 | Congratulations, you are already transmitting! 104 | 105 | ## Notifications actions 106 | 107 | If you have the ![notifications](img/notifications.png) *Notifications* app installed, you will see two new actions added to the list to automatically turn the software TX switch on and off upon receiving a specific notification: 108 | 109 | ![noti1](img/noti1.png) 110 | 111 | ![noti2](img/noti2.png) 112 | 113 | ## Detecting EMI 114 | 115 | MAIANA constantly checks for noise floor on both channels to detect any electromagnetic interference (EMI) near your device. If you enable ![notifications](img/notifications.png) ``Detect noise`` and the noise level is higher than 64, an alert notification will be sent to the Signal K server. 116 | 117 | ![maiana12](img/maiana12.png) 118 | 119 | If you have the ![notifications](img/notifications.png)*Notifications* app installed, you will see an alert window like this one: 120 | 121 | ![maiana12a](img/maiana12a.png) 122 | 123 | ## Updating firmware 124 | 125 | You will receive your MAIANA base kit with the latest stable firmware installed. Go to the ![install](img/install.png) *Firmware* tab and click ![refresh](img/refresh.png) ``Refresh`` to see the version of your device: 126 | 127 | ![maiana13](img/maiana13.png) 128 | 129 | Click ![update](img/update.png) ``Download Firmware`` to find the bin file that corresponds to your MCU and hardware revision from the project page: 130 | 131 | ![maiana14](img/maiana14.png) 132 | 133 | Ignore the last digit of your hardware revision -- it does not matter. So if you have board 11.3.0 with an STM32L422 processor, the right binary is maiana-stm32l422-hw11.3-fwXXX.bin where XXX is the latest revision you see here. If you already have this firmware on your board, there is no update: 134 | 135 | ![maiana14a](img/maiana14a.png) 136 | 137 | Once the correct file is downloaded click ![file](img/file.png)``Update firmware`` to start the firmware update process: 138 | 139 | ![maiana15](img/maiana15.png) 140 | 141 | Select the file, click ``Open`` and finally ``Yes``: 142 | 143 | ![maiana15a](img/maiana15a.png) 144 | 145 | ![maiana15b](img/maiana15b.png) 146 | 147 | The system will stop the Signal K server to make sure it can take control of the device and load the new firmware. When done, both the Signal K server and the device will reboot: 148 | 149 | ![maiana16](img/maiana16.png) 150 | -------------------------------------------------------------------------------- /docs/maiana/connecting.md: -------------------------------------------------------------------------------- 1 | # Connecting the base kit 2 | 3 | ![fullsystem](img/fullsystem.png) 4 | 5 | 1. MAIANA base kit. 6 | 2. Cat5 cable (ethernet cable with RJ45 connectors). Not included with the MAIANA base kit. 7 | 3. Breakout board. Included with the MAIANA base kit. 8 | 4. USB + UART adapter. Not included with the MAIANA base kit. 9 | 5. USB + RS422 Adapter. Not included with the MAIANA base kit. 10 | 6. USB + CAN Adapter. Not included with the MAIANA base kit. 11 | 7. MacArthur HAT. Not included with the MAIANA base kit. 12 | 13 | After the MAIANA base kit assembly process, you need to connect it to your boat via the Cat5 ethernet cable to power it, to get AIS/GNSS data and to configure the device. You have 5 options: the Breakout board, the USB+UART, USB+RS422 and USB+CAN adapters or the MacArthur HAT. 14 | 15 | 16 | ## Breakout board 17 | 18 | This board is included with the base kit and it is designed so that you can incorporate MAIANA into your projects. Both USB and UART connections are used to get AIS/GNSS data, configure the device or update the firmware. 19 | 20 | ![usb-uart-adapter](img/usb-uart-adapter.png) 21 | 22 | If you want a power and/or TX switch, you can use simple rocker switches. A 1A-rated SPST can simply interrupt the main 12V supply. 23 | 24 | If you want a hardware switch for *silent mode*, you need to remember that transmission is disabled if the TX_OFF signal is driven to a logic *high* (above 2V), so wire it as shown in the picture. 25 | 26 | The LED signals are open drain outputs. Rather than supplying a voltage, they pull the cathode of the 27 | LED to GND via a built-in 100 Ohm resistor. The voltage you apply to the anode is flexible (up to 30V tolerated), but the breakout supplies 3.3V so take advantage! That said, some LEDs may still draw too much current and will need an extra resistor added in series. You can wire that on either the anode or the cathode side. 28 | 29 | ## USB + UART adapter 30 | 31 | Both USB and UART connections are used to get AIS/GNSS data, configure the device or update the firmware. This adapter has the same functions as the included *breakout board* but incorporates status LEDs, switches and is soldered and assembled. 32 | 33 | ![usb-adapter.](img/usb-adapter.png) 34 | 35 | ## USB + RS422 Adapter 36 | 37 | USB connection is used to get AIS/GNSS data, configure the device or update the firmware. RS422 connection is used only to send AIS/GNSS data to the NMEA 0183 network of your boat. This adapter incorporates status LEDs, switches and is soldered and assembled. 38 | 39 | ![usb-rs422-adapter](img/usb-rs422-adapter.png) 40 | 41 | ## USB + CAN Adapter 42 | 43 | USB connection is used to get AIS/GNSS data, configure the device or update the firmware. CAN connection is used only to send AIS/GNSS data to the NMEA 2000 network of your boat and power the device. This adapter incorporates status LEDs, switches and is soldered and assembled. 44 | 45 | ![usb-can-adapter](img/usb-can-adapter.png) 46 | 47 | ## MacArthur HAT 48 | 49 | This HAT has the same features as all MAIANA AIS adapters together. You can receive AIS and GNSS data and configure the MAIANA transponder in OpenPlotter through the UART0 interface. You can also send NMEA 50 | 0183, NMEA 2000 or Signal K data to any device on your boat. 51 | 52 | ![macarthur](img/macarthur.png) 53 | 54 | Read the "MAIANA AIS" chapter of the [MacArthur HAT manual](https://macarthur-hat-documentation.readthedocs.io/en/latest/maiana.html) to see all connection options. -------------------------------------------------------------------------------- /docs/maiana/img/apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/apply.png -------------------------------------------------------------------------------- /docs/maiana/img/assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/assembly.png -------------------------------------------------------------------------------- /docs/maiana/img/connections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/connections.png -------------------------------------------------------------------------------- /docs/maiana/img/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/file.png -------------------------------------------------------------------------------- /docs/maiana/img/fullsystem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/fullsystem.png -------------------------------------------------------------------------------- /docs/maiana/img/install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/install.png -------------------------------------------------------------------------------- /docs/maiana/img/items.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/items.png -------------------------------------------------------------------------------- /docs/maiana/img/macarthur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/macarthur.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana1.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana10.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana11.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana12.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana12a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana12a.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana13.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana14.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana14a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana14a.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana15.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana15a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana15a.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana15b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana15b.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana16.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana2.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana3.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana4.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana5.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana6.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana7.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana8.png -------------------------------------------------------------------------------- /docs/maiana/img/maiana9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/maiana9.png -------------------------------------------------------------------------------- /docs/maiana/img/noti1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/noti1.png -------------------------------------------------------------------------------- /docs/maiana/img/noti2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/noti2.png -------------------------------------------------------------------------------- /docs/maiana/img/notifications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/notifications.png -------------------------------------------------------------------------------- /docs/maiana/img/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/refresh.png -------------------------------------------------------------------------------- /docs/maiana/img/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/sk.png -------------------------------------------------------------------------------- /docs/maiana/img/switch-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/switch-on.png -------------------------------------------------------------------------------- /docs/maiana/img/uart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/uart.png -------------------------------------------------------------------------------- /docs/maiana/img/uart0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/uart0.png -------------------------------------------------------------------------------- /docs/maiana/img/uart1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/uart1.png -------------------------------------------------------------------------------- /docs/maiana/img/uart2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/uart2.png -------------------------------------------------------------------------------- /docs/maiana/img/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/update.png -------------------------------------------------------------------------------- /docs/maiana/img/usb-adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/usb-adapter.png -------------------------------------------------------------------------------- /docs/maiana/img/usb-can-adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/usb-can-adapter.png -------------------------------------------------------------------------------- /docs/maiana/img/usb-rs422-adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/usb-rs422-adapter.png -------------------------------------------------------------------------------- /docs/maiana/img/usb-uart-adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/usb-uart-adapter.png -------------------------------------------------------------------------------- /docs/maiana/img/usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/maiana/img/usb.png -------------------------------------------------------------------------------- /docs/maiana/maiana_app.md: -------------------------------------------------------------------------------- 1 | # MAIANA AIS Transponder 2 | 3 | ![maiana1](img/maiana1.png) 4 | 5 | MAIANA™ is the first Open Source AIS transponder. 6 | 7 | The main difference between MAIANA and all commercial AIS devices is that it is a self-contained unit, all AIS and GNSS circuits are located in the antenna housing. MAIANA receives GNSS and AIS data on both channels and can be enabled as a class B transponder. The transponder outputs just over 2 Watts (+33dBm). It has a verified range of over 20 nautical miles on a masthead and 10+ miles on a pushpit. 8 | 9 | !!! note 10 | This product is available in the [OpenMarine Shop](http://shop.openmarine.net/). 11 | On the [official page](https://github.com/peterantypas/maiana) you will find the full specification and a better option for US/Canada users to get a kit. 12 | 13 | 14 | **Disclaimer** 15 | 16 | MAIANA™ devices are not finished products, they need to be assembled by end users to function. MAIANA™ devices are distributed for research and development purposes. MAIANA™ devices are delivered with the ability to transmit disabled by default and have not been tested for compliance with regulations governing transmission of radio signals. End users are legally responsible for using the MAIANA™ device for transmission. We do not recommend to rely solely on MAIANA™ devices for navigation and collision avoidance. 17 | 18 | **Assembly** 19 | 20 | ![items](img/items.png) 21 | 22 | 1. The vinyl end cap for the antenna tube. 23 | 2. 48” of ⅜” 2:1 heat shrink tube, folded. 24 | 3. The antenna tube (two telescopic sections). 25 | 4. 6” of ¾” 4:1 heat shrink tube, black (enough for 2 builds). 26 | 5. 12” of 1.5” wide heat shrink tubing, black (enough for 2 builds). 27 | 6. The main case (high-UV resistance PVC). 28 | 7. The antenna core (coiled and stripped coax with SMA male on one end). 29 | 8. The main PCBA (in ESD envelope). 30 | 9. The unsoldered breakout board (in ESD envelope). 31 | 32 | ![assembly](img/assembly.png) 33 | 34 | Easy assembly. To complete the installation you will need: 35 | 36 | - A pair of strong scissors for cutting (thick) heat shrink tubing. 37 | - A heat gun for the heat shrink tubing. You will need this both on your workbench for the initial assembly, as well as on your boat for the final installation. Alternatives: [How to Use Heat Shrink Tubing Without a Hot Air Gun](https://clevercreations.org/heat-shrink-tubing-without-heat-gun/). Beware of anything that projects a flame, as it can easily melt the PVC enclosure! 38 | - 1” OD steel railing or a similar diameter fiberglass mast on your boat. This is the preferred way to mount the unit. You may, of course, use your own mechanism, but then you are responsible for sealing the (bottom) cable end from moisture. 39 | - A Cat5 cable for connecting the main unit to the breakout board in the cabin. This should be a regular *patch* cable and not a *crossover* cable. Pick one with appropriate length and flexibility to suit your installation. The exact configuration of the cable (568A or 568B) is not important. 40 | - Some kind of instant glue to secure the end cap of the antenna tube. 41 | - If you are using the included breakout board you will need a soldering iron for the RJ45 connector and “breakaway” pin headers. All other optional adapters are mounted and soldered. 42 | 43 | !!! note 44 | Download the [official assembly manuals](https://github.com/peterantypas/maiana/tree/master/latest/Manuals). -------------------------------------------------------------------------------- /docs/moitessier/moitessier_app.md: -------------------------------------------------------------------------------- 1 | # Moitessier HAT 2 2 | 3 | Coming soon. 4 | 5 | In the meantime you can consult previous versions of [this chapter for older versions of OpenPlotter](https://openplotter.readthedocs.io/3.x.x/moitessier/moitessier_app.html) keeping in mind that there are things that have changed. -------------------------------------------------------------------------------- /docs/network/img/network1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/network/img/network1.png -------------------------------------------------------------------------------- /docs/network/img/network2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/network/img/network2.png -------------------------------------------------------------------------------- /docs/network/img/wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/network/img/wifi.png -------------------------------------------------------------------------------- /docs/network/network_app.md: -------------------------------------------------------------------------------- 1 | # Network 2 | 3 | We have kept this chapter for historical reasons. The *OpenPlotter Network* application present in earlier versions of OpenPlotter has been removed since *Raspberry Pi OS* added the *Network Manager* program and now almost all *OpenPlotter Network* functions can be done there. Some other functions have been moved to the ![Settings](../settings/img/openplotter-settings.png) *Settings* app. 4 | 5 | Now, to turn the Raspberry Pi internal WiFi device into an access point and a client simultaneously, you need to go to the `Raspberry Settings` tab of the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and click on ![Hotspot+Client](../settings/img/ap.png) `Hotspot+Client`. 6 | 7 | ![Hotspot+Client](img/network1.png) 8 | 9 | To find out what IPs, addresses and ports the OpenPlotter apps use, click on ![Network](../settings/img/ports.png) `Network`. 10 | 11 | ![network](img/network2.png) 12 | 13 | The rest of the operations such as connecting as clients to access points, creating dedicated access points, connecting to VPN... are now carried out with the *Network Manager* program and are accessed by clicking on the icon ![WiFi](img/wifi.png) 14 | 15 | ![network](../getting_started/img/network.png) -------------------------------------------------------------------------------- /docs/notifications/examples_actions.md: -------------------------------------------------------------------------------- 1 | # Examples of actions 2 | 3 | ## ![](img/op.png) Engage pypilot using a GPIO button 4 | 5 | You can use a momentary switch and connect it as shown in the image below: 6 | 7 | ![actions-pypilot-1](img/actions-pypilot-1.png) 8 | 9 | For this example it is necessary to have the ![](img/autopilot.png) Pypilot, ![](img/gpio.png) *GPIO* and ![](img/notifications.png) *Notifications* apps installed and updated to their latest versions. 10 | 11 | Once the switch is wired, open the ![](img/gpio.png) *GPIO* app and in the ![](img/digital.png) `Digital` tab click on ![](img/gpio.png) `Add input`. 12 | 13 | ![actions-pypilot-2](img/actions-pypilot-2.png) 14 | 15 | In the next window, fill in the fields as shown in the image below. Make sure that the *Send initial state* option is not checked, as we do not want the autopilot to engage when turning on the system in case the switch has been accidentally closed. We do not need to set up any visual method for the notification, but perhaps it would be nice to have an audio: 16 | 17 | ![actions-pypilot-3](img/actions-pypilot-3.png) 18 | 19 | Finally open the ![](img/notifications.png) *Notifications* app and in the ![](img/op.png) Actions tab click ![](img/add.png) Add: 20 | 21 | ![actions-pypilot-4](img/actions-pypilot-4.png) 22 | 23 | In the next window fill in the fields as shown in the image below, press `OK` and you are done! 24 | 25 | ![actions-pypilot-5](img/actions-pypilot-5.png) 26 | 27 | ![actions-pypilot-6](img/actions-pypilot-6.png) 28 | 29 | By pressing the momentary switch you will be able to verify that the autopilot is engaged in the pypilot *Web interface* because the AP icon moves to the right and turns green as shown in the image below: 30 | 31 | ![Web Interface](../pypilot/img/soft-web.png) 32 | 33 | To disengage the autopilot, you can use another momentary switch and repeat the process, but this time using another GPIO, for example GPIO8, and selecting `Pypilot: disengage AP` in the *Actions* field instead of `Pypilot: engage AP`. 34 | 35 | 36 | You can also use a two-state switch (on/off) and use only one GPIO, but it could be confusing if when you turn off the system the switch is on and when you turn on the system the autopilot is not engaged. Enabling *Send initial state* would cause the autopilot to engage in this case, but could create dangerous situations. -------------------------------------------------------------------------------- /docs/notifications/img/actions-pypilot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/actions-pypilot-1.png -------------------------------------------------------------------------------- /docs/notifications/img/actions-pypilot-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/actions-pypilot-2.png -------------------------------------------------------------------------------- /docs/notifications/img/actions-pypilot-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/actions-pypilot-3.png -------------------------------------------------------------------------------- /docs/notifications/img/actions-pypilot-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/actions-pypilot-4.png -------------------------------------------------------------------------------- /docs/notifications/img/actions-pypilot-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/actions-pypilot-5.png -------------------------------------------------------------------------------- /docs/notifications/img/actions-pypilot-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/actions-pypilot-6.png -------------------------------------------------------------------------------- /docs/notifications/img/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/add.png -------------------------------------------------------------------------------- /docs/notifications/img/autopilot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/autopilot.png -------------------------------------------------------------------------------- /docs/notifications/img/digital.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/digital.png -------------------------------------------------------------------------------- /docs/notifications/img/gpio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/gpio.png -------------------------------------------------------------------------------- /docs/notifications/img/notifications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/notifications.png -------------------------------------------------------------------------------- /docs/notifications/img/op.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/notifications/img/op.png -------------------------------------------------------------------------------- /docs/notifications/notifications_app.md: -------------------------------------------------------------------------------- 1 | # Notifications 2 | 3 | Coming soon. -------------------------------------------------------------------------------- /docs/opencpn/img/autostart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/autostart.png -------------------------------------------------------------------------------- /docs/opencpn/img/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/check.png -------------------------------------------------------------------------------- /docs/opencpn/img/debian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/debian.png -------------------------------------------------------------------------------- /docs/opencpn/img/flatpak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/flatpak.png -------------------------------------------------------------------------------- /docs/opencpn/img/fullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/fullscreen.png -------------------------------------------------------------------------------- /docs/opencpn/img/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/open.png -------------------------------------------------------------------------------- /docs/opencpn/img/opencpn-installer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/opencpn-installer.png -------------------------------------------------------------------------------- /docs/opencpn/img/opencpn1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/opencpn1.png -------------------------------------------------------------------------------- /docs/opencpn/img/opencpn2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/opencpn2.png -------------------------------------------------------------------------------- /docs/opencpn/img/opencpn24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/opencpn24.png -------------------------------------------------------------------------------- /docs/opencpn/img/opencpn3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/opencpn3.png -------------------------------------------------------------------------------- /docs/opencpn/img/opencpn4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/opencpn4.png -------------------------------------------------------------------------------- /docs/opencpn/img/opencpnAIS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/opencpnAIS.jpg -------------------------------------------------------------------------------- /docs/opencpn/img/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/sk.png -------------------------------------------------------------------------------- /docs/opencpn/img/skconnection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/skconnection.png -------------------------------------------------------------------------------- /docs/opencpn/img/uninstall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/opencpn/img/uninstall.png -------------------------------------------------------------------------------- /docs/opencpn/opencpn_app.md: -------------------------------------------------------------------------------- 1 | # OpenCPN Installer 2 | 3 | Install this app from the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and open it by clicking ![OpenCPN Installer](img/opencpn-installer.png) `OpenCPN Installer` under `Main -> OpenPlotter` or typing this in a terminal: 4 | 5 | ```console 6 | openplotter-opencpn-installer 7 | ``` 8 | 9 | ![OpenCPN1](img/opencpn1.png) 10 | 11 | ![Help](../settings/img/help.png) ``Help`` opens an offline copy of this documentation in a browser and ![Settings](../settings/img/openplotter-settings.png) ``Settings`` opens the main app. 12 | 13 | OpenCPN can be installed on multiple Debian derivatives (Raspberry OS, Ubuntu, Mint...) and these OS can be installed on multiple architectures (i386, armhf, arm64, amd64...). We have added all the ways to install OpenCPN to ![OpenCPN Installer](img/opencpn-installer.png) *OpenCPN Installer* app so you can choose the one that best suits your system. 14 | 15 | ## ![](img/check.png) Check Versions 16 | 17 | When you open the app, all buttons are disabled. You have to check the current versions present in all the installed sources. This could take even a minute the first time. 18 | 19 | A list will be displayed with the different versions of all the available sources and some recommendations: 20 | 21 | ![OpenCPN2](img/opencpn2.png) 22 | 23 | You can install OpenCPN in two different ways, from the **Debian/Ubuntu** repositories or from **Flatpak**. You can use both ways and install two instances of OpenCPN that can be used simultaneously on the same machine without problems. 24 | 25 | In Flatpak there is only one source and therefore only one version but in Debian/Ubuntu there are several sources and several versions available: 26 | 27 | - **Debian/Ubuntu**: This is the official Debian/Ubuntu repository. There is an OpenCPN package, but it will probably always be old. 28 | 29 | - **Ubuntu PPA**: This is an special repository to be added in Ubuntu but it will also work in Debian and Raspberry OS. Packages in this repository are always up to date and are fully compatible with packages in the official Debian/Ubuntu repositories above. 30 | 31 | - **Debian/Ubuntu Backports**: The official backports repositories are used to install packages that exist in higher versions of the system that have not yet been updated in the current system version. 32 | 33 | ## Which source to choose? 34 | 35 | After checking the versions, the buttons on the ![Install](img/opencpn24.png)``Install`` tab will be enabled: 36 | 37 | ![OpenCPN3](img/opencpn3.png) 38 | 39 | - ![](img/debian.png) **Debian/Ubuntu - Ubuntu PPA**: This option will install the highest version found in the official *Debian/Ubuntu* repository or the *Ubuntu PPA* repository. 40 | 41 | - ![](img/debian.png) **Debian/Ubuntu Backports**: This option will install the latest version in the official *Debian/Ubuntu Backports* repository. 42 | 43 | - ![](img/flatpak.png) **Flatpak**: This option will install the latest version in the *Flatpak* repository. This option runs OpenCPN in a kind of container independent of the host system and for this reason the time and size of the download will be larger. 44 | 45 | !!! note 46 | As a general rule, you should always choose the highest version, regardless of the source, unless you need to use an OpenCPN plugin that is not included or does not work in higher versions. 47 | 48 | 49 | If the sources *Debian/Ubuntu - Ubuntu PPA* and *Debian/Ubuntu Backports* contain the same version, choose *Debian/Ubuntu Backports*. 50 | 51 | 52 | The Debian/Ubuntu repositories only release OpenCPN packages for LTS (Long-Term Support) versions of your operating system. If you use a development version of Debian or Ubuntu you should use OpenCPN Flatpak. 53 | 54 | 55 | At the time of writing this manual, OpenCPN Flatpak may not work well in headless and touchscreen environments. 56 | 57 | Sometimes when we install a new version, some plugins may not be compatible and cause OpenCPN to crash or prevent it from opening. If this happens we can try to remove the old plugins by deleting the *~/.local/lib/opencpn* folder and reinstalling the plugins when OpenCPN opens normally again. 58 | 59 | If you install OpenCPN twice, from Debian/Ubuntu and Flatpak, the system will differentiate between them by adding the FP suffix to the version installed from Flatpak: 60 | 61 | ![OpenCPN4](img/opencpn4.png) 62 | 63 | ## OpenCPN Installer actions 64 | 65 | Once OpenCPN is installed, there are a few actions you can take in this app. 66 | 67 | - You can ![Uninstall](img/uninstall.png) ``Uninstall`` OpenCPN at any time. 68 | 69 | - By checking ![Autostart](img/autostart.png) ``Autostart``, OpenCPN will run automatically at startup and by checking ![Full Screen](img/fullscreen.png) ``Full Screen``, it will use the entire screen. 70 | 71 | - By clicking ![Open](img/open.png) ``Open``, OpenCPN will run. 72 | -------------------------------------------------------------------------------- /docs/opencpn/skconnection.md: -------------------------------------------------------------------------------- 1 | # Signal K connection 2 | 3 | To receive data from all your devices and sensors on OpenCPN, the recommended way is to create all connections on the Signa K server and then create a single connection to the server on OpenCPN using these settings: 4 | 5 | - **Type**: Network 6 | 7 | - **Protocol**: Signal K 8 | 9 | - **Address**: localhost 10 | 11 | - **DataPort**: 3000 (or the custom port you have set in the ![Signal K Installer](../signalk/img/skinstaller.png) *Signal K installer* app) 12 | 13 | - **Uncheck**: Automatic server dicovery 14 | 15 | 16 | ![SK connection](img/skconnection.png) -------------------------------------------------------------------------------- /docs/pypilot/autopilot.md: -------------------------------------------------------------------------------- 1 | # Autopilot mode 2 | 3 | Install this app from the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and open it by clicking ![pypilot](img/autopilot.png) `Pypilot` under `Main -> OpenPlotter` or typing this in a terminal: 4 | 5 | ```console 6 | openplotter-pypilot 7 | ``` 8 | 9 | ![Help](../settings/img/help.png) ``Help`` opens an offline copy of this documentation in a browser and ![Settings](../settings/img/openplotter-settings.png) ``Settings`` opens the main app. 10 | 11 | Enable *Autopilot* mode in the ![Services](img/process.png) `Services` tab **only** if you are using a Pypilot motor controller: 12 | 13 | ![autopilot-1](img/autopilot-1.png) 14 | 15 | First of all you need to ![calibration](img/calibration.png) [calibrate](calibration.md) the IMU. 16 | 17 | Next you need to tell pypilot where the motor controller is connected. In the following example we are going to use the UART1 interface in Raspberry Pi 5 (UART2 in Raspberry Pi 4) to free up UART0 so it can be used by other devices. Go to the ![](img/usb.png) *Serial* app and click the ![](img/gpio.png) `UART1` button, acknowledge the warning and reboot: 18 | 19 | ![autopilot-2](img/autopilot-2.png) 20 | 21 | After the reboot, launch the ![](img/usb.png) *Serial* app again. On the ![](img/usb.png) `Devices` tab, you should now see a new entry. Select the line with ttyAMAx, give it an *alias* (for example pypilot) and select `NMEA 0183` from the *data* dropdown, then press ![](img/apply.png) `Apply`: 22 | 23 | ![autopilot-3](img/autopilot-3.png) 24 | 25 | Finally we need to connect the *ttyOP_pypilot* device to Pypilot. Switch to the ![](img/connections.png) ``Connections`` tab, select the *ttyOP_pypilot* device and click ![](img/autopilot.png) ``Add to Pypilot``: 26 | 27 | ![autopilot-4](img/autopilot-4.png) 28 | 29 | In the next window click ``AUTO`` and that is it. The motor controller will be ready to receive orders from Pypilot. 30 | 31 | You can also define the motor controller in the ![](img/usb.png) serial tab of the ![](img/autopilot.png) *Pypilot* app, but we recommend you do it using the above method. 32 | 33 | Check `Enable Web Control` to control the autopilot via the ![](img/web.png) `Web Interface`. You can also access the ![](img/gui.png) `Graphical User Interface` from here. Check `Enable HAT Control` only if you are using a Pypilot HAT: 34 | 35 | ![autopilot-5](img/autopilot-5.png) 36 | 37 | The ![](img/scope.png) `Scope` tool is a chart viewer that represents all the data handled by pypilot. The ![](img/client.png) `Client` tool also contains all this data and allows editing some of it. Both tools will be very useful for debugging the system. 38 | 39 | ## Configure LCD Keypad, remotes and custom buttons 40 | 41 | Coming soon. 42 | 43 | ## Basic controls 44 | 45 | In all software and hardware control panels you will find the usual elements found in all autopilots: 46 | 47 | - **AP**: The AP button is the equivalent of the physical button panel known from boat autopilots. When AP is green, the autopilot is engaged and when the AP button is red, the autopilot is in standby mode. 48 | 49 | - **Heading**: [Heading - Command] On all control interfaces you will see two numeric values from 0 to 360 expressed in degrees. One of them is the current heading, which can be calculated differently depending on the selected heading mode, and the other is the command heading, which is the desired heading. When AP is on and green, pypilot will steer until the current heading is similar to the command heading. 50 | 51 | - **<< < > >>**: [-10 -1 1 10] When AP is in standby mode you will see four arrow buttons which can be used to align your actuator with your rudder so you can engage it and if you are lazy you can also steer the boat with them. When AP is engaged, these buttons will have numerical values -10, -1, 1 and 10 to add those amounts in degrees to the command heading. 52 | 53 | - **Heading Mode**: [Compass - GPS - NAV - Wind - True Wind] In Compass mode the current heading is based on magnetic north. In GPS mode the current heading is based on true north. In NAV mode if an external plotter such as OpenCPN is sending autopilot bearing messages (APB) to the autopilot, it will adjust the heading command to follow them. In Wind mode the current heading is the direction the wind comes from relative to the bow and in True Wind mode the current heading is the direction the wind comes from relative to the true north. 54 | 55 | - **Tack**: [port - starboard] Sailing with a limited crew sometimes requires a system to automate tacking. Clicking the *Tack* button initiates the maneuver to port or starboard using the predefined settings: 56 | 57 | - ap.tack.angle: In wind mode it is automatically determined from current course. Unit is degrees. 58 | 59 | - ap.tack.delay: How many seconds to wait to tack after hitting tack button. 60 | 61 | - ap.tack.rate: How quickly to tack. Unit is degrees/sec. 62 | 63 | - ap.tack.threshold: When to revert back to normal filter. Unit is percentage. Typically half the tack angle but adjusting this would be useful to prevent overshoot. 64 | 65 | As we have already said, Pypilot is more powerful than any commercial tool and will allow you to fine-tune the autopilot to any boat and any sea condition using advanced settings such as [Gains](https://pypilot.org/doc/pypilot_user_manual/#tuning-gains) or [Servo parameters](https://pypilot.org/doc/pypilot_user_manual/#configuring-parameters). 66 | 67 | -------------------------------------------------------------------------------- /docs/pypilot/calibration.md: -------------------------------------------------------------------------------- 1 | # Compass calibration 2 | 3 | Follow these steps in order: 4 | 5 | ## 1. Accelerometer bias 6 | 7 | IMUs require accelerometer bias calibration. Without it, there will be significant pitch and roll errors. Most of them are factory calibrated, which means you could skip this step, but it is recommended to calibrate the accelerometer bias, even if it is factory calibrated, as it will slightly improve the factory calibration. 8 | 9 | To calibrate the accelerometer bias, you must be on a *mostly* stable platform. It may be impossible to do at anchor if the boat is moving too much, so either in flat water, or land for this step. 10 | 11 | Go to ![](img/autopilot.png) *Pypilot* app and click on ![](img/calibration.png) ``Calibration``. In Calibration window click on ``accel`` tab. Make sure *calibration locked* is not enabled. 12 | 13 | Carefully place the sensor on each of the 6 sides of a box (+- 10 degrees will do) the actual orientation is not critical, so long as enough measurements can be taken to fit a sphere. Leave the sensors in each position for a few seconds. 14 | 15 | Once a calibration is applied the accelerometer *Calibration Age* should reset and fit points become yellow. If it does not, repeat the process putting the sensors in different orientations until a calibration fix is found. 16 | 17 | ![calibration0](img/calibration0.png) 18 | 19 | ![calibration1](img/calibration1.png) 20 | 21 | If you use the cheapest sensors, sometimes they have bad accelerometers. Either one axis will always read zero, or they will saturate because the bias is greater than 1g. This is easy to determine from the accelerometer calibration plot in calibration window. 22 | 23 | ## 2. Alignment 24 | 25 | Once the accelerometer is calibrated, the sensor should be fixed securely to the boat. Alignment and compass calibration are required for correct operation. If sensors are moved or remounted, this must be performed again (but not accelerometer calibration). 26 | 27 | To perform alignment, ensure the boat is level (not heeling or pitching) and in relatively calm water (small waves motion of a few degrees is ok). Go to ``alignment`` tab and click ``Boat is level`` button. 28 | 29 | ![calibration2](img/calibration2.png) 30 | 31 | Correct alignment must be performed before the compass calibration can begin. 32 | 33 | ![calibration3](img/calibration3.png) 34 | 35 | ## 3. Compass 36 | 37 | Be sure to locate the sensors away from: 38 | 39 | - magnets - speakers and especially moving magnets like floating compasses. 40 | - current carrying wires - very simple rule is 2 cm (1 inch) for every amp. 41 | - iron and steel - less critical. If you are in a steel boat, just do not fix the sensors to a steel wall and try to locate them several inches at least offset from it. 42 | 43 | The compass calibration is mostly automatic. If the accelerometer and alignment are calibrated, you just need to sail turning more than 180 degrees to calibrate the compass. 44 | 45 | Go to ``compass`` tab and make sure *calibration locked* is not enabled or updates will not occur. 46 | 47 | There are both 2D and 3D compass calibration fixes. A 2D fix will occur from turning without pitching or heeling. When heeling there may be some error without a 3D fix. To obtain a 3D fix, you should make a circle with sufficient heeling, such as tacking against the wind, or rolling in waves. 48 | 49 | Subsequent 2D fixes will use the previous undetermined value for 3D fix, combining the new 2D fix with the past information from a 3D fix. Performing accelerometer calibration will give a rough 3D fix in most cases making a subsequent 2D fix sufficient for most use. 50 | 51 | Compass calibration is continuous and always updates unless locked. You may want to lock it to prevent future calibration updates when you know there is compass interference, but unlocking it is recommended. 52 | 53 | ![calibration4](img/calibration4.png) 54 | 55 | Once a new calibration is applied, the accelerometer *Calibration Age* should reset and fit points become yellow. 56 | 57 | ![calibration5](img/calibration5.png) 58 | 59 | If the sensors are remounted, they must be re-aligned and the compass recalibrated. 60 | 61 | If metal objects are moved around the sensors, the compass must recalibrate. 62 | 63 | ## 4. Heading Offset 64 | 65 | Once the compass is calibrated a heading offset can be entered in ``alignment`` tab depending on the orientation that the sensors are mounted in the boat. Without this, the pilot can still hold a course, but the heading displayed will not match the actual course. This corrects this offset as well as ensures the pitch and roll readings are correct. For example if the heading offset is off by 90 degrees, the pitch and roll readings may be reversed. -------------------------------------------------------------------------------- /docs/pypilot/img/7-keys.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/7-keys.jpg -------------------------------------------------------------------------------- /docs/pypilot/img/8-keys.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/8-keys.jpg -------------------------------------------------------------------------------- /docs/pypilot/img/apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/apply.png -------------------------------------------------------------------------------- /docs/pypilot/img/autopilot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/autopilot-1.png -------------------------------------------------------------------------------- /docs/pypilot/img/autopilot-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/autopilot-2.png -------------------------------------------------------------------------------- /docs/pypilot/img/autopilot-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/autopilot-3.png -------------------------------------------------------------------------------- /docs/pypilot/img/autopilot-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/autopilot-4.png -------------------------------------------------------------------------------- /docs/pypilot/img/autopilot-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/autopilot-5.png -------------------------------------------------------------------------------- /docs/pypilot/img/autopilot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/autopilot.png -------------------------------------------------------------------------------- /docs/pypilot/img/boat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/boat.png -------------------------------------------------------------------------------- /docs/pypilot/img/calibration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/calibration.png -------------------------------------------------------------------------------- /docs/pypilot/img/calibration0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/calibration0.png -------------------------------------------------------------------------------- /docs/pypilot/img/calibration1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/calibration1.png -------------------------------------------------------------------------------- /docs/pypilot/img/calibration2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/calibration2.png -------------------------------------------------------------------------------- /docs/pypilot/img/calibration3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/calibration3.png -------------------------------------------------------------------------------- /docs/pypilot/img/calibration4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/calibration4.png -------------------------------------------------------------------------------- /docs/pypilot/img/calibration5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/calibration5.png -------------------------------------------------------------------------------- /docs/pypilot/img/client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/client.png -------------------------------------------------------------------------------- /docs/pypilot/img/connections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/connections.png -------------------------------------------------------------------------------- /docs/pypilot/img/gpio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/gpio.png -------------------------------------------------------------------------------- /docs/pypilot/img/gps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/gps.png -------------------------------------------------------------------------------- /docs/pypilot/img/gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/gui.png -------------------------------------------------------------------------------- /docs/pypilot/img/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/header.png -------------------------------------------------------------------------------- /docs/pypilot/img/imu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/imu.png -------------------------------------------------------------------------------- /docs/pypilot/img/lcd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/lcd.png -------------------------------------------------------------------------------- /docs/pypilot/img/op.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/op.png -------------------------------------------------------------------------------- /docs/pypilot/img/opencpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/opencpn.png -------------------------------------------------------------------------------- /docs/pypilot/img/panel1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/panel1.png -------------------------------------------------------------------------------- /docs/pypilot/img/panel2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/panel2.png -------------------------------------------------------------------------------- /docs/pypilot/img/process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/process.png -------------------------------------------------------------------------------- /docs/pypilot/img/pypilot-options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/pypilot-options.png -------------------------------------------------------------------------------- /docs/pypilot/img/pypilot3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/pypilot3.png -------------------------------------------------------------------------------- /docs/pypilot/img/pypilot4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/pypilot4.png -------------------------------------------------------------------------------- /docs/pypilot/img/remote-ir.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/remote-ir.jpg -------------------------------------------------------------------------------- /docs/pypilot/img/remote-ir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/remote-ir.png -------------------------------------------------------------------------------- /docs/pypilot/img/remote.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/remote.jpg -------------------------------------------------------------------------------- /docs/pypilot/img/remote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/remote.png -------------------------------------------------------------------------------- /docs/pypilot/img/scope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/scope.png -------------------------------------------------------------------------------- /docs/pypilot/img/soft-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/soft-gui.png -------------------------------------------------------------------------------- /docs/pypilot/img/soft-opencpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/soft-opencpn.png -------------------------------------------------------------------------------- /docs/pypilot/img/soft-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/soft-web.png -------------------------------------------------------------------------------- /docs/pypilot/img/usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/usb.png -------------------------------------------------------------------------------- /docs/pypilot/img/web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/web.png -------------------------------------------------------------------------------- /docs/pypilot/img/wind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/pypilot/img/wind.png -------------------------------------------------------------------------------- /docs/pypilot/imu.md: -------------------------------------------------------------------------------- 1 | # IMU Only mode 2 | 3 | Install this app from the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and open it by clicking ![pypilot](img/autopilot.png) `Pypilot` under `Main -> OpenPlotter` or typing this in a terminal: 4 | 5 | ```console 6 | openplotter-pypilot 7 | ``` 8 | 9 | ![Help](../settings/img/help.png) ``Help`` opens an offline copy of this documentation in a browser and ![Settings](../settings/img/openplotter-settings.png) ``Settings`` opens the main app. 10 | 11 | Enable *IMU Only* mode in the ![Services](img/process.png) `Services` tab if you are not using an autopilot and are only interested in adding an Inertial Measurement Unit (IMU) for heading, heel and trim data. Pypilot currently supports the following I2C-connected IMU models: 12 | 13 | - ICM-20948 (recommended) 14 | - MPU-9250 15 | - MPU-9255. 16 | 17 | The IMU should be automatically detected and displayed in the ![Services](img/process.png) `Services` tab: 18 | 19 | ![imu](img/pypilot3.png) 20 | 21 | You do not need to do anything else to start receiving heading and attitude data on the Signal K server: 22 | 23 | ![sk](img/pypilot4.png) 24 | 25 | !!! important 26 | You must ![calibration](img/calibration.png) [calibrate](calibration.md) the IMU before you can obtain reliable heading data. -------------------------------------------------------------------------------- /docs/pypilot/wiring.md: -------------------------------------------------------------------------------- 1 | # Wiring 2 | 3 | Coming soon. 4 | 5 | ## Drive 6 | 7 | ## Motor controller 8 | 9 | ## IMU 10 | 11 | ## Pypilot HAT -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs==1.6.0 -------------------------------------------------------------------------------- /docs/sdr-vhf/sdr-vhf_app.md: -------------------------------------------------------------------------------- 1 | # SDR VHF 2 | 3 | Coming soon. 4 | 5 | In the meantime you can consult previous versions of [this chapter for older versions of OpenPlotter](https://openplotter.readthedocs.io/3.x.x/sdr-vhf/sdr-vhf_app.html) keeping in mind that there are things that have changed. -------------------------------------------------------------------------------- /docs/serial/cconnectingRS422.md: -------------------------------------------------------------------------------- 1 | # Connecting a USB RS422 converter 2 | 3 | You probably still have some devices onboard that use the old NMEA 0183 protocol. Most commercial plotters collect data from all onboard devices and send it through an RS422 output. To connect these devices to OpenPlotter, you need any inexpensive USB-RS422 converter. 4 | 5 | 6 | ## Wiring 7 | 8 | Typical RS422 device looks like the one below: 9 | 10 | ![serial_rs422A](img/serial_rs422A.png) 11 | 12 | There are normally 4 or 5 connections: ``TX+``, ``TX-``, ``RX+``, ``RX-``, ``GND``. 13 | 14 | !!! imnmportant 15 | Normally you do not need GND and you would connect TX of the chart plotter/VHF etc to the RX of the RS422 to USB device and vice versa. However, there is little consistency between different devices as to what is possitve and what is negative - so if the TX+ connected to the RX+ does not work, try connecting to the RX-. 16 | 17 | ## Input data 18 | 19 | To obtain data from these converters, follow the same steps as for connecting the [USB GPS](connectingGPS.md) in the example of the previous chapter of this section. Below are the summarized steps. 20 | 21 | In ![Devices](img/openplotter-serial.png) ``Devices`` tab, enter an ``alias`` and select *NMEA 0183* in ``data``: 22 | 23 | ![rs422-1](img/rs422-1.png) 24 | 25 | In ![Connections](img/connections.png) ``Connections`` tab, create a Signal K connection: 26 | 27 | ![rs422-2](img/rs422-2.png) 28 | 29 | Consult your device manual to find the ``Baud Rate``, if you can not find it then usually, if the device is older and pre-AIS the Baud Rate may be 4800, later devices that may have or accept AIS will be 38400. 30 | 31 | ![rs422-3](img/rs422-3.png) 32 | 33 | Check the Signal K connection has been made: 34 | 35 | ![rs422-4](img/rs422-4.png) 36 | 37 | And check OpenCPN to make sure there is a [connection to the Signal K server](../opencpn/skconnection.md). 38 | 39 | You should now be ready to get NMEA 0183 data from your boat. 40 | 41 | ## Input + output data 42 | 43 | Now that you are getting NMEA 0183 data from your boat, you may also want to send some NMEA 0183 data generated in OpenPlotter to your boat. The classic case is to let OpenCPN control your autopilot. Let's see how to send data to the autopilot using the same USB RS422 converter. 44 | 45 | When you activate a route in OpenCPN, NMEA 0183 *RMB* and *APB* sentences begin to be generated. As usual we need to send this new data to the Signal K server and you can do this by creating a UDP client connection. Select ``Network``, *Protocol*: `UDP`, ``Address``: *0.0.0.0*, *DataPort*: `10119` (or any unused UDP port on your system), uncheck ``Receive input on this Port``, check ``Output on this port`` and transmit only sentences `RMB` and `APB` in *Output filtering*: 46 | 47 | ![rs422-5](img/rs422-5.png) 48 | 49 | !!! warning 50 | Allowing only *RMB* and *APB* sentences in the output is important to avoid data loops in your system. 51 | 52 | Now you have to create a connection in Signal K server to get *RMB* and *APB* data from OpenCPN. Login to the Signal K server, go to `Server -> Data Connections` and click on ``Add``. Set *Data Type*: `NMEA 0183`, *ID*: `opencpn`, *NMEA 0183 Source*: `UDP`, *Port*: `10119` (or whatever you have set in OpenCPN), *Input Event*: `autopilot` and click ``Apply``: 53 | 54 | ![rs422-6](img/rs422-6.png) 55 | 56 | Finally, you need to edit the connection you configured for your USB RS422 device input data to specify what data should be sent to your boat. Go to `Server -> Data Connections` and click on your device connection, in this case ``rs422``. Set *Output Events*: `autopilot` and click ``Apply``: 57 | 58 | ![rs422-7](img/rs422-7.png) 59 | 60 | ``Restart`` Signal K server and you are done. Activate a route in OpenCPN and you will start sending data to your autopilot. 61 | 62 | ![rs422-8](img/rs422-8.png) 63 | 64 | !!! note 65 | To better understand how events work on the Signal K server, see the chapter [NMEA 0183 multiplexing](../signalk/multiplexing.md). -------------------------------------------------------------------------------- /docs/serial/connectingCAN.md: -------------------------------------------------------------------------------- 1 | # Connecting a USB CAN converter 2 | 3 | This tutorial is for any NMEA 2000 converter that can connect via USB such as the *Actisense NGT-1*, the *OpenMarine CAN-USB Stick* (discontinued) and any *slcand* device. 4 | 5 | To get data from your NMEA 2000 network you have to select the device, enter an *alias* and select `NMEA 2000` in *data* field. Finally press ![Apply](img/apply.png) ``Apply`` and the device will be marked blue: 6 | 7 | ![serialCan1](img/serialCan1.png) 8 | 9 | ![serialCan2](img/serialCan2.png) 10 | 11 | Then go to ![Connections](img/connections.png) ``Connections`` tab, select the device and click ![can](img/can.png) ``Add to CAN Bus``: 12 | 13 | ![serialCan3](img/serialCan3.png) 14 | 15 | ![serialCan4](img/serialCan4.png) 16 | 17 | If you are using a *slcand* device click on ``MANUAL`` and go to [Input data by slcand](../can/slcand.md) chapter to learn how to configure these devices. 18 | 19 | If you are using an *Actisense NGT-1* or an *OpenMarine CAN-USB Stick* device (discontinued), select the *Baud Rate* (usually `115200`) and click on `AUTO`. 20 | 21 | The device will be marked blue and you are done: 22 | 23 | ![serialCan5](img/serialCan5.png) 24 | 25 | Open the ![can](img/can.png) *CAN Bus* app to confirm that the device has been added to the ![CAN-USB](img/openplotter-24.png) *CAN-USB* tab: 26 | 27 | ![serialCan6](img/serialCan6.png) 28 | 29 | And go to Signal K server to confirm that the connection has been made: 30 | 31 | ![serialCan7](img/serialCan7.png) 32 | 33 | Check OpenCPN to make sure there is a [connection to the Signal K server](../opencpn/skconnection.md) and you are getting data from your NMEA 2000 network. 34 | 35 | !!! note 36 | To learn how to send data through your NMEA 2000 converter, see the chapter [Output data](../can/output.md). -------------------------------------------------------------------------------- /docs/serial/connectingGPS.md: -------------------------------------------------------------------------------- 1 | # Connecting a USB GPS receiver 2 | 3 | 4 | To see how this all works, we are going to configure the most basic device, a USB GPS receiver. In ![Devices](img/openplotter-serial.png) ``Devices`` tab, select the device and enter a name for it in the ``alias`` field. Select the type of ``data`` that flows through the device (NMEA 0183 in this case) and finally select whether the system should ``remember the device`` or the position of the USB port where the device is plugged in. 5 | 6 | ![gps1](img/gps1.png) 7 | 8 | Press ![Apply](img/apply.png) ``Apply`` when done and the device will be marked green: 9 | 10 | ![gps2](img/gps2.png) 11 | 12 | Unplug the device and press ![Refresh](img/refresh.png) ``Refresh`` to check if the system detects the lost device: 13 | 14 | ![gps3](img/gps3.png) 15 | 16 | Plug the device back in, press ![Refresh](img/refresh.png) ``Refresh`` and you are ready to configure any program using your device's alias and be sure it will always work. 17 | 18 | To send data from the USB GPS to OpenCPN, you need to first connect the device to the Signal K server and then connect OpenCPN to the Signal K server. In ![Connections](img/connections.png) ``Connections`` tab, select the *ttyOP_gps* device and press ![Add to Signal K](img/sk.png) ``Add to Signal K``: 19 | 20 | ![gps4](img/gps4.png) 21 | 22 | !!! note 23 | Select ![Add to GPSD](img/gpsd.png) ``Add to GPSD`` only if you want GPSD to manage your GPS/AIS device. All GPSD and Signal K settings will be created automatically. 24 | 25 | !!! note 26 | Select ![Add to Pypilot](../pypilot/img/autopilot.png)``Add to Pypilot`` only if you are using a pypilot controller. Pypilot will send data to the Signal K server automatically. 27 | 28 | Then select the ``Baud Rate`` required by your device and press ``AUTO``: 29 | 30 | ![gps5](img/gps5.png) 31 | 32 | The signal K server will restart and the connection will be marked green: 33 | 34 | ![gps6](img/gps6.png) 35 | 36 | And you are done. Check in Signal K server the new connection: 37 | 38 | ![gps7](img/gps7.png) 39 | 40 | And check OpenCPN to make sure there is a [connection to the Signal K server](../opencpn/skconnection.md). 41 | -------------------------------------------------------------------------------- /docs/serial/connectingdAISy.md: -------------------------------------------------------------------------------- 1 | # Connecting the dAISy HAT 2 | 3 | ![daisyHat1](img/daisyHat1.png) 4 | 5 | **Specification** 6 | 7 | * True two channel receiver, continuously receiving on AIS channels A (161.975 MHz) and B (162.025 MHz) 8 | * Superior sensitivity compared to other low-cost AIS receivers 9 | * Low power, less than 200mW in receive mode (<40mA at 5V) 10 | * 38400 baud serial output in industry standard NMEA format (AIVDM) 11 | * Communicates with Raspberry Pi via UART0. 12 | * Works with Raspberry Pi 1 (A+/B+ only), Pi 2, Pi 3, Pi 4, Pi 5 and Pi Zero 13 | * Shape and size compliant with Raspberry Pi HAT standard 14 | * Breakout pads for 2 independent TTL serial outputs, 3.3 and 5 volt rails, and Raspberry Pi I2C port 15 | * SMA antenna connector 16 | * SMA-to-BNC adapter and hex standoffs included 17 | 18 | !!! note 19 | This product is available in the [OpenMarine Shop](http://shop.openmarine.net/). Buying at OpenMarine Shop helps us keep the project alive. On the [original product page](https://shop.wegmatt.com/products/daisy-hat-ais-receiver) you will find the full specification and a better choice for US buyers. 20 | 21 | **Configuration** 22 | 23 | Mount the dAISy HAT in your Raspberry Pi and enable a serial port in the GPIO header of the Raspberry Pi by clicking the ![UART](img/uart.png) ``UART0`` icon: 24 | 25 | ![daisyHat2](img/daisyHat2.png) 26 | 27 | Acknowledge the warning, and reboot the Raspberry Pi: 28 | 29 | ![daisyHat3a](img/daisyHat3a.png) 30 | *Raspberry Pi model 3 and 4* 31 | 32 | ![daisyHat3b](img/daisyHat3b.png) 33 | *Raspberry Pi model 5* 34 | 35 | After the reboot, launch the ![Serial](img/openplotter-serial.png) *Serial* app again. On the ![Devices](img/openplotter-serial.png) ``Devices`` tab, you should now see a new entry. Select the line with *ttyAMA0*, give it an alias (for example `daisy`) and select `NMEA 0183` from the data dropdown, then press ![Apply](img/apply.png) ``Apply``: 36 | 37 | ![daisyHat4](img/daisyHat4.png) 38 | 39 | Now we need to connect the *ttyOP_daisy* device to the Signal K server, the central data processing hub of OpenPlotter. Switch to the ![Connections](img/connections.png) ``Connections`` tab, select the *ttyOP_daisy* device and click ![Add to Signal K](img/sk.png) ``Add to Signal K``: 40 | 41 | ![daisyHat5](img/daisyHat5.png) 42 | 43 | From the *Baud Rate* dropdown menu select `38400`, then press ``AUTO``: 44 | 45 | ![daisyHat6](img/daisyHat6.png) 46 | 47 | You are done, the Signal K server and any program connected to it, such as OpenCPN, should now receive AIS data. Check OpenCPN to make sure there is a [connection to the Signal K server](../opencpn/skconnection.md) and it is getting data from your DAISy HAT: 48 | 49 | ![opencpnAIS](../opencpn/img/opencpnAIS.jpg) -------------------------------------------------------------------------------- /docs/serial/img/apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/apply.png -------------------------------------------------------------------------------- /docs/serial/img/can.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/can.png -------------------------------------------------------------------------------- /docs/serial/img/connections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/connections.png -------------------------------------------------------------------------------- /docs/serial/img/daisyHat1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/daisyHat1.png -------------------------------------------------------------------------------- /docs/serial/img/daisyHat2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/daisyHat2.png -------------------------------------------------------------------------------- /docs/serial/img/daisyHat3a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/daisyHat3a.png -------------------------------------------------------------------------------- /docs/serial/img/daisyHat3b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/daisyHat3b.png -------------------------------------------------------------------------------- /docs/serial/img/daisyHat4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/daisyHat4.png -------------------------------------------------------------------------------- /docs/serial/img/daisyHat5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/daisyHat5.png -------------------------------------------------------------------------------- /docs/serial/img/daisyHat6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/daisyHat6.png -------------------------------------------------------------------------------- /docs/serial/img/gps1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gps1.png -------------------------------------------------------------------------------- /docs/serial/img/gps2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gps2.png -------------------------------------------------------------------------------- /docs/serial/img/gps3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gps3.png -------------------------------------------------------------------------------- /docs/serial/img/gps4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gps4.png -------------------------------------------------------------------------------- /docs/serial/img/gps5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gps5.png -------------------------------------------------------------------------------- /docs/serial/img/gps6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gps6.png -------------------------------------------------------------------------------- /docs/serial/img/gps7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gps7.png -------------------------------------------------------------------------------- /docs/serial/img/gpsd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/gpsd.png -------------------------------------------------------------------------------- /docs/serial/img/openplotter-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/openplotter-24.png -------------------------------------------------------------------------------- /docs/serial/img/openplotter-serial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/openplotter-serial.png -------------------------------------------------------------------------------- /docs/serial/img/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/refresh.png -------------------------------------------------------------------------------- /docs/serial/img/rpi_port_4ur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rpi_port_4ur.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-1.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-2.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-3.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-4.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-5.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-6.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-7.png -------------------------------------------------------------------------------- /docs/serial/img/rs422-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/rs422-8.png -------------------------------------------------------------------------------- /docs/serial/img/serial0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serial0.png -------------------------------------------------------------------------------- /docs/serial/img/serial1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serial1.png -------------------------------------------------------------------------------- /docs/serial/img/serial2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serial2.png -------------------------------------------------------------------------------- /docs/serial/img/serial3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serial3.png -------------------------------------------------------------------------------- /docs/serial/img/serialCan1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serialCan1.png -------------------------------------------------------------------------------- /docs/serial/img/serialCan2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serialCan2.png -------------------------------------------------------------------------------- /docs/serial/img/serialCan3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serialCan3.png -------------------------------------------------------------------------------- /docs/serial/img/serialCan4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serialCan4.png -------------------------------------------------------------------------------- /docs/serial/img/serialCan5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serialCan5.png -------------------------------------------------------------------------------- /docs/serial/img/serialCan6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serialCan6.png -------------------------------------------------------------------------------- /docs/serial/img/serialCan7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serialCan7.png -------------------------------------------------------------------------------- /docs/serial/img/serial_rs422A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/serial_rs422A.png -------------------------------------------------------------------------------- /docs/serial/img/show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/show.png -------------------------------------------------------------------------------- /docs/serial/img/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/sk.png -------------------------------------------------------------------------------- /docs/serial/img/uart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/uart.png -------------------------------------------------------------------------------- /docs/serial/img/wr-usb-uart-d.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/serial/img/wr-usb-uart-d.jpg -------------------------------------------------------------------------------- /docs/serial/serial_app.md: -------------------------------------------------------------------------------- 1 | # Managing serial devices 2 | 3 | Install this app from the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and open it by clicking ![Serial](img/openplotter-serial.png) `Serial` under `Main -> OpenPlotter` or typing this in a terminal: 4 | 5 | ```console 6 | openplotter-serial 7 | ``` 8 | 9 | ![Serial0](img/serial0.png) 10 | 11 | ![Help](../settings/img/help.png) ``Help`` opens an offline copy of this documentation in a browser and ![Settings](../settings/img/openplotter-settings.png) ``Settings`` opens the main app. 12 | 13 | When you connect a USB device or any serial device to Linux, it is named as: /dev/ttyUSB0, /dev/ttyACM0, /dev/ttyS1... If any program needs to get data from this device, you have to provide this name in the settings of the program. But there is a problem, this name is not tied to your physical device, so it could be that the system gives it a different name on the next reboot and your program points to a wrong device. ![Serial](img/openplotter-serial.png) *Serial* app allows you to define an alias for your device that will always be tied to it even after unplugging it. 14 | 15 | This app will detect any serial device connected to the system. Press ![Refresh](img/refresh.png) ``Refresh`` when plugging or unplugging a device to update the list of detected devices. Click on ![Details](img/show.png) `Details` to receive more information about the selected device. 16 | 17 | On the ![Devices](img/openplotter-serial.png) ``Devices`` tab, you can define your devices by providing the alias, defining the type of data this device manages, and choosing how this device should be remembered: by its vendor, product, and serial number, or by the port where it is plugged in. 18 | 19 | You should use ``Remember port`` only if 2 or more of your devices have the same vendor, product and serial or if they do not have any of these identifiers at all. For Raspberry Pi, the first column in the list will show you which USB port your device is connected to ![USP port](img/rpi_port_4ur.png) and if you are using a HUB. 20 | 21 | Devices are marked in different colors: 22 | 23 | - white: not defined yet. 24 | - green: defined as NMEA 0183 device. 25 | - blue: defined as NMEA 2000 device. 26 | - yellow: defined as Signal K device. 27 | - red: the device is missing. 28 | 29 | ![Serial1](img/serial1.png) 30 | 31 | Using the ![Connections](img/connections.png) ``Connections`` tab you can easily configure some programs to obtain data from your device. Depending on the type of data you set when defining the alias, some supported programs will be enabled in the toolbar when selecting devices. 32 | 33 | ![Serial2](img/serial2.png) 34 | 35 | In the rest of this section, you will learn how to define and connect different devices using examples. 36 | 37 | ## ![](img/uart.png) UART 38 | 39 | On Raspberry Pi you can also connect serial devices to the GPIOs. Depending on your Raspberry Pi model, you will have more or fewer UART interfaces available or they will be named differently. 40 | 41 | ![](https://www.raspberrypi.com/documentation/computers/images/GPIO-Pinout-Diagram-2.png) 42 | 43 | To enable any available UART interface, press ![UART](img/uart.png) ``UART0``, ``UART1``, ``UART2``, ``UART3``, ``UART4`` or ``UART5`` and after reboot, you will see a new ``ttyAMA...`` device: 44 | 45 | ![Serial3](img/serial3.png) 46 | *Raspberry Pi model 5 with all UART interfaces enabled* 47 | 48 | !!! note 49 | In Raspberry Pi model 5 you will see a device called **ttyAMA10**, that corresponds to the new UART debug adapter of the board. 50 | 51 | ![RPi 5 UART debug](img/wr-usb-uart-d.jpg) 52 | 53 | ### Raspberry Pi 3 54 | 55 | | Interface | RX GPIO | TX GPIO | RX pin | TX pin | 56 | | --------- | ------- | ------- | ------ | ------ | 57 | | UART0 | 15 | 14 | 10 | 8 | 58 | 59 | On Raspberry Pi 3, the Bluetooth interface and the UART0 interface share the same port. Bluetooth is enabled and UART0 is dissabled by default. If you enable UART0, Bluetooth will be disabled. 60 | 61 | ### Raspberry Pi 4 62 | 63 | | Interface | RX GPIO | TX GPIO | RX pin | TX pin | 64 | | --------- | ------- | ------- | ------ | ------ | 65 | | UART0 | 15 | 14 | 10 | 8 | 66 | | UART2 | 1 | 0 | 28 | 27 | 67 | | UART3 | 5 | 4 | 29 | 7 | 68 | | UART4 | 9 | 8 | 21 | 24 | 69 | | UART5 | 13 | 12 | 33 | 32 | 70 | 71 | On Raspberry Pi 4, the Bluetooth interface and the UART0 interface share the same port. Bluetooth is enabled and UART0 is dissabled by default. If you enable UART0, Bluetooth will be disabled. 72 | 73 | ### Raspberry Pi 5 74 | 75 | | Interface | RX GPIO | TX GPIO | RX pin | TX pin | 76 | | --------- | ------- | ------- | ------ | ------ | 77 | | UART0 | 15 | 14 | 10 | 8 | 78 | | UART1 | 1 | 0 | 28 | 27 | 79 | | UART2 | 5 | 4 | 29 | 7 | 80 | | UART3 | 9 | 8 | 21 | 24 | 81 | | UART4 | 13 | 12 | 33 | 32 | 82 | 83 | On Raspberry Pi 5, the Bluetooth interface and the UART0 interface are independent. -------------------------------------------------------------------------------- /docs/settings/apps.md: -------------------------------------------------------------------------------- 1 | # ![](img/openplotter-24.png) OpenPlotter Apps 2 | 3 | OpenPlotter apps versions consist of 3 digits separated by periods (a.b.c), a code name and a development state: 4 | 5 | - **a**: This is the OpenPlotter version the app belongs. This value will change only when a new Debian version is released. 6 | - **b**: This value will change when major updates like new features have been added. 7 | - **c**: This value will change when minor updates like fixed bugs or translations have been added. 8 | - **codeName**: Name to identify the OpenPlotter version (a). 9 | - **state**: 10 | - **Alpha**: new features need to be added. 11 | - **Beta**: all features have been added, but need to be tested. 12 | - **Stable**: all functions should work properly. 13 | 14 | ## ![](img/sources.png) Add sources 15 | 16 | The sources of the OpenPlotter apps repositories should be added once at the beginning and then only if you see the *missing source* message in any of the OpenPlotter apps. 17 | 18 | ## ![](img/update.png) Get Candidates 19 | 20 | From time to time, you should check if there are new versions of OpenPlotter apps in the remote repositories to enjoy new features and correct errors. If there is a new version of an installed app, it will be shown in green: 21 | 22 | ![Settings4](img/settings4.png) 23 | 24 | ## ![](img/refresh.png) Refresh 25 | 26 | Run this option when you want to know the status of your apps. This option only compares versions locally and checks for pending tasks. To compare versions in the remote repositories click ![Get Candidates](img/update.png) ``Get Candidates``. 27 | 28 | ## ![](img/install.png) Install 29 | 30 | To install a new version of any app select the item in the list and click this button. If the updated app was running while the installation, you will have to close and open it again to see changes. 31 | 32 | ![Settings5](img/settings5.png) 33 | 34 | !!! important 35 | It is highly recommended to install and update OpenPlotter apps from ![Settings](img/openplotter-settings.png) *Settings* app because often the installation process involves extra changes to the system that will be carried out automatically. If you install the apps manually from a terminal or they are updated automatically due to a general system update, they will be marked in pink to indicate that there are pending actions: 36 | 37 | ![Settings6](img/settings6.png) 38 | 39 | These extra actions will be executed the first time you open the app: 40 | 41 | ![Settings7](img/settings7.png) 42 | 43 | ## ![](img/uninstall.png) Uninstall 44 | 45 | To uninstall any app select the item in the list and click this button. It is also important to uninstall OpenPlotter apps from ![Settings](img/openplotter-settings.png) *Settings* to undo the changes in the system. 46 | 47 | ## ![](img/open.png) Open 48 | 49 | If you have trouble locating and opening OpenPlotter apps installed on your system, you can open them from here. 50 | 51 | ## ![](img/changelog.png) Change Log 52 | 53 | Select any app and click this button to see all changes across versions. 54 | -------------------------------------------------------------------------------- /docs/settings/general.md: -------------------------------------------------------------------------------- 1 | # ![](img/debian.png) General Settings 2 | 3 | ![Settings8](img/settings8.png) 4 | 5 | ## ![](img/crowdin.png) Language 6 | 7 | You can select any of the available languages and all OpenPlotter apps will be translated the next time you open them. You can help us with translations by clicking ![Translate](img/crowdin.png)``Translate``. 8 | 9 | ## ![](img/touchscreen.png) Touchscreen 10 | 11 | After enabling this setting, most programs will display monster scrolls better for sailors' fingers and some programs like OpenCPN will be optimized for touchscreens. 12 | 13 | ## ![](img/resize.png) Maximize 14 | 15 | If you enable this option, all OpenPlotter applications will be maximized the next time you open them. 16 | 17 | ## ![](img/keyboard.png) Virtual keyboard 18 | 19 | OpenPlotter includes a virtual keyboard for touch systems or systems that do not have a physical keyboard. You can customize your virtual keyboard by creating a layout that suits your requirements and your language. 20 | 21 | ![Settings9](img/settings9.png) 22 | 23 | !!! note 24 | Visit this [link](https://forum.openmarine.net/showthread.php?tid=4070) to know how to create and share a custom keyboard layout. 25 | 26 | ## ![](img/bug.png) Debugging 27 | 28 | When this button is enabled, OpenPlotter apps will generate error messages that will be saved to the log file or printed on the screen when the application is run from a terminal. Use this feature only to check for errors, do not forget to disable it later because it might slow down performance or lead to oversized log files. 29 | 30 | ## ![](img/delay.png) Delay 31 | 32 | Sometimes you may need some devices or programs to be ready before they work normally. Adding seconds to this field and enabling this button will add a delay to the OpenPlotter startup process to allow time for these lazy devices or programs. 33 | 34 | ## ![](img/play.png) Play 35 | ************* 36 | 37 | You can play a sound to notify you when the OpenPlotter startup process is complete. Select a sound by clicking ![file](img/file.png) and enable the ![Play](img/play.png) ``Play`` button. This is especially useful for headless systems. 38 | -------------------------------------------------------------------------------- /docs/settings/img/ap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/ap.png -------------------------------------------------------------------------------- /docs/settings/img/apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/apply.png -------------------------------------------------------------------------------- /docs/settings/img/autostart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/autostart.png -------------------------------------------------------------------------------- /docs/settings/img/backlightAction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/backlightAction.png -------------------------------------------------------------------------------- /docs/settings/img/brightness-install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/brightness-install.png -------------------------------------------------------------------------------- /docs/settings/img/brightness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/brightness.png -------------------------------------------------------------------------------- /docs/settings/img/bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/bug.png -------------------------------------------------------------------------------- /docs/settings/img/changelog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/changelog.png -------------------------------------------------------------------------------- /docs/settings/img/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/check.png -------------------------------------------------------------------------------- /docs/settings/img/chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/chip.png -------------------------------------------------------------------------------- /docs/settings/img/crowdin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/crowdin.png -------------------------------------------------------------------------------- /docs/settings/img/debian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/debian.png -------------------------------------------------------------------------------- /docs/settings/img/delay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/delay.png -------------------------------------------------------------------------------- /docs/settings/img/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/file.png -------------------------------------------------------------------------------- /docs/settings/img/gpiomap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/gpiomap.png -------------------------------------------------------------------------------- /docs/settings/img/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/help.png -------------------------------------------------------------------------------- /docs/settings/img/install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/install.png -------------------------------------------------------------------------------- /docs/settings/img/keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/keyboard.png -------------------------------------------------------------------------------- /docs/settings/img/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/open.png -------------------------------------------------------------------------------- /docs/settings/img/openplotter-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/openplotter-24.png -------------------------------------------------------------------------------- /docs/settings/img/openplotter-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/openplotter-settings.png -------------------------------------------------------------------------------- /docs/settings/img/output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/output.png -------------------------------------------------------------------------------- /docs/settings/img/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/play.png -------------------------------------------------------------------------------- /docs/settings/img/ports.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/ports.png -------------------------------------------------------------------------------- /docs/settings/img/poweroff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/poweroff.png -------------------------------------------------------------------------------- /docs/settings/img/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/refresh.png -------------------------------------------------------------------------------- /docs/settings/img/resize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/resize.png -------------------------------------------------------------------------------- /docs/settings/img/rpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/rpi.png -------------------------------------------------------------------------------- /docs/settings/img/setBacklight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/setBacklight.png -------------------------------------------------------------------------------- /docs/settings/img/settings1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings1.png -------------------------------------------------------------------------------- /docs/settings/img/settings10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings10.png -------------------------------------------------------------------------------- /docs/settings/img/settings2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings2.png -------------------------------------------------------------------------------- /docs/settings/img/settings3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings3.png -------------------------------------------------------------------------------- /docs/settings/img/settings4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings4.png -------------------------------------------------------------------------------- /docs/settings/img/settings5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings5.png -------------------------------------------------------------------------------- /docs/settings/img/settings6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings6.png -------------------------------------------------------------------------------- /docs/settings/img/settings7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings7.png -------------------------------------------------------------------------------- /docs/settings/img/settings8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings8.png -------------------------------------------------------------------------------- /docs/settings/img/settings9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/settings9.png -------------------------------------------------------------------------------- /docs/settings/img/shutdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/shutdown.png -------------------------------------------------------------------------------- /docs/settings/img/sources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/sources.png -------------------------------------------------------------------------------- /docs/settings/img/touchscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/touchscreen.png -------------------------------------------------------------------------------- /docs/settings/img/uninstall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/uninstall.png -------------------------------------------------------------------------------- /docs/settings/img/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/update.png -------------------------------------------------------------------------------- /docs/settings/img/wayland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/settings/img/wayland.png -------------------------------------------------------------------------------- /docs/settings/raspberry.md: -------------------------------------------------------------------------------- 1 | # ![](img/rpi.png) Raspberry Settings 2 | 3 | ![Settings10](img/settings10.png) 4 | 5 | ## ![](img/chip.png) GPIO Map 6 | 7 | Some apps will report which GPIO they are using and you can check it here. Checking a GPIO will return useful information about its usage. 8 | 9 | ![GPIO map](img/gpiomap.png) 10 | 11 | ## ![](img/brightness-install.png) Install backlight 12 | 13 | Brightness on monitors that are connected via the DSI display port can be controlled by software. If you have a DSI touchscreen as the [official monitor for Raspberry Pi](https://www.raspberrypi.com/products/raspberry-pi-touch-display) or any of its clones, you can install the necessary software to control brightness by clicking ![Install backlight](img/brightness-install.png) ``Install backlight`` button. 14 | 15 | ## ![](img/brightness.png) Set backlight 16 | 17 | After installing the required software, you will have access to a graphical interface to set the brightness using a slider. 18 | 19 | ![Set Backlight](img/setBacklight.png) 20 | 21 | If you have the ![Notifications](../notifications/img/notifications.png) *Notifications* app installed, you will see a new action added to the list to automatically set the backlight value upon receiving a specific notification: 22 | 23 | ![Backlight Action](img/backlightAction.png) 24 | 25 | ## ![](img/wayland.png) Wayland 26 | 27 | The latest version of *Raspberry OS* contains the Wayland graphical server by default, but some programs and system tools still do not work correctly in this graphical environment. OpenPlotter still uses the old X11 graphic environment by default to ensure that all programs work correctly until Wayland is mature enough. 28 | 29 | You can switch between graphical environments by clicking the ![Wayland](img/wayland.png) `Wayland` button. 30 | 31 | 32 | ## ![](img/ap.png) Hotspot+Client 33 | 34 | To turn the Raspberry Pi internal WiFi device into an access point and a client simultaneously, just click on ![Hotspot+Client](img/ap.png) `Hotspot+Client`. 35 | 36 | !!! note 37 | Go to the [Network](../network/network_app.md) chapter to learn how to connect OpenPlotter to the Internet and how network management has changed since the last version. 38 | 39 | ## ![](img/shutdown.png) Shutdown 40 | 41 | You can use any GPIO on the Raspberry to set a shutdown botton. Click ![GPIO](img/chip.png) ``GPIO`` to choose a GPIO, usually GPIO 21 at pin 40. Select a GPIO ``Transition`` to trigger the shutdown, *high->low* or *low->high*. Select an internal pull resistor, *pull-up* and *pull-down*, or *off* if you use an external pull resistor. Click ![Apply](img/apply.png) ``Apply`` to save settings and changes will be applied after the next reboot. 42 | 43 | ## ![](img/poweroff.png) Power off 44 | 45 | You can use any GPIO on the Raspberry to notify an external circuit that it can safely cut power. Click ![GPIO](img/chip.png) ``GPIO`` to choose a GPIO, usually GPIO 26 at pin 37. Select a GPIO ``Transition`` to trigger the power off, *high->low* or *low->high*. Click ![Apply](img/apply.png) ``Apply`` to save settings and changes will be applied after the next reboot. 46 | -------------------------------------------------------------------------------- /docs/settings/settings_app.md: -------------------------------------------------------------------------------- 1 | # Settings 2 | 3 | To run this app, click ![Settings](img/openplotter-settings.png) `Settings` under `Main -> OpenPlotter` or type this in a terminal: 4 | 5 | ```console 6 | openplotter-settings 7 | ``` 8 | 9 | This is the main OpenPlotter app. You need it to install the rest of the apps. If you are using any of the OpenPlotter images for Raspberry Pi, the sources for the repositories where the OpenPlotter apps live will be installed and working, but if you are installing OpenPlotter from scratch you will see something like this: 10 | 11 | ![Settings1](img/settings1.png) 12 | 13 | To install the sources, click ![Add sources](img/sources.png) ``Add sources`` and then click ![Get Candidates](img/update.png) ``Get Candidates``. You will see the result of each process in the ![output](img/output.png) output tab. After adding the sources you are ready to install the rest of the apps: 14 | 15 | ![Settings2](img/settings2.png) 16 | 17 | ## ![](img/help.png) Help 18 | 19 | This button will be disabled until you install the *Documentation* app. After installation, the button will be enabled and clicking on it will open an offline copy of this documentation in a browser. 20 | 21 | ## ![](img/autostart.png) Autostart 22 | 23 | !!! important 24 | This button should always be checked. 25 | 26 | Allows self-diagnosis at startup of all OpenPlotter apps and some important settings. It will also trigger some programs and tools configured to run at startup. 27 | 28 | ## ![](img/check.png) Check System 29 | 30 | By clicking this button, you can run the self-diagnosis at any time. Each OpenPlotter app installed will add new processes to diagnose its operation. If something does not work as expected, a red message will show the problem and the solution: 31 | 32 | ![Settings3](img/settings3.png) 33 | 34 | This process runs automatically at startup and it is also the time when some important internal OpenPlotter processes are started. 35 | 36 | ## ![](img/ports.png) Network 37 | 38 | Click this button to find out what IP, addresses and ports OpenPlotter is using. 39 | -------------------------------------------------------------------------------- /docs/signalk/img/NMEA0183mux0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/NMEA0183mux0.png -------------------------------------------------------------------------------- /docs/signalk/img/NMEA0183mux1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/NMEA0183mux1.png -------------------------------------------------------------------------------- /docs/signalk/img/NMEA0183mux2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/NMEA0183mux2.png -------------------------------------------------------------------------------- /docs/signalk/img/NMEA0183mux3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/NMEA0183mux3.png -------------------------------------------------------------------------------- /docs/signalk/img/NMEA0183mux4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/NMEA0183mux4.png -------------------------------------------------------------------------------- /docs/signalk/img/apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/apply.png -------------------------------------------------------------------------------- /docs/signalk/img/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/cancel.png -------------------------------------------------------------------------------- /docs/signalk/img/filtre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/filtre.png -------------------------------------------------------------------------------- /docs/signalk/img/settings2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/settings2.png -------------------------------------------------------------------------------- /docs/signalk/img/ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/ship.png -------------------------------------------------------------------------------- /docs/signalk/img/signalk1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/signalk1.png -------------------------------------------------------------------------------- /docs/signalk/img/signalk2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/signalk2.png -------------------------------------------------------------------------------- /docs/signalk/img/signalk3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/signalk3.png -------------------------------------------------------------------------------- /docs/signalk/img/signalk4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/signalk4.png -------------------------------------------------------------------------------- /docs/signalk/img/skinstaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/docs/signalk/img/skinstaller.png -------------------------------------------------------------------------------- /docs/signalk/multiplexing.md: -------------------------------------------------------------------------------- 1 | # NMEA 0183 multiplexing 2 | 3 | The Signal K server is a powerful NMEA 0183 multiplexer. It can merge all the NMEA 0183 devices on your boat into a single channel, add new data to this channel, redistribute data between devices, filter out unwanted data and even correct malformed data. As always, powerful tools can be a bit difficult to understand at first but here we will try to make it easier. 4 | 5 | Using the Signal K server administrator you can set connections to get NMEA 0183 data through *Serial*, *TCP Client*, *TCP Server on port 10110* and *UDP*. There is another option called *GPSD* that works as a TCP client and that you will only use when you want to use that tool to control your GPS/AIS receiver. To add NMEA 0183 connections go to *Server --> Data Connections*, click ``Add``, select ``NMEA 0183`` in *Data Type* and choose an option in *NMEA 0183 source*: 6 | 7 | ![NMEA0183mux3.png](img/NMEA0183mux3.png) 8 | 9 | By default, the Signal K server always creates a TCP server on port 10110. **This TCP server on port 10110 will be the default output of all multiplexed input data**. If you create a new data connection by selecting ``TCP Server on port 10110`` in the *NMEA 0183 source* field, what you are actually doing is also enabling data input to this TCP server on port 10110. 10 | 11 | You can also filter ![filter](img/filtre.png) unwanted NMEA 0183 sentences in each input by entering them in the field *Ignored Sentences*: 12 | 13 | ![NMEA0183mux0.png](img/NMEA0183mux0.png) 14 | 15 | And now comes the most interesting. The Signal K server uses a mechanism called **Events** to internally tag data that comes from connections. When you create an NMEA 0183 connection, by default the data is assigned to the **nmea0183** event, this way the TCP server in port 10110 knows that any data tagged with *nmea0183* should be sent out to clients. If you want the data of any of the connections not to be sent to the output you just have to check ``Suppress nmea0183 event`` in the settings of that connection: 16 | 17 | ![NMEA0183mux4.png](img/NMEA0183mux4.png) 18 | 19 | In addition to multiplexing data from different NMEA 0183 inputs, the Signal K server also converts the NMEA 0183 data to Signal K format and can also receive data in NMEA 2000 or Seatalk1 format from other inputs which will also be converted to Signal K format. If you want to convert some data to NMEA 0183 because its original format was not NMEA 0183 and you want to have it in the output as well, you should use the *Signal K to NMEA 0183* plugin. 20 | 21 | This plugin automatically adds the **nmea0183out** event to the converted data and since the TCP server on port 10110 also listens to this event, it will also send this data to the output. Using two event names here allows distinguishing between original and derived/generated data: 22 | 23 | ![NMEA0183mux1.png](img/NMEA0183mux1.png) 24 | 25 | We have seen how the server uses some predefined system events to collect or discriminate NMEA 0183 data from several sources and send them merged by a single output. We will see now how using custom events we can create more than one output or share data between connections. 26 | 27 | When creating NMEA 0183 connections, you will see an option called *Input Event*. That means you can configure an extra event to tag the input data in addition to the default *nmea0183* event. 28 | 29 | When creating *Serial* or *TCP Client* connections, you will see an additional option called *Output Events*. That means that all data tagged with those events will be sent out the output of that device or network connection. 30 | 31 | UDP connections are inbound only. The *Output Events* of the TCP server on port 10110 are *nmea0183* and *nmea0183out* and cannot be changed: 32 | 33 | ![NMEA0183mux2.png](img/NMEA0183mux2.png) 34 | 35 | !!! note 36 | More information about event handling can be found on the Signal K server [github page](https://github.com/SignalK/signalk-server/wiki/Events-and-Outputting-Data). -------------------------------------------------------------------------------- /docs/signalk/signalk_app.md: -------------------------------------------------------------------------------- 1 | # Signal K Installer 2 | 3 | Install this app from the ![Settings](../settings/img/openplotter-settings.png) *Settings* app and open it by clicking ![Signal K Installer](img/skinstaller.png) `Signal K Installer` under `Main -> OpenPlotter` or typing this in a terminal: 4 | 5 | ```console 6 | openplotter-signalk-installer 7 | ``` 8 | 9 | ![signalk1](img/signalk1.png) 10 | 11 | ![Help](../settings/img/help.png) ``Help`` opens an offline copy of this documentation in a browser and ![Settings](../settings/img/openplotter-settings.png) ``Settings`` opens the main app. 12 | 13 | ## ![](img/skinstaller.png) Reinstall Signal K 14 | 15 | After installing the ![Signal K Installer](img/skinstaller.png) *Signal K Installer* app, the Signal K server should be also installed and you do not have to do anything else to start using it. We add this option in case you need to reinstall the server from scratch if it ever becomes unstable. 16 | 17 | !!! caution 18 | Reinstalling the signal K server will remove the current plugins, login credentials and settings. 19 | 20 | ## ![](img/settings2.png) Settings 21 | 22 | ![Signal K Installer](img/skinstaller.png) *Signal K Installer* app installs the server using port 3000 by default. To access the web administration panel of the Signal K server, you can use this URL from the browser included in OpenPlotter: 23 | 24 | ```console 25 | http://localhost:3000 26 | ``` 27 | 28 | Or this one from a browser running on any computer connected to the same network: 29 | 30 | ```console 31 | http://openplotter.local:3000 32 | ``` 33 | 34 | If you set the port 80 instead the default port 3000, the URLs would be: 35 | 36 | ```console 37 | http://localhost 38 | http://openplotter.local 39 | ``` 40 | 41 | You can change the port or enable SSL at any time without losing your current settings. Use ![Apply](img/apply.png) ``Apply`` to save changes or ![Cancel](img/cancel.png) ``Cancel`` to reload current settings. 42 | 43 | Click ![Vessel Data](img/ship.png) ``Vessel Data`` to set some important data of your boat like name, MMSI, call sign, draft ... You need to login to access this section of the web administration panel. 44 | 45 | ## Logging in 46 | 47 | When you first enter the Signal K web administration panel, it will ask you for a *name* and *password* to create an administrator account: 48 | 49 | ![signalk2](img/signalk2.png) 50 | 51 | Once you do that you will be offered the login page: 52 | 53 | ![signalk3](img/signalk3.png) 54 | 55 | You can add/delete users and change passwords under `Signal K administrator -> Security -> Users`. 56 | 57 | ## More info 58 | 59 | To know how data is managed in OpenPlotter you should read the chapter [How does it work?](../description/how_does_it_work.md) in the *Description* section. 60 | 61 | On the official [Signal K site](https://signalk.org/) you will find a lot of valuable information. 62 | 63 | In recent versions of the Signal K server, documentation has been introduced in `Signal K administrator -> documentation` 64 | 65 | There are more than [270 plugins](https://www.npmjs.com/search?q=signalk-node-server-plugin) and more than [60 apps](https://www.npmjs.com/search?q=signalk-webapp) to extend the Signal K server features. Go to `Signal K administrator -> Appstore`. to install them: 66 | 67 | ![signalk4](img/signalk4.png) 68 | -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: OpenPlotter 4.x.x 2 | use_directory_urls: false 3 | site_dir: build 4 | repo_url: https://github.com/openplotter/docs 5 | copyright: Created by Sailoog, 2024, Països Catalans. 6 | theme: 7 | name: readthedocs 8 | markdown_extensions: 9 | - attr_list 10 | - admonition 11 | - toc: 12 | permalink: true 13 | nav: 14 | - Welcome to OpenPlotter!: index.md 15 | - Description: 16 | - description/what_is_openplotter.md 17 | - description/features.md 18 | - description/how_does_it_work.md 19 | - description/how_to_collaborate.md 20 | - Getting started: 21 | - getting_started/what_do_you_need.md 22 | - getting_started/downloading.md 23 | - getting_started/installing.md 24 | - getting_started/first_steps.md 25 | - getting_started/get_support.md 26 | - Network: 27 | - network/network_app.md 28 | - Settings: 29 | - settings/settings_app.md 30 | - settings/apps.md 31 | - settings/general.md 32 | - settings/raspberry.md 33 | - Signal K Installer: 34 | - signalk/signalk_app.md 35 | - signalk/multiplexing.md 36 | - OpenCPN Installer: 37 | - opencpn/opencpn_app.md 38 | - opencpn/skconnection.md 39 | - Serial: 40 | - serial/serial_app.md 41 | - serial/connectingGPS.md 42 | - serial/cconnectingRS422.md 43 | - serial/connectingCAN.md 44 | - serial/connectingdAISy.md 45 | - CAN Bus: 46 | - can/can_app.md 47 | - can/slcand.md 48 | - can/mcp2515.md 49 | - can/output.md 50 | - Dashboards: 51 | - dashboards/dashboards_app.md 52 | - Notifications: 53 | - notifications/notifications_app.md 54 | - notifications/examples_actions.md 55 | - IoB: 56 | - iob/iob_app.md 57 | - iob/mqtt.md 58 | - iob/telegram.md 59 | - iob/lorawan.md 60 | - Pypilot: 61 | - pypilot/pypilot_app.md 62 | - pypilot/wiring.md 63 | - pypilot/calibration.md 64 | - pypilot/imu.md 65 | - pypilot/autopilot.md 66 | - I2C: 67 | - i2c/i2c_app.md 68 | - GPIO: 69 | - gpio/gpio_app.md 70 | - gpio/1w.md 71 | - gpio/digital.md 72 | - gpio/pulses.md 73 | - gpio/seatalk.md 74 | - Maiana AIS Transponder: 75 | - maiana/maiana_app.md 76 | - maiana/connecting.md 77 | - maiana/configuring.md 78 | - AvNav Installer: 79 | - avnav/avnav_app.md 80 | - SDR VHF: 81 | - sdr-vhf/sdr-vhf_app.md 82 | - Moitessier HAT (Hacked): 83 | - moitessier/moitessier_app.md -------------------------------------------------------------------------------- /openplotter-doc.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=OpenPlotter Documentation 3 | Exec=x-www-browser /usr/share/openplotter-doc/index.html 4 | Icon=openplotter 5 | Terminal=false 6 | Type=Application 7 | Categories=Help; 8 | -------------------------------------------------------------------------------- /openplotter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openplotter/docs/138e0ef85424d4d44b66a30af8f0c183dea65b0d/openplotter.png --------------------------------------------------------------------------------