Go Down

Topic: NMEA 2000 Shield (Read 36589 times) previous topic - next topic



I did not understood you setup.
- What is your pc-to-n2k converter
- Where do you have MAX232CPE? For CAN you should use CAN tranceivers
- What do you mean  "...see some data in actisense listener"? Are you using my Arduino example ActisenseListener with Actisense "NMEA Reader" PC sw?

There is new Arduino example ActisenseListenerSender, which can read and send data. With that you:
- Connect Arduino CAN to N2k bus.
- Open Actisense "NMEA Reader" to the programming port.
- Open "NMEA Simulator" to native port.

Now if you enable PGN:s for sending on "NMEA Simulator", you should see them on "NMEA Reader" and also simulated devices on your Garmin or Lowrance. Note that on "NMEA Simulator" you must set device source addresses different than devices you have on N2k bus. "NMEA Simulator" can not yet do Address Claiming.

If you want to send wind data to the N2k bus, take first the example WindMonitor. There you need only to write your code for functions double ReadWindAngle() and ReadWindSpeed() and it will send wind data to the bus. Not that to write N2k, you do not write any NMEA0183 messages to com port. You have to create N2k message and send it as in example void SendN2kWind().

Download newest version of NMEA2000 library and "NMEA Simulator". I have done several fixes within few days.


my hardware is arduino due internal can and can tranceiver tja1050 .
max232cpe is used to connect arduinos serial with rs232 on laptop or garmin in some cases.
yes I am  using your Arduino example ActisenseListener with Actisense "NMEA Reader" .my last attempt was sucsessful.
I could read data from can bus ,see list of nmea2000 devises , but I did not see ActisenseListener in this list. but
your another example FromPCToN2k is shown .I have downloaded your new ActisenseListenerSender example and I will try it today.
I think I need to smoke a lot of manuals before I could create N2k message and send it to bus :)  . thank you for your answer .



Example ActisenseListener and ActisenseListenerSender are blind to N2k bus. If you instead take as I mentined example WindMonitor, it will be shown on the bus. If on WindMonitor you uncomment line
  // Serial.begin(115200);
and change line:

Your wind monitor will act as N2k node, but also lintens and forwards all traffic to the Serial.

I have spent too much time with N2k, so I hope you do not need to. For that there are several ready N2k messages to create for sending with library. You will find these on file N2kMessages.h. If you need some new message (PGN) to be send, contact me so I'll add it to the library for available to everyone. I take few minutes for me to add new PGN, while you may need to dig internet for hours.

Note that WindMonitor uses those predefined functions from N2kMessages.h within its function "void SendN2kWind() {...}

And if you like to visualize N2k data on PC or have webserver for them, check also OpenSkipper. The lates beta is on http://www.kave.fi/Apps The other way for visualizing is to use SignalK (http://signalk.org/)


hello ,
windmonitor is working great ! I see speed and direction of the wind and WindMonitor is shown in device list (exept raymarine i70 but data is shown)
I also try it as ListenAndNode - the bus data is shown in Openskipper .the example "fromPCToN2k" is also seen in the bus .if I turn ListenAndNode I see bus trafic but I cannot send message to n2k even in NodeOnly .I try to send some n2k pgn using nmea simulator but no data is shown on mfd
(lowrance and raymarine) may be I am doing something wrong .I dont anderstand what . but it is a progress . next I wil try to connect wind sensors
to windmonitor . first I will connect potentiometer to analog if sucsess- digital out of sensors .It would be great to connect rudder sensor, so adding
rudder pgn would be great ! I hope this topic would progress !



Note that sending data from PC to N2k bus is not build in the library. It is an other module ActisenseReader. That has been used on both examples fromPCToN2k and ActisenseListenerSender. Note that on ActisenseListenerSender I have used Arduino programming port for data to PC and native port for data from PC to N2k bus. This is because I did not found the reason why stream get jammed, if I used same port for both directions. It worked for some time but on long period it always stopped and nothing went to any direction any more. Maybe there is explanation somewhere, but it was not critical for me at that time.


Today at 08:49 am Last Edit: Today at 08:54 am by timolappalainen

I updated NMEA Simulator with rudder PGN (see Tools-Options...-NMEA2000-"Engine, other") and function void SetN2kRudder(...) to N2kMessages module on NMEA2000 library.



thank you Timo ! I'll try. So I anderstand that if I have a compass in n2k bus , it is possible to calculate true wind direction (listenAndNode) Am I wright ? openskipper dont want to work when I plug n2k compass to the bus.I think it doesn't like high data refresh.


Yes. Then you need tom make similar message handler as in example DataDisplay. I need to add heading parser function to N2kMessages module. Which PGN your compass is sending - PGN 127250? Which GPS compass you have?

I have 10Hz compass and lot of other data coming to OpenSkipper, so I do not think this is the problem with it. Other possibility is that some definition is wrong.

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131