はじめに
東京デバイセズのUSB接続のセンサー「TDSN7200」を使えば、温度・湿度・気圧を簡単に測ることができます。今回はRaspberry Piを使って、ツールのインストールや設定方法、Pythonでデータを取り出す方法をわかりやすく解説します。
1. TDSN7200ってどんなセンサー?
TDSN7200はUSBでつなげる小型のセンサーで、温度、湿度、気圧を高精度で測定できます。Raspberry Piでも簡単に使えるようになっています。
- 温度:-40~125℃(精度 ±0.2℃)
- 湿度:0~100%RH(精度 ±1.8%RH)
- 気圧:260~1,260hPa(精度 ±0.1hPa)
2. はじめる前に準備するもの
- Raspberry Pi OSをインストール済みのRaspberry Pi
- インターネット環境(Wi-Fiまたは有線LAN)
- Python3(通常は最初から入っています)
3. 必要なツールをインストールしよう
Raspberry Piで次のコマンドを実行して、ツールをインストールします。
sudo apt update
sudo apt install -y git build-essential libusb-dev python3 python3-pip
- git はソースコードのダウンロード用です。
- build-essential はソースコードをビルドするためのツールです。
- libusb-dev はUSB接続デバイスを扱うためのライブラリです。
4. USBの権限を設定する
一般ユーザーでもUSBセンサーを使えるようにする設定をします。 下記のコマンドで設定ファイルを作ります。 32eeと177dはTDSN7200のベンダーIDとプロダクトIDです。
sudo tee /etc/udev/rules.d/99-usb-tokyodevices.rules <<EOF
SUBSYSTEM=="usb", ATTR{idVendor}=="32ee", ATTR{idProduct}=="177d", MODE="0666"
EOF
変更を反映します。
sudo udevadm control --reload-rules
sudo udevadm trigger
5. センサー用コマンド(td-usb)のビルド
GitHubから制御コマンドtd-usbをダウンロードして使えるようにします。
git clone https://github.com/tokyodevices/td-usb.git
cd td-usb
make
ちゃんと動くか試してみましょう。
./td-usb
# → バージョン情報が表示されれば成功!
6. Pythonでセンサーデータを取得する
次のPythonスクリプトを書いて、10秒おきにセンサーのデータを取ってみます。
#!/usr/bin/env python3
import subprocess
import time
def read_sensor():
result = subprocess.run(['td-usb', 'tdsn7200', 'get'], capture_output=True, text=True)
if result.returncode != 0:
print("エラーが発生しました:", result.stderr.strip())
return
temp, hum, pres = result.stdout.strip().split(',')
print(f"温度: {temp} ℃, 湿度: {hum} %RH, 気圧: {pres} hPa")
if __name__ == "__main__":
print("センサーの測定を開始します。終了するにはCtrl+Cを押してください。")
try:
while True:
read_sensor()
time.sleep(10)
except KeyboardInterrupt:
print("\n測定を終了しました。")
7. おわりに
この記事で、Raspberry Piを使って手軽に温度・湿度・気圧を測れるようになったと思います。実験や研究、趣味のプロジェクトなど、いろんな場面で活用してみてください!