Gaston - Hi,I have a raspberry pi running Open...
Hi,
I have a raspberry pi running OpenWRT as a router/gateway. I would like this RPi to give some info to SignalK server, for example the CPU temperature, but also the external network I am connected too.
I think the way to do this is like other connected devices: send a request to join, get permission, and then act as a sensor that sends the information as JSON.
So my first question is: is this the way to go or is there another way? I can't for example install NodeRed on OpenWRT (or at least that's challenging), so that doesn't seem to be a solution.
If this is the way to go, can I find a script or so somewhere how to do this, or can someone help me with the basics.
5 Replies
Maybe it is possible with NodeRed on Signalk and the SSH Exec module installed, although I haven't got it working yet. Any tips are welcome.
does the Open WRT application support MQTT?
or you could install MQTT client onto the open WRT rpi,
then send data to your signalk device (that needs MQTT server running on it, and a signalk MQTT client plugin)
sorry i dont have any experience with Open WRT
some googling confirms that yes you can install either a MQTT client or broker from Open WRT …
and there are some specific open WRT packages that will publish wifi details to a MQTT broker.
so you can install mqtt broker on either of your rpi devices..
and then the other is a mqtt client.
if your planning to use mqtt for other things in signalk, then probably better to install the broker on signalk’s rpi.
The simplest protocol to push data to the server is UDP broadcast, so if you can do that in sk deltas or nmea0183 you can configure a connection for that on the server
No additional servers required
Or if your router provides an api you can poll data from that with node-red
tried the openplotter image instead of wrt? It runs a local network by default.
why not install a basic signalk-server on the openwrt box? slap the signalk-rpi-monitor and signalk-networking plugins on top, configure an outbound UDP connection to your main SK server, and you've got your router's info available in your SK server.