OpenMarine
i2c Sensors Breaking OpenPlotter - Printable Version

+- OpenMarine (https://forum.openmarine.net)
+-- Forum: OpenPlotter (https://forum.openmarine.net/forumdisplay.php?fid=1)
+--- Forum: How do I...? (https://forum.openmarine.net/forumdisplay.php?fid=3)
+--- Thread: i2c Sensors Breaking OpenPlotter (/showthread.php?tid=1610)



i2c Sensors Breaking OpenPlotter - happybike - 2018-12-17

Hey All,

I got two i2c sensors I'm trying to hook up, but they keep breaking OpenPlotter after I configure them. Initially it works, but once I reboot, OpenPlotter refuses to open. When I try to launch OpenPlotter, I get an error message saying "SignalK doesn't work. OpenPlotter will exit because it wasn't able to start SignalK." I tried reinstalling the OS twice, and it keeps doing the same thing every time.

Here is the error log from the terminal. Any ideas?


Code:
Signal K starting
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
ReferenceError: suboptions is not defined
   at Object.signalKInput [as SignalK] (/home/pi/.config/signalk-server-node/providers/simple.js:166:44)
   at new Simple (/home/pi/.config/signalk-server-node/providers/simple.js:40:34)
   at createPipeElement (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:64:14)
   at result.pipeElements.providerConfig.pipeElements.reduce (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:26:23)
   at Array.reduce (native)
   at createPipedProvider (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:24:49)
   at app.config.settings.pipedProviders.reduce (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:75:23)
   at Array.reduce (native)
   at Object.startProviders [as start] (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:73:50)
   at /home/pi/.config/signalk-server-node/lib/index.js:158:56
   at createServer (/home/pi/.config/signalk-server-node/lib/index.js:206:3)
   at Promise (/home/pi/.config/signalk-server-node/lib/index.js:143:5)
   at Server.start (/home/pi/.config/signalk-server-node/lib/index.js:142:10)
   at Object.<anonymous> (/home/pi/.config/signalk-server-node/bin/signalk-server:22:8)
   at Module._compile (module.js:577:32)
   at Object.Module._extensions..js (module.js:586:10)
Signal K starting
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
ReferenceError: suboptions is not defined
   at Object.signalKInput [as SignalK] (/home/pi/.config/signalk-server-node/providers/simple.js:166:44)
   at new Simple (/home/pi/.config/signalk-server-node/providers/simple.js:40:34)
   at createPipeElement (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:64:14)
   at result.pipeElements.providerConfig.pipeElements.reduce (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:26:23)
   at Array.reduce (native)
   at createPipedProvider (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:24:49)
   at app.config.settings.pipedProviders.reduce (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:75:23)
   at Array.reduce (native)
   at Object.startProviders [as start] (/home/pi/.config/signalk-server-node/lib/pipedproviders.js:73:50)
   at /home/pi/.config/signalk-server-node/lib/index.js:158:56
   at createServer (/home/pi/.config/signalk-server-node/lib/index.js:206:3)
   at Promise (/home/pi/.config/signalk-server-node/lib/index.js:143:5)
   at Server.start (/home/pi/.config/signalk-server-node/lib/index.js:142:10)
   at Object.<anonymous> (/home/pi/.config/signalk-server-node/bin/signalk-server:22:8)
   at Module._compile (module.js:577:32)
   at Object.Module._extensions..js (module.js:586:10)
Traceback (most recent call last):
 File "/home/pi/.config/openplotter/openplotter", line 3539, in <module>
   MainFrame().Show()
 File "/home/pi/.config/openplotter/openplotter", line 224, in __init__
   self.page_sk()
 File "/home/pi/.config/openplotter/openplotter", line 2998, in page_sk
   self.close()
AttributeError: 'MainFrame' object has no attribute 'close'



i2c Sensors Breaking OpenPlotter - tkurki - 2018-12-17

That looks like your Signal K settings are invalid. Please post /home/pi/.signalk/settings.json and/or share a screen shot of your provider settings.


Sent from my iPhone using Tapatalk


RE: i2c Sensors Breaking OpenPlotter - happybike - 2018-12-18

(2018-12-17, 08:11 PM)tkurki Wrote: That looks like your Signal K settings are invalid. Please post /home/pi/.signalk/settings.json and/or share a screen shot of your provider settings.


Sent from my iPhone using Tapatalk

I did not have a settings.json at that location. Here are the contents of the file located at ~/.config/signalk-server-node/settings.


Code:
{
 "vessel": {
   "name": "Volare",
   "brand": "Friendship",
   "type": "22",
   "uuid": "urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d"
 },

 "pipedProviders": [
   {
     "id": "nmeaFromFile",
     "pipeElements": [
       {
         "type": "providers/filestream",
         "options": {
           "filename": "samples/plaka.log"
         },
         "optionMappings": [
           {
             "fromAppProperty": "argv.nmeafilename",
             "toOption": "filename"
           }
         ]
       },
       {
         "type": "providers/throttle",
         "options": {
           "rate": 1000
         }
       },
       {
         "type": "providers/liner"
       },
       {
         "type": "providers/nmea0183-signalk",
         "options": {
           "sentenceEvent": "nmea0183-B"
         }
       }
     ]
   }
 ]
}



i2c Sensors Breaking OpenPlotter - tkurki - 2018-12-19

The file you enclosed is not the one being used, as it is the demo settings for nmea0183 sample data playback.

Your message has the word ’simple’, that suggests you configured your data provider from the admin ui. However there is no way to configure an i2c input in the admin ui, so it is really hard to offer help when it is not clear what you are doing.


Sent from my iPhone using Tapatalk