Skip to content
/ ruuvi2db Public

A lightweight service for reading, storing, and displaying RuuviTag datapoints.

License

Notifications You must be signed in to change notification settings

s5i/ruuvi2db

Repository files navigation

ruuvi2db

ruuvi2db is a service for collecting measurements from RuuviTags, storing them in a database of choice, and displaying the data via HTTP.

Tested on Raspberry Pi Zero W.

Features

Supported data formats:

Output data:

  • Temperature (°C)
  • Relative humidity (%)
  • Air pressure (hPa)
  • Battery voltage (mV)

Supported databases:

  • BoltDB (custom format)

Requirements

  • Linux 2.6.23+
  • Bluetooth adapter with BLE support
  • Raw capture capabilities for the binary

Installation

wget https://github.com/s5i/ruuvi2db/releases/latest/download/ruuvi2db
chmod +x ./ruuvi2db

sudo mkdir -p /usr/local/ruuvi2db
sudo mv ./ruuvi2db /usr/local/ruuvi2db
sudo chown root:root /usr/local/ruuvi2db/ruuvi2db

sudo tee /etc/systemd/system/ruuvi2db.service << EOF > /dev/null
[Unit]
Description=ruuvi2db Service
Requires=network.target
Requires=bluetooth.target

[Service]
Type=simple
ExecStartPre=sleep 10
ExecStart=/usr/local/ruuvi2db/ruuvi2db
Restart=always

[Install]
WantedBy=multi-user.target
EOF

sudo /usr/local/ruuvi2db/ruuvi2db --create_config

# Change as desired.
sudo vim /usr/local/ruuvi2db/config.yaml

sudo systemctl enable ruuvi2db
sudo systemctl start ruuvi2db

ruuvi2db can also be ran without root privileges.

  • Default BoltDB path requires root; change as desired.
  • Default HTTP port is 8080. Can be overridden in config.
  • Raw capture capabilities need to be granted.
sudo setcap "cap_net_raw,cap_net_admin=ep" "$(which ruuvi2db)"

Not there yet

Support for the following data formats:

About

A lightweight service for reading, storing, and displaying RuuviTag datapoints.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published