ホーム » 2020 (ページ 3)
年別アーカイブ: 2020
二酸化炭素レベル測定で換気判定
コロナ対策で、空気中の二酸化炭素レベルを測定して換気を行う事例をテレビでやっていたので、I2C接続のセンサーをAmazonでポチって、ちょいプログラム作成。(取り付け時のメモ) センサー値が安定するまで時間がかかるというものなので、daemon化させる必要もあって、ちょっと面倒だったけどうまく動くようになった。
考察
センサーのeCO2が400ppm以下は判定できないので、こんなグラフが取れるようになった。ファンヒーターをつけるとグラフが上がっていく。1000ppm以上だと換気推奨レベル。とはいえ、朝の冷え切った部屋が温まるまでは、換気もできんけど。
グラフ中の8:00-12:00は、daemon化させていたプログラムのバグ直しまでの影響だけど、このセンサーはeCO2の値は、2000ppm が上限みたいだな。ソースコード確認したら、eCO2>2000 , TVOC>1200 は異常値扱いしていた。販売元のページには、測定レンジもう少し広い値だったので、プログラムの方を修正。
グラフの立ち上がりは、ファンヒーターが原因だけど、夜中の3:30にグラフが立ち上がってるのが原因不明だなぁ…。
一番ありそうな仮説。猫が「コレ何?」と、センサー周りでクンカ・クンカでもしたのかなぁ….Raspberry-Pi+センサー、テレビの台に置いてあるからなぁ…
温度湿度センサーをBME280に切り替え
自室の温度測定には、USBRH というセンサーとそれに伴うソフトを使っていたけど、使っていたライブラリの都合で、Raspberry-pi のバージョンを最新にできずにいたけど、今回 同じようにI2Cの温度・湿度・気圧のセンサー BME280 を購入し温度測定のプログラムを切り替えた。
ということで、そろそろ Raspberry-Pi のOS更新もやろうかな。
bind9でfilter-aaaaがpluginになる
自宅サーバを使っていて、raspberry-pi の更新をかけていたら、IPv6アドレスにつながらないトラブル発生。
我が家では、上流が IPv4-only だけど、自宅内の機器間のに IPv6 も使えるようにしている。このため、DNS の設定では、bind9 に、filter-aaaa-on-v4 の設定を加え、IPv4 の機器からの問い合わせには、IPv4 のみを返答することで、対応していた。
しかし、改めて “nslookup www.google.com 192.168.xx.xx” を実行したら、IPv4からの問い合わせの癖に、しっかり IPv6 が返ってきている。
調べてみると、bind9 (9.14)から filter-aaaa 機能は plugin になるみたい。んで、自宅サーバは 9.11→9.16 により filter-aaaa がoffになったのが原因…と思ったけど、syslog をみると “–enable-filter-aaaa”付きでcompileされてるし、”option ‘filter-aaaa-on-v4’ is obsolete and should be removed” と表示されてるから、現状では、まだ使えているはず。
ひとまず IPv6 オフ
ラズバイは、ひとまず下記の設定で、IPv6 をオフにしておく。
$ sudo /etc/sysctl.conf ((下記を追加)) net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 $ sudo sysctl -p
これは、IPv6 が戻ったら、元に戻そう。
bind9 に plugin の filter-aaaa 設定
plugin になったら、下記のような設定をするようだけど、うまくいかないので近日中に要対応。
$ sudo vi /etc/bind/named.conf.options plugin query "/usr/lib/x86_64-linux-gnu/named/filter-aaaa.so" { filter-aaaa-on-v4 yes ; filter-aaaa-on-v6 yes ; filter-aaaa { any ; } } ;
UbuntuなMacbookair(2011)、WiFi動かず
以前に愛用していたMacbook Air(2011)だけど、性能不足からUbuntuを入れていたけど、ちょい Terminal として使おうと起動させたら、Ubuntuは立ち上がるけど、WiFiがつながらない。色々再起動もかけたけど、やっぱり起動せず。限界かなぁ…
どうも、アップデートでインストール時に入っていた WiFi のドライバが消えたみたい。macbookair の WiFi ドライバは、別途入れる必要があるみたいだな。
$ sudo aptitude install firmware-b43-installer bcmwl-kernel-source
ということで、無事 WiFi が復活。まだまだ、使い倒そう。
CO2センサーをRaspberry-Piにつなぐ
SEN-CCS811 - Raspberry-Pi GND - GND(6) VCC - 5V(4) SDA - I2C1_SDA(3) SCL - I2C1_SCL(5) RST - VCC(2) # Resetする時はGNDにつなぐ WAKE - GND(9) INT - NC
$ sudo raspi-config $ sudo /boot/config.txt dtparam=i2c_arm_baudrate=50000 (default 100kHz→50kHz) $ ls /dev/i2c-* /dev/i2c-1 $ sudo i2cdetect -y 1 $ sudo pip3 install smbus2 # python3 用smbus モジュール
@TohruSaitoh-20/11/13
- 11/13 MacBook Air (Early 2015) は、いけるよーだが、今日はやめとこ。 https://twitter.com/TohruSaitoh/status/1…
- 11/13 iMac(Late 2013)だし、あたりまえだろーな。 https://twitter.com/AppleSupport/status/… https://twitter.com/TohruSaitoh/status/1…
- 11/13 うーむ、職場の棟の給水が止まってるとな。?するにも隣の1Fに降りて隣の建物に移動かよ。
- 11/09 RT @itmedia_news: 100RT サーバ管理会社が契約更新ミス 「ふくいナビ」全データがクラウドから消失、復旧不能に https://www.itmedia.co.jp/news/articles/…
- 10/19 かわぃぃ。だけど、元ネタの地上絵、猫だけ画風が別物だよな。 https://twitter.com/yazawanchara/status/…
nhk_news
- 11/01 RT @nhk_news: 【速報 JUST IN 】「007」初代ボンド役 ショーン・コネリーさん死去 90歳 英報道 #nhk_news https://www3.nhk.or.jp/news/html/2020103…
この記事は@TohruSaitohのつぶやきのまとめです。
Money forward for 福井銀行がサービス停止
銀行やクレジットカードの管理で、Money Forward を使っているけど、福井銀行と連携した …for 福井銀行のサービスが停止になり、Money Forward ME に統一されるみたい。
今までも、全体で10個ほどの連携してたので500円/月払ってたし、そのまま移行だな。
homebridge-gsh と cec-client
homebridge-gshで、google-homeからHomeKit(homebridge)を制御
自宅で homebridge-config-ui-x で、家電制御の設定が楽になり、homebridge-gsh にて、Google Home から Apple の HomeKit の制御を呼び出せるようにしてみた。今までは赤外線リモコンベースなので、テレビのON/OFFがトグル動作で怪しかったが、HomeKit 経由だと、TVにつなげた HDMI 接続のRaspberry-Pi から HDMI 接続の他の機器に、ON/OFF を明示的に制御ができるようになる。
cec-client で 電源ON/OFF ができなくなった
無事、homebridge-gsh が動き出したのに、CATVSTB の電源が ON/OFF できない。入力切替は正しく動いているのに…
cec-client の動作状況を表示させながらうごかすと、定番の 「echo “on 1” | cec-client -s」で動かない。メッセージを見ると、対象機器がうまく選べないのが原因みたい。
CEC では、物理機器番号と論理機器番号で管理されていて、物理機器番号が決まらないのに on はできない…といったのが原因みたい。cec-client のバージョンがあがり、その辺がいいかげんなコマンドが送れないようになったようだ。
しかたがないので、CEC-O-MATIC のページにて、他の方法を試すと、以下のコマンドなら、正しく電源のON/OFFができた。
$ echo "tx 26:36" | cec-client -s # チューナーをけす Recording2 → Tuner2 standby $ echo "tx 26:44:6C" | cec-client -s # Recording2 → Tuner2 User Control Pressed Power Off $ echo "tx 26:44:6D" | cec-client -s # Recording2 → Tuner2 User Control Pressed Power On
ということで、cec-client を呼び出す処理を、上記のコマンドを使うようにして、無事 google-home から HomeKit 呼び出しに成功。
google-home に、”NHK をつける” と話しかけると、homebridge-gsh 経由で homebridgeが呼び出され、「地デジ切替と1チャンネルの赤外線信号」をだすし、”チューナーを消す”と言えば、cec-client 経由でtx 26:44:6c を送ってチューナーの電源が切れる。超便利。
(追記)
“tx 2X:44:6D” による電源ONは、HDMIの電源連動機能が動かないみたい。”on Y” だと、(TVで連動ON設定が必要だけど)チューナーの電源を入れれば、TVも連動してONになっていた。しかし、”tx 2X:44:6D”ではテレビがつかない。TV側の連動機能を知らないうちにOFFにしたのかと思ったけど、リモコンでチューナーをつければテレビ付くし。
ということで、cec-client を使って電源操作するシェルスクリプトに、TVの電源ON動作を行う機能を追加しておいた。