host | ||
teng | ||
.gitignore | ||
README.md |
teng-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
- command (
uint8_t
,rw
):00010002-9a74-4b30-9361-4a16ec09930f
send a command to the arduino:0
- STOP: stop active measurements1
- MEASURE_COUNT: measure count measurements with interval seecount
andinterva
below2
- MEASURE: measure with interval until interrupted seecount
below
- reading (
uint16_t
rn
):00010003-9a74-4b30-9361-4a16ec09930f
the reading from the Arduinos analog pin - count: (
uint16_t
,rw
):00010004-9a74-4b30-9361-4a16ec09930f
set the number of measurements to take withMEASURE_COUNT
- inteval: (
uint16_t
,rw
):00010005-9a74-4b30-9361-4a16ec09930f
set the interval between measurements in ms