This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How I did: OP1.2 + SetalkNG + Control Autopilot + AIS + Navionics
#1
Hi there, 

I had a very hard time trying to find information on how to make my setup work together, so I will write down my steps, so others have something to follow:

Existing hardware:
Rpi3
Matsutec AIS transponder (RS 232 out)
Raymarine everything (ES75 plotter, i70 displays, itc5 for depth/temp/SoW and wind info, EV200 autopilot) all connect using SetalkNG network.
Ipad (Navionics + WilhelmSK)
Sailoog Canbus v2
RS232 -> USB adapter

Phisical connections: (assume that Raymarine stuff is all working)

Matsutec AIS to RS232 adapter to USB port on rpi

Found a empty white port on the SetalkNG hub and connected a modified cable. (brand new "setakNG white cable"cut one of the ends of the cable, isolated everything but the white and the blue wires, connected those two wires to Canbus adapter, white to Can H, blue to Can low (it was backwards in the instructions!, if you connected correctly, and the network is powered up, you will see the led blinks a lot! no blinking, no data))

Canbus to USB to the rpi

Software:

(nothing connected to the rpi except for power)

Brand new image of Openplotter v1.0 to SD card
boot, change to client only for accessing wifi (no other option here)
expand partition to use available space
try to update using the Openplotter admin interface
got an error halfway through. Take a look at the hostapd problem on the forum, tried many times what was discussed here: (http://forum.openmarine.net/showthread.php?tid=1698) some times doing both commands, sometimes doing only one and trying again, eventually the update went through without any errors.

In the SignalK admin page, on Appstore  installed:

signalk-raymarine-autopilot (necessary for controlling the autopilot)
signalk-to-nmea2000 (necessary for sending AIS to the network)

Enable those plugins (still on the signalk admin page) under Pulgin config:

Signal K to nmea0183 (alreadly installed) enable and select depth sentences if you want to have them available to OpenCPN and/or to send to Navionics (I had my AIS data sent by the matsutec in NMEA0183 format, so no need to convert those)

Signalk-raymarine-autopilot (just enable and make sure the id is correct, most likely it is 204)
signalk-to-nmea2000 (enable and select AIS sentences)

Connect the RS232 adapter to the rpi

configure it on the Openplotter admin interface, "Serial" tab, in my case: 
name: /ttyOP_ais 
assignment:kplex 
bauds 38400
apply, it will show up on the Kplex tab

Connect the Canbus adapter to the rpi (already conected to the SetalkNG network)
configure it on the Openplotter admin interface, "Serial" tab, in my case: 
name: /ttyOP_can
assignment:CAN0-USB
apply, it will show up on the CAN tab


BEFORE!!! you select anything on the CAN tab, click on the button "TX PNG enable list", as this option is not available after the Can adapter is in use. 
(it can be changed, just disable the other options on that tab)

Quick explation: for security reasons this adapters are programmed by default NOT to send any useful PGN (NMEA 2000 sentences) to the network, they just read. So you have to manully specify int the hardware of the adapter (not in config file somewhere) which PGNs it is allowed to send. This is done via the button mentioned above.

PGN allowed in my setup:

129794, 129038, 129040, 129041 for AIS

PGN allowed to control Raymarine Autopilot: (I spent many hours looking for this, only found it going through the source code for the Signalk-raymarine-autopilot plugin)

126208

(there is a lot of old info around telling you to modify configuration files, for me, it didnt help and it wasnt necessary on this fresh install)


After you applied and checked that the above PGNs are allowed, still on CAN tab, select the checkbox:

Managed by Signal K (canboatjs) 
input/output CAN-USB (the one on the left)

and, that is it... its working...

it seems like my kplex is loosing comunication with the signal k after sometime (varying from 20 minutes to a few hours) and it only comes back after a rpi reboot. I will investigate that...

Any questions, be specific and I will try to help.
  Reply
#2
About the "kplex is loosing comunication with the signal k after sometime" after further investigation, it was not a kplex <-> Signal K issue, even devices connected directly to kplex were not getting AIS when it stopped working.

So I tried a different RS232 -> USB adapter e bingo! it is working flawlessly.
  Reply
#3
Next step:

Adding some sensors to the mix using ESP32 boards connected via wifi.....
  Reply
#4
Update:

Victron BMV 7xx battery monitor connection:

Used a pair of HC 05 Bluetooth modules configured as Master/Slave. Set them to 19200 baud (Victron output standard).
on the BMV side, you onde need one pin (for output) and, looking to the VE.direct port is the 3rd pin counting from the left. That connects to the RX port on the HC 05. I powered the HC 05 with a separated power supply as the 3.3v output on the BMV was powerful enough according to spec.

(the BMV is specifically 3.3v logic, but some MPPT controllers are 5v logic so be careful with your choice of adapter).

As I didnt want to use the rpi BT module for this, as said before, I used another HC 05 on the rpi side, connected to a USB ttl serial adapter, 3.3v logic.

The adapter was recognized by OpenPlotter and I mapped it to kplex just to have an alias (to use be used latter) for the serial address.

Installed a Signal K plugin to convert Victron VE.direct to Signal K (https://github.com/SignalK/vedirect-serial-usb)  available on the Store.

pointed to the serial alias mentioned above and magic.. I have got all battery monitor information on the network.

few comments: 
- My BMV has built in bluetooth, but Victron states that you can not extract data using it, its for their apps and network only;
- You dont need Victron special cable (ve direct to usb) but it might be a good idea because it is optically isolated. 
- I only used bluetooth because running a cable was not practical. Its just as TTL 3.3v logic @ 19200 baud that you want to send to the rpi, any way you can do that may work


Temperature and Pressure sensor (Barometer):

- Connected a BPM180 sensor to the rpi (google pinout) it was instantly recognized by OP (i2c tab) I just mapped the desired Signal k sentences and it was up and running.


MQTT:

To get mosquitto (mqtt broker) running by default on OP you need to set a user and password on the MQTT tab. Its kind of NOT obvious, but that is it, just put a user and a password and apply.
Than you can map topics received to Signal K sentences. Tried it with the MyMQTT app on android and it worked with no problems. 
My ESP32 sensors talk via MQTT so the plan is to integrate them to OP using this feature. 


InfluxDB and Grafana:

after many trials and errors what worked: (and it works great!!!!!)

Installed influxDB from apt-get (update first)

Installed SignalK to InfluxDB pluging (on the SignalK store) https://github.com/tkurki/signalk-to-influxdb  (follow the instructions on the readme file to create a database)

Now Signalk numerical data is being stored on the created database (around 10MB a day, in my case, 7 days retention), just need a nice way to display it: Enters Grafana!

DO NOT install Grafana using apt-get. It is an old bugged version. 

Go to https://grafana.com/grafana/download?platform=arm and download the latest Ubuntu and Debian ARMv7 version
(just copy and past the 2 command lines)

Before you run Grafana you have to change the default port from 3000 (used by SignalK server) to something else. I'm using 3030.
Change here:  /etc/grafana/grafana.ini  under [server] http_port

You might choose to run both influxdb and grafana as services at boot (google it).

Look up on google on how to create beautiful dashboards with Grafana, its very easy. I created a dedicated "Weather" dashboard with Barometric pressure, air and water temp, wind speed/direction. 

comment: Grafana runs way better if opened from a windows/mac laptop/pc than on the rpi itself. It looks great on the ipad, but lacks some interaction with the graphs that require a mouse.

Battery monitor data on the graphs looks awesome, give you so much information of when things are happening on the electric side (I can see my fridge cycling by the ripples on the "current" graphs, for instance. Or the exact time of the morning the solar panels kicked in, fascinating for a geek).
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)