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.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Openplotter with EMLID Navio+ hat experiences
#1
So the good news is that I have Openplotter running with the Navio+ ... well almost.

The bad news is that it took quite a bit more work than I expected (and I'm still not done) and I am doubtful about the IMU (compass, pitch & heel) data.

The first problem was that the I2C tab showed me sensors that aren't present and it didn't recognise others that are on the board. There is a conflict between a humidity sensor that it expects at 0x40 and the ADS1115 which is present.

Looking at this in detail it appears that the check_i2c() function within the openplotter app relies on settings in the RTIMULib2.ini file and it is misleading that the RTIMULib files in the openplotter directory are not the ones in use. The files in the hidden directory ~/.pypilot are the ones to use.

I set the following:
IMU type to MPU-9250
I2CSlaveAddress = 112
PressureType=4 (to match the onboard MS5611)
I2CPressureAddress=119

HumidityType=1 (to stop the annoying conflict with the ADS1115)
I2CHumidityAddress=0

Then I had to add the MS5611 in the I2C tab (But don't use the reset button as it screws up the ini file again ...

The bit that worries me about the above is that the I2C address for the MPU-9250 is reported as 0x68 but i2cdetect -y -1 finds nothing at 0x68 and 0x70 is the likely address ...

Basically the I2C tab seems to be "hard coded" for certain sensors. For example someone has already written a tool for the ADS1115 but surely it should be just another sensor under the I2C tab?

Then the GPS ... 
I copied the code and compiled the ublox-spi-to-tcp application from EMLID
Moved it to /usr/bin/
Added spi-dev to /etc/modules file
Created a pythion script which calls the app with the port paramter 5000
And added a line to rc.local thereby invoking the app at startup.
Added an appropriate TCP input under NMEA0183 tab

Using the aforementioned tool for the ADS1115 I also see the 4 analogue channels. I need to do more work on this to get the correct data headers into Signalk.

I'm glad that this isn't my first attempt with the Raspberry and that I know my way around Linux and have a little coding experience otherwise it would have been really tough going ...

But having said that there is a lot going on and it's VERY impressive.
Reply
#2
(2018-03-29, 10:49 AM)garysmith Wrote: So the good news is that I have Openplotter running with the Navio+ ... well almost.

The bad news is that it took quite a bit more work than I expected (and I'm still not done) and I am doubtful about the IMU (compass, pitch & heel) data.

The first problem was that the I2C tab showed me sensors that aren't present and it didn't recognise others that are on the board. There is a conflict between a humidity sensor that it expects at 0x40 and the ADS1115 which is present.

Looking at this in detail it appears that the check_i2c() function within the openplotter app relies on settings in the RTIMULib2.ini file and it is misleading that the RTIMULib files in the openplotter directory are not the ones in use. The files in the hidden directory ~/.pypilot are the ones to use.

I set the following:
IMU type to MPU-9250
I2CSlaveAddress = 112
PressureType=4 (to match the onboard MS5611)
I2CPressureAddress=119

HumidityType=1 (to stop the annoying conflict with the ADS1115)
I2CHumidityAddress=0

Then I had to add the MS5611 in the I2C tab (But don't use the reset button as it screws up the ini file again ...

The bit that worries me about the above is that the I2C address for the MPU-9250 is reported as 0x68 but i2cdetect -y -1 finds nothing at 0x68 and 0x70 is the likely address ...

Basically the I2C tab seems to be "hard coded" for certain sensors. For example someone has already written a tool for the ADS1115 but surely it should be just another sensor under the I2C tab?

Then the GPS ... 
I copied the code and compiled the ublox-spi-to-tcp application from EMLID
Moved it to /usr/bin/
Added spi-dev to /etc/modules file
Created a pythion script which calls the app with the port paramter 5000
And added a line to rc.local thereby invoking the app at startup.
Added an appropriate TCP input under NMEA0183 tab

Using the aforementioned tool for the ADS1115 I also see the 4 analogue channels. I need to do more work on this to get the correct data headers into Signalk.

I'm glad that this isn't my first attempt with the Raspberry and that I know my way around Linux and have a little coding experience otherwise it would have been really tough going ...

But having said that there is a lot going on and it's VERY impressive.

that´s looks great !
I have an Emlid Navio2 but I don´t pluged in my rpi since 2 years now.... That could be a good use of the Navio. 
I am interest of your experience, so if you could share more detail before I go throught the darkness it´ should be verry instructive and save me lot of time. 
Do you know if there are differences between navio+ and navio2 for couplying with openplotter?

Can you share some detail doc and script of the work you have done until today? 

thx
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)