Go Down

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

timolappalainen

Did you foind any online shop for those?

Heikkif

No not really any web shops selling those Navilock receivers. Ebay had some. Ordered Radiolink ones as they were third the price and free shipping.

maxik

Hello Timo!
Thank you for your work!

A you trying your library with wi-fi and programms like https://play.google.com/store/apps/details?id=air.N2KViewMobile . I want to reading some parameters from nmea bus on my tablet.

autopilotNOR: about fuel sensor -- why you are not using capacitive sensor? You can easily make it from arduino nano and fiberglass plate.

timolappalainen

NMEA 2000 protocol on CAN is standard. When data is sent over internet or WiFi, there are different solutions and formats. Some converts possible data to NMEA0183 (B&G), some packs it to NMEA0183 like including hex data (SeaSmart). I do not know the format Maretron uses. Note that also Maretron USB100 N2k-USB gateway uses different format than Actisense, which is supported on my library. So you can not even use N2k-USB gateway with e.g. Open Skipper on my NMEA Simulator.

There is SeaSmart convert on the library, so you can make device, which sends that and use other sw on phone. There is actually ESP32 example for that. Or with ESP32 you can make web server to show data as you like.

pagoda54

Currently planning to put Barometric Pressure on N2K for my B&G plotter.
The boat device will be a Teensy 3.2 to minimise power needs.
I have tested Teensy with a simple one parameter PGN - and  Actisense Reader decodes the numbers OK.
In addition I checked the CAN side by feeding the Teensy CAN to another Mega 2560 with transceiver  running the Actisense listener  -that is received OK. So the NMEA2K CAN operates  OK.

However, trying various combinations of Mega/Teensy, there have been no occasions when the "fake" Manufacturer data is displayed by Actisense Reader  -at either end?

The actual data comes through , but none of the "Set Product" or "Set Device" info is shown.  I have stuck with the simplest one/two parameter examples.

What else (?) is needed to identify the source of this new info on the N2K network??
Or is there something missing in the Actisense Reader??

Thanks,  Graeme

timolappalainen

What eample you have used for the start?
Do you use mode N2km_ListenAndNode on NMEA2000.SetMode(...)?
What do you mean with "fake" manufacturer?

On NMEA2000 there is problem that it defines just manufacturer code, which you can buy from NMEA organization for some big money and yearly costs. So there is no place, where you could tell manufacturer to be "Company ltd". This stupid limitation also means that if you have bought e.g. Garmin MFD 2 years ago, it would show for every new manufacturer registered after that as "unknown". Normally MFD:s and Actisense Reader will show serial numbers right. So if that information is not right, then there is some other problem.

Remember to drop Teensy sped down to 24 Mhz and you get it running with about 14 mA on 12 V. I have that with my temperature system.

pagoda54

What eample you have used for the start?
Do you use mode N2km_ListenAndNode on NMEA2000.SetMode(...)?
What do you mean with "fake" manufacturer?

On NMEA2000 there is problem that it defines just manufacturer code, which you can buy from NMEA organization for some big money and yearly costs. So there is no place, where you could tell manufacturer to be "Company ltd". This stupid limitation also means that if you have bought e.g. Garmin MFD 2 years ago, it would show for every new manufacturer registered after that as "unknown". Normally MFD:s and Actisense Reader will show serial numbers right. So if that information is not right, then there is some other problem.

Remember to drop Teensy sped down to 24 Mhz and you get it running with about 14 mA on 12 V. I have that with my temperature system.
Many thanks for that - I'm using PGN 130312 temperature parameter sender  as the source "device" -with dummy fixed temperatures  . I have tried ListenAndNode and ListenOnly. 

The Acticense reader on the Mega2560 sees the data and interprets it correctly.

I was just puzzled why none of the SetProduct or SetDevice info showed up.


Actisense Reader is version 1.517- I am not aware of anything more up to date?

I have used the Actisense SW to program a genuine Actisense device (NGW-1)  before- to set up what PGNs it used.  The Actisense SW identifies PGN 192996 in it's hardware configuration list tab as "product information but that has never appeared in the Data View Tab.
While the Programming side of Actisense SW has nothing to do with Arduino/Teensy  the list of PGNs appears to be what it deals with. It can read new PGN lists from a newer device it appears. Update from hardware for RX/TX only works with Actisense devices I think.

Does Device/Product info need to be requested from a node? or is it exchanged on first handshaking?


thanks, Graeme

timolappalainen

Use N2km_ListenAndNode. Other modes are for special cases like ActisenseListener, which should not tell anything about being on the bus.

The problem is that if you use just TemperatureMonitor example and ActisenseListener on the bus, there is no device requesting Device/Product info. On start TemperatureMonitor will send ISO address claim PGN 60928), which contains device info. If you use NGT-1, that will make requests for all devices on the bus. Other solution is to use third device with example DeviceAnalyzer, but that requires at least Teensy, since it collects all information to th memory.

pagoda54

Use N2km_ListenAndNode. Other modes are for special cases like ActisenseListener, which should not tell anything about being on the bus.

The problem is that if you use just TemperatureMonitor example and ActisenseListener on the bus, there is no device requesting Device/Product info. On start TemperatureMonitor will send ISO address claim PGN 60928), which contains device info. If you use NGT-1, that will make requests for all devices on the bus. Other solution is to use third device with example DeviceAnalyzer, but that requires at least Teensy, since it collects all information to th memory.
OK,  I can probably do that, as I have another Mega2560 and transceiver card. I'll load up the Teensy with Device analyser and use the 2nd Mega to  transmit wind info. That way there should be some competition for bus addresses :-) and provoke some exchange of Device info that I can capture.

Thanks ,  Graeme

pagoda54

Use N2km_ListenAndNode. Other modes are for special cases like ActisenseListener, which should not tell anything about being on the bus.

The problem is that if you use just TemperatureMonitor example and ActisenseListener on the bus, there is no device requesting Device/Product info. On start TemperatureMonitor will send ISO address claim PGN 60928), which contains device info. If you use NGT-1, that will make requests for all devices on the bus. Other solution is to use third device with example DeviceAnalyzer, but that requires at least Teensy, since it collects all information to th memory.
Success at last. Made a tabletop NME2000 network with 2 Megas and a Teensy.  Two Megas spitting out Temp and Wind example data, the Teensy reading Pressure and temperature from a BMP280 on I2C. They can all see each others data.
I have yet to connect to the boat network, but I think I'm in business.
The MFD is a B&G Vulcan. It can do time plots of data incoming. Does the SID value get used for determining the sequence of data or only identifying when data has the same nominal time stamp?
I suspect the latter.  Thanks for the help!

timolappalainen

As far as I know SID only tells that data has same time stamp even they data be delivered in different time. So e.g. if you have tempereature monitor monitoring several temperatures, you may read temperatures to memory at "same time" and then send them in different messages. So all messages can then have same SID. I do not know how well other devices use that information.

pagoda54

If I find out , I'll post it here.

Your NMEA2000>NMEA0183 converter interests me.
Does it know anything about Autopilot PGNs?
I have a rather hybrid boat set up. Originally B&G H3000 fastnet network- which still works OK. I use a proprietary B&G device to communicate fastnet with N2K. (H5000 converter). That works well but is ONE WAY.  The autopilot function is still fastnet only. The H3000 cpu does have NMEA0183 inputs and B&G "think" it may accept NMEA 0183 steering commands. If I can get my B&G plotter N2K steering commands translated to NMEA2K then I could be in luck. Any clues would be appreciated. (no commercial purpose- own boat only)

timolappalainen

Converter is an example and at the same time full working with current messages. I you know message formats to convert on both side, it is reasonably easy to add new messages by following current logic. I do not know NMEA0183 steering messages.

pagoda54

OK,  success at the boat.  B&G Vulcan can see the data from the teensy.  There appears to be more than one source for 130311- environmental data. The other one has nulls for atmospheric pressure and humidity. My data has only nulls for humidity.  It doesn't seem to cause any problems.  There is another PGN -130845 which also provides some similar parameters. I couldn't find it among those in your lists? Have you come across it? 
The Vulcan appears as several devices. How much is software and how much actually separate nodes I can't tell.  Curious that it can be done in software as you have done

timolappalainen

There can be several sources for same PGN on the bus. This is normal specially for temperature. They can even send same instance and temperature source. In MFD you should be able to clue your data to the device "NAME", which is actually "device information". Due to address claiming you should not use on your own devices just device address. That is also reason for tDeviceList class.

Note that PNG 130311 and 130312 are deprecated and should be used except, if need them on old devices. Vulcan supports 130316 Extended temperature.

PGN 130845 is on proprietary area and content depends of manufacturer. It has been recorded e.g. on Simnet. You can find rather complete list of PGN contents on canboat project https://github.com/canboat/canboat/blob/master/analyzer/pgns.json . It has some descriptions for 130845, but does not mean that you see any of them.

I have also seen that Vulcan shows several devices - I think four. I do not know are they internally different hw or sw as I have multidevice support on my library. I either do not know could sw multidevice be certified.


Go Up