E-Sensor

概要

E-Sensor 外観

E-Sensorは、建築環境の計測・解析を目的としたオープンソースの計測デバイスです。USB接続により、多様なプラットフォームでのデータ取得を可能にします。

計測項目

計測項目使用センサ計測範囲起動時間
乾球温度SHT40-40 – 125 °C約5秒
相対湿度SHT400 – 100 %約5秒
風速独自開発0.0 – 5.0 m/s約5秒
照度OPT30010.0 – 83865.6 lx即時
CO2濃度STCC4380 – 32000 ppm約5秒

使い方

Mobile (iOS / Android)

専用アプリケーションをインストールし、USB Type-C ケーブルでデバイスを接続してください。

  • iPhone / iPad (USB-C 端子): USB-C ⇔ USB-C ケーブルで直接接続。
  • iPhone (Lightning 端子): Apple 純正「Lightning - USB カメラアダプタ」または「Lightning - USB 3 カメラアダプタ」を介し、USB-A ⇔ USB-C ケーブルで接続してください。
    ※ 通常の Lightning 充電ケーブルでは接続できません(iOS から USB デバイスとして認識されません)。
  • Android (USB-C 端子): USB-C ⇔ USB-C ケーブルで直接接続。

PC (Windows / Mac / Linux)

標準的なMIDIインターフェースとして認識されます。Pythonライブラリを利用することで容易にデータ取得が可能です。

入手方法

本デバイスはオープンソースです。設計データに基づき自作、あるいは完成品を購入できます。

完成品を購入する (Amazon:準備中)

通信仕様

MIDI SysEx (System Exclusive Message) を使用した通信プロトコルを採用しています。データは4bitごとのニブル分割(High-Low順)で送信されます。

[F0] [7D] [Command ID] [Data 0 High] [Data 0 Low] ... [CRC High] [CRC Low] [F7]

コマンド一覧

コマンドID方向説明データ(ニブル変換前)
0x01D → H現在のセンサ計測値を送信する(要求0x02への応答)14 bytes (センサデータ構造体)
0x02H → D現在のセンサ計測値の送信を要求するなし
0x03H → Dデバイス内部の計測プロセスを開始するなし
0x04H → Dデバイス内部の計測プロセスを停止するなし
0x05H ↔ D風速計の補正係数Aを転送・保存する20 bytes (float[5]) + CRC(1 byte)
0x06H → D保存されている補正係数Aの送信を要求するなし
0x07H ↔ D風速計の補正係数Bを転送・保存する20 bytes (float[5]) + CRC(1 byte)
0x08H → D保存されている補正係数Bの送信を要求するなし
0x09D → Hデバイス固有のシリアルハッシュ値を送信する4 bytes (uint32_t)
0x10H → Dデバイス固有IDの送信を要求するなし
0x11D → Hファームウェアのバージョン情報を送信する3 bytes (Major, Minor, Rev)
0x12H → Dファームウェアバージョンの送信を要求するなし
0x13D → HCO2校正実行後の補正値(差分)を通知する2 bytes (int16_t)
0x14H → D基準濃度を指定してCO2センサを強制校正する2 bytes (uint16_t) + CRC(1 byte)
0x15H → DCO2センサを工場出荷時状態にリセットするなし
0x16D → HCO2センサのリセット完了を通知するなし
0x17H → DCO2センサの初期調整(コンディショニング)の実行を要求するなし
0x18D → HCO2センサの初期調整を開始したことを通知するなし
0x19D → HCO2センサの初期調整が完了したことを通知する(所要時間:約22秒)なし

センサデータ構造体 (ID: 0x01)

Offset項目単位
0照度計測値×10 Luxuint32_t
4温度計測値×100 ℃int16_t
6湿度計測値×100 %uint16_t
8風速mm/suint16_t
10電圧mVuint16_t
12CO2濃度ppmuint16_t
14Flagbit0:照度, bit1:温湿度/CO2, bit2:風速/電圧uint8_t