Wiki

Clone wiki

EngineMonitor / Version_2_0

Version 2.0: Networking the EngineMonitor - in progress

See Networking EngineMonitor for a discussion on the choices made

Version 2.0 integrates a Raspberry Pi with the two serial pins on the Arduino. A small web server runs on the RPi and publishes HTML pages with the engine data. Web pages can be viewed on any tablet or PC with a web browser. There is no NMEA or SignalK integration in this version. There is also no data logging in this version.

Parts Needed

  • Raspberry PI, any edition should work
  • USB WiFi dongle for the RPi
  • Logic level shifter

Wiring

Arduino digital pins 0 and 1 connect to a logic level shifter. RPI GPIO pins 8 and 10 connect to the logic level shifter. Positive and negative pins from both the Arduino and the RPI are also connected to the logic level shifter.

Arduino Code

The Arduino code is modified to publish a JSON string over the serial pins, digital 0 and 1. The JSON string contains the values from all the sensors.

Raspberry PI Code

The Apache web server with Python publishes HTML/JS pages that display the sensor data. Python uses the pyserial library to query the Arduino.

There are javascript libraries to format the data in analog-gauge style dynamic gauges. These would refresh every second.

gauges.png

EM2_small.jpg

Raspberry PI as Access Point

In progress.

The RPI can be configured as a WiFi access point. This eliminates the need for a separate WiFi router on board. These steps are TBD.

Updated