GithubHelp home page GithubHelp logo

avnav-seatalk1-reader-rs232's Introduction

avnav-seatalk1-reader-rs232

grafik

General

The plugin read seatalk 1 protocol via configured RS232.

It is widely based on the

There exist the way to activate the GPIO plugin in openplotter/signalk base on 'Seatalk1 to NMEA 0183'. But especially for beginners like me it's possibly a bit to complicate to get knowledge

  • which software serve the hardware,
  • which one is storing the value and
  • what is the way to get these values in avnav.

It takes a bit of time to understand the powerful ideas of multiplexing between all the software in openplotter family. To get in touch with avnav plugin programming and python and to have simple and short data ways I tried another way. Especially the last thing could be interesting: To have the most current 'depth below transducer' value and not the 2 seconds old one.

Parameter

  • device: e.g. '/dev/ttyUSB0'
  • usbid: as alternative for devive name

Details

Hardware needs

There is the need to convert seatalk 1 level to RS232 levels. An example for such an circuit is suggested here: http://www.thomasknauf.de/rap/seatalk3.htm

grafik

Another idea is to use optocoupler between boat and PC.

Software installation

To install this plugin please

  • install packages via: sudo apt-get update && sudo apt-get install python3-serial
  • start pigpio deamon e.g. via sudo servive pigdiod restart
  • create directory '/usr/lib/avnav/plugins/avnav-seatalk1-reader-rs232' and
  • and copy the file plugin.py to this directory.

Using in anvav

  • STW: value from gps.SEATALK_STW in [m/s]

grafik

  • DBT: value from gpc.SEATALK_DBT in [m]

grafik

Known Issues

  • only tested with linux
  • Windows want work caused by missing defines for CMSPAR
  • CMSPAR is needed to use the sticky parity bit functionality

TODOs

  • generate NMEA0183 frames (for multiplexing to other openplotter software like signalk) ?

Helpers

Setup the serial devices by their serial numbers

  • Label your first USB serial device (e.g SeatalkOut)
  • Connect the first USB serial device to the PC
  • Get the vendorID, deviceID and serial number of the tty device (here "/dev/ttyUSB0") udevadm info -a -n /dev/ttyUSB0 | grep {idVendor} | head -n1 => ATTRS{idVendor}=="0403" udevadm info -a -n /dev/ttyUSB0 | grep {bcdDevice} | head -n1 => ATTRS{bcdDevice}=="0600" udevadm info -a -n /dev/ttyUSB0 | grep {serial} | head -n1 => ATTRS{serial}=="A10KKBM3"
  • creates an udev rule mcedit sudo mcedit /etc/udev/rules.d/10-local.rules SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A10KKBM3", MODE="0666", SYMLINK+="ttyUSB_SeatalkOut"
  • Continue with the next devices
  • at the end the file /etc/udev/rules.d/10-local.rules may look like that SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A10KKF9V", MODE="0666", SYMLINK+="ttyUSB_SeatalkInp" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A10KKBM3", MODE="0666", SYMLINK+="ttyUSB_SeatalkOut"
  • Use this names in avnav (e.g: "/dev/ttyUSB_SeatalkInp")

avnav-seatalk1-reader-rs232's People

Contributors

laasa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.