ただし、Linuxでのデータの取得は比較的簡単です。小さな松葉杖を使わなければなりませんでしたが、結局、コンソールでco2と温度の読み取り値を取得して、さらに送信することができました。
この記事では、IoBrokerおよびHome Assistantへのデータの送信について説明しました。
libhidapiライブラリとgithubにある小さなco2monプログラムが必要です。
apt-get install git cmake g++ pkg-config libhidapi-dev
co2monプログラムをダウンロードしてコンパイルする
mkdir co2
cd co2
git clone https://github.com/dmage/co2mon.git
cd co2mon
mkdir build
cd build
cmake ..
make
cd co2mond
mv co2mond ../../../co2mond
パスは、システムに合わせて調整する必要がある場合があります。
このプログラムは、コンソールで絶えずデータを受信するモードとデーモンモードの2つのモードで動作します。パラメータなしで起動すると、プログラムは強制的に閉じるまで、コンソールに現在の読み取り値を常に表示します。少し奇妙な解決策、私はそれを理解していなかったかもしれませんが、私たちは私たちが持っているもので作業しています。
どちらのモードでも、プログラムはデータをテキストファイルに保存し、-Dスイッチを追加してディレクトリへのパスを指定するだけです。
スマートホームの既に弱いサーバーに別の悪魔を掛けたくなかったので、二酸化炭素に関するデータはすぐには変わりません。したがって、プログラムを起動し、5秒待ってから終了する単純なスクリプトを投入しました。
#!/bin/bash
cd /home/server/co2
./co2mond -D /home/server/co2 > log.txt &
sleep 5
pkill co2mond
rm log.txt
スクリプトをcronに追加します。1分に1回実行します。これで十分です。
できた!プログラムが作成する2つのテキストファイルに、現在の気候値が表示されます。
重要なポイント-usbからデータを受信するには、ユーザーは適切な権限を持っているか、cronをそれぞれrootとして実行する必要があります。作成されたテキストファイルもrootになるため、これを考慮する必要があります。
次は、受信したデータをスマートホームシステムに送信します。 IoBrokerから始めましょう。そもそも、自分でこのタスクを設定した時から使っていました。
すべてが単純です-特に、ファイルシステムからファイルを読み取ることができるsysteminfoアダプターがあります。これらの温度が必要であるというわけではありませんが、なぜ必要ではないのですか。
保存して出来上がり:
その後、ホームアシスタントに切り替えました。その中で私は蚊を使用しており、将来的にコンピューターを分離したりセンサーを追加したりすることを目的として、データを送信することにしました。
ブローカーのインストールと構成は考慮していません。これは記事の範囲を超えています。
センサーが接続されていない場合は、センサーが接続されているコンピューターにmosquittoクライアントをインストールする必要があります。
apt-get install mosquitto-clients
Home Assistant設定に2つのセンサーを追加して、再起動します。
- platform: mqtt
state_topic: "co2/co2"
name: "co2.co2"
unit_of_measurement: ppm
- platform: mqtt
state_topic: "co2/temp"
name: "co2.temp"
unit_of_measurement: °C
データを受け取るスクリプトに4行追加します。
read co2 /home/server/co2/CntR
read temp /home/server/co2/Tamb
mosquitto_pub -h localhost -t "co2/co2" -m $co2 -u "" -P ""
mosquitto_pub -h localhost -t "co2/temp" -m $temp -u "" -P ""
完了しました。問題ありません)これで、私たちのクローネがセンサーの測定値をco2トピックに1分に1回公開し、次にどのHome Assistantがそれらを読み取ります。
これで、スマートホームシステムにセンサーデータがあり、自動化をスケジュールできます。私のフードはオンになっていますが、まだ換気を制御していませんが、フードをオンにすると、空気は徐々に更新されます。