Wiki
Clone wikiEngineMonitor / 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.
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