From 803b5000c118ed8a8a9397a2c8e4ec133773f879 Mon Sep 17 00:00:00 2001 From: Malte Bublitz Date: Sun, 29 Oct 2023 21:43:57 +0100 Subject: [PATCH] Updated README with more content --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f681587..a88310c 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,67 @@ Info display powered by two parts: ## Requirements - Arduino libraries - - SerialCommand Advanced - - serLCD + - [SerialCommand Advanced](https://github.com/shyd/Arduino-SerialCommand) + - [serLCD](http://playground.arduino.cc/Code/SerLCD) + *Note: This is not the official library, but an old one found on the legacy Arduino Playground!* - Python libraries - pyserial - python-dotenv +## Configuration +MAPID is configured using a dotenv file. Currently you have to set three options: + +`SERIAL_DEV` +: Serial device file. `/dev/ttyUSB\*` on Linux, `/dev/cu.usbserial-*` on macOS. + +`SERIAL_SPEED` +: Speed (in Baud) of the serial connection. `9600` is the default value of the Arduino Sketch. + +`FIFO` +: File name for the FIFO. Note that systemd uses a private `/tmp` for services, so the Web-UI cannot access these files, and you have to use a different location. + +An example file for GNU/Linux: + +```sh +# Serial device +SERIAL_DEV="/dev/ttyUSB0" + +# Serial baud rate +SERIAL_SPEED=9600 + +# FIFO filename +FIFO="/var/mapid/fifo" +``` + +## Components + +### `MAPID-CP/` + +An Arduino sketch containing the command line os *MAPID/CP* (CP=Control Program). It supports some commands to control a LCD and a LED (there are even a few more non-relevant ones): + +- Turn the LED on/off: `ON`/`OFF` +- Turn the display on/off: `LCDON`/`LCDOFF` +- Select a line for output: `LINE i` +- Display some text: `ECHO Foo bar` +- Clear the display: `CLS` + +### `mapid.py` + +A Python library used by the other scripts + +### `mapid-count.py` + +Displays a fake bomb countdown like in one of those action movies. Written as a first test for Pyserial communication with *MAPID/CP*. + +### `fifo_bridge.py` + +A Python script that provides a FIFO file to pass commands to *MAPID/CP*. Each line read from that file is directly passed over a serial connection. + +### `fifo-webui/` + +PHP based Web interface for `fifo_bridge.py` supporting all commands of *MAPID/CP* (except for those without a real purpose, that only return some information relevant for interactive serial connections). + +### `notification.sh` + +Use the LED and display to show a notification, the purpose of the whole MAPID project.