From 29d08921f108ce5921f1961c6413d7ea89a15f5c Mon Sep 17 00:00:00 2001 From: "Matthias@Dell" Date: Mon, 26 Jun 2023 18:50:49 +0200 Subject: [PATCH] added gatt service info --- README.md | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 426347b..da3fdc6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,41 @@ # teng-arduino -Measure teng output with an arduino +Measure analog signal using an Arduino and Bluetooth communication. +This program was written (and tested) for the **Arduino RP2040 Connect**. + +[https://github.com/MatthiasQuintern/m-teng] has a backend that can connect to the Arduino. + +## Configuration +See `settings.hpp` for which pin needs to be connected. +The program uses 3 leds for displaying device status, however these are optional. + +## Installation +``` +git clone https://github.com/MatthiasQuintern/teng-arduino +arduino-cli compile --profile nanorp +arduino-cli upload --profile nanorp +``` + +## Communication via Bluetooth +The Arduino will advertise a Bluetooth Low Energy service which can be used to interact with the device. + +Service UUID: `00010000-9a74-4b30-9361-4a16ec09930f` +0. status (`uint8_t`, `rn`): `00010001-9a74-4b30-9361-4a16ec09930f` + - `0`: **ERROR**: error occured: invalid command received, can not advertise Bluetooth service, etc. + - `1`: **BUSY** + - `2`: **WAIT_CONNECT**: waiting for Bluetooth connection + - `3`: **CONNECTED**: connected, waiting for command + - `4`: **MEASURING**: connected, measurement running +1. command (`uint8_t`, `rw`): `00010002-9a74-4b30-9361-4a16ec09930f` + send a command to the arduino: + - `0` - **STOP**: stop active measurements + - `1` - **MEASURE_COUNT**: measure *count* measurements with *interval* *see `count` and `interva` below* + - `2` - **MEASURE**: measure with *interval* until interrupted *see `count` below* +2. reading (`uint16_t` `rn`): `00010003-9a74-4b30-9361-4a16ec09930f` + the reading from the Arduinos analog pin +3. count: (`uint16_t`, `rw`): `00010004-9a74-4b30-9361-4a16ec09930f` + set the number of measurements to take with `MEASURE_COUNT` +4. inteval: (`uint16_t`, `rw`): `00010005-9a74-4b30-9361-4a16ec09930f` + set the interval between measurements in ms + +