このプロジェクトについて

ruuvitag-gollectorは、Goで書かれたセルフホスト型ソリューションで、RuuviTagセンサーからBluetooth Low Energy (BLE)ブロードキャストを介して環境測定値を収集し、さまざまなバックエンドに転送します。Linuxシステムを対象としており、BlueZ D-Bus APIを使用してセンサーデータのスキャンと読み取りを行います。このプロジェクトは、ファームウェア2.x以降を実行するRuuviTagが発するRAWv2フォーマットをサポートしています。 コレクターは、測定値を複数のエクスポーターに同時にプッシュできます。これには、InfluxDB(ローカルまたはリモート)、PostgreSQLおよびTimescaleDB、AWS DynamoDB、AWS SQS、GCP Pub/Sub、MQTT、JSON POSTリクエストを受け入れる汎用HTTP Webhookが含まれます。各エクスポーターはTOML設定ファイルで個別に設定され、同じセンサーデータを複数の宛先に同時に送信できます。 設定は簡単です。ユーザーはRuuviTagのMACアドレスと人間が読める名前を指定し、接続情報とともに1つ以上のエクスポーターを定義します。既存のデータベーススキーマに合わせてカスタム列名を設定でき、不要な列を除外することもできます。デフォルトの列には、時刻、MACアドレス、名前、温度、湿度、気圧、加速度(x/y/z)、移動カウンター、測定番号、露点、バッテリー電圧、TXパワーが含まれます。 アプリケーションは2つのモードで実行されます。テスト用のワンショットスキャンモードと、継続的収集用のデーモンモードです。BlueZがシステムにインストールされ実行されている必要があり、通常はBluetoothアダプタにアクセスするための昇格された特権が必要です。このプロジェクトはRaspberry Piのような低価格ハードウェアで動作するように設計されており、温室、テラリウム、大気データ収集などの趣味や小規模な環境監視プロジェクトに利用できます。コレクター自体にはサブスクリプションやクラウドサービスは不要ですが、ターゲットデータベースやGrafanaなどの可視化ツールはセルフホストまたはクラウドホストする必要があります。