You can run this exporter on a device (PC or Raspberry PI) connected to an arduino. The exporter will listen to messages sent over the serial port and update the metrics exposed to prometheus. I used this project to visualize and trigger alerts for a lot of sensors values like sound, temperature and water level ... etc
To use the exporter, follow the following steps:
- Create a python virtual environment.
$ python3 -m venv venv $ source venv/bin/activate
- Install arduino-exporter package with pip.
$ pip install arduino-exporter
- To run the arduino exporter process. You can use systemd to run the process on PC or Raspberry PI. The serial port value can be retrieved from arduino IDE.
$ arduino_exporter server run -s $serial_port -p $http_port $ arduino_exporter server run -s /dev/cu.usbmodem14101 -p 8000
- Upload a sketch to the arduino to send the metrics to the serial port.
#define LED 13 void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); } void loop() { digitalWrite(LED, HIGH); delay(1000); digitalWrite(LED, LOW); delay(1000); Serial.write("{\"type\": \"gauge\", \"name\": \"room_temp\", \"help\": \"the room temperature.\", \"method\": \"set\", \"value\": 14.3, \"labels\": {\"place\": \"us\"}}"); }