This super simple but extremely capable firmware application turns your RuuviTag into a remote temperature + relative air humidity + air pressure + acceleration sensor.
The firmware has two modes: RAW and URL. The URL mode is low-resolution designed to be used mainly with Android Nearby. The RAW mode sends the data in high-resolution. The user can toggle between the modes by pressing the button B.
Beginning of firmware version 1.2.12, RAW mode has been the default mode. It automatically starts after battery has been connected to the device.
In the RAW mode, red LED blinks once a second.
Just press the button B again to return to the URL mode where the green LED blinks once in five seconds.
The RAW mode uses "Manufacturer specific data" format of Bluetooth Low Energy advertisements to transmit the data. This is the most effective way of packing measurement data of sensors into 20 bytes allowed in the BLE advertisement.
The RAW data format contains temperature, relative air humidity and air pressure readings in high resolution. The RAW mode also includes XYZ-acceleration data and battery voltage. Transmit power is +4dBm (which is RuuviTag's maximum) and packets are sent at 1Hz (once a second).
You can see the environmental values transmitted with Android app.
For a ready-made solution, check out our official Raspberry Pi image which has Scrin's RuuviCollector gathering data to InfluxDB. Grafana then displays the logged data. The Raspberry Pi image also acts as a WiFi hotspot, so you can log into SSID "Ruuvi GW" with password "ruuvi-gateway"
All the passwords are set to these defaults listed below, and SSH server is enabled. Change at least Pi's root password ASAP.
For more details about the RAW (and URL) mode please refer to data format specification.
The URL mode sends rounded environmental sensor values but the transmissions do not include accelerometer data.
The application broadcasts all these environmental variables continuously, 2 times every second. The latest firmware (download here) has a TX power of +4dBm (which is RuuviTag's maximum).
All the nearby Bluetooth Low Energy devices are able to hear them - without needing to pair or connect.
How is this possible?
The Physical Web is the answer. RuuviTag transmits simple URL addresses which have sensor data encoded into them.
Until end of October 2017, Google Chrome on Android/iOS had a widget feature which supported Physical Web. However, now the support has been removed. Read more.
An alternative way to see these readings is to use a beacon scanner. Many are available. The one we love is nRF Connect. It's available on both Android and iOS. You can also try Beacon Toy or Physical Web (iOS).
Ruuvi Innovations Ltd (Oy) / FinlandWeb Design Niku Creative