ホーム » T-Saitoh (ページ 16)
「T-Saitoh」カテゴリーアーカイブ
空気品質センサーの挙動
空気品質センサー CCS811 を設置しているけど、夜中だけ値が上がるのなぜなんだろうなぁ?
このセンサーは、CO2センサーといいながら、有機ガスでCO2値を予想するタイプなので、灯油ストーブを使う季節になると、気化した灯油で値が高くなる。ストーブが点いているいる時は、有機ガスを燃焼させるのか値が下がる。だから、夜中はセンサー値が上がっていく。ただ、仕事で不在でストーブを使っていない時間にも値があがるはずなんだけど、夜中ほどじゃないんだよなぁ~!?!?
ウィルスバスターのライセンス追加購入
自宅では、ウィルスバスターのライセンスを家族で使ってる。最近あ~の新しいPCが増えたけど、マカフィーの無料ライセンスが切れアンインストール。でも、早々にウィルス感染を警告する詐欺のポップアップ広告を踏んだみたい。PCに慣れてれば標準Defenderでもなんとかできるかと思ってたけど、やっぱり対策ソフトは必要かな。
ウィルスバスターは1ライセンスで3台使えるけど、ママPC, あ~古PC、あ~スマホと使い切ってるし、お古のPCもまだそれなりに使ってるみたいだし、追加ライセンスを購入することにした。その結果、あと2台使えることになったので、自分のPCにも久々にウィルスバスターをインストールとなった。Windowsの標準Defenderでなんとかなるけど、たまに、うざぃポップアップ広告を踏むたびに、履歴削除とか面倒だったし。
Raspberry Pi のUSB電源ケーブルを交換
MZ80C筐体の Raspberry-Pi に温湿度センサーBME280をつけてトイレに置いてあるけど、ボードを Raspberry-Pi 3 model A+に替えたら、電圧不足の記録が残ってて週に1度のペースでフリーズしてる。USBの電源アダプターも2A以上だせる物に替えても効果なし。ただ、USB電源ケーブルの長さが足りなくて、古いUSB延長ケーブルを挟んでいるんだけど、これが怪しいのかな。長い太目のUSB電源ケーブルに交換し、延長ケーブルを取り外す。効き目あるかな。
交換して半日たったけど “vcgencmd get_throttled” を見ても、電圧低下の警告が出ていない。効果ありかな。
(追記)2日間運用して、電圧低下の警告が1度も発生していない。これで安心
アマチュア無線のコールサイン更新
あまり使っていないけど、職場のアマチュア無線の部もあるし、5年前に復活させたコールサイン。ふと電波使用料の書類が出てきて、色々確認したら更新の時期。慌てて更新手続きをしたら、直前すぎて更新手続きに失敗。
しかし、再交付を覚悟してネットで手続きを始めたら、更新費用が6月に振り込み済みになってる。よくよく考えると、書類が届いて手続きして交付費用も振り込んだけど、肝心の免許状の受け取り手続きを忘れていただけ。間違った申請の取り消し作業をして、免許状の返信封筒を入れた封書を送り、今日無事に届いた。更新手続きの案内は送ってくれるけど、受け取り手続き忘れはほったらかし。
google-home-playerをインストール
Raspberry Pi で動かしていた homebridge だけど、nodejs.20.x が出ているとのことで、更新をかけた。しかしこの反動で、google-home-notifier が喋らなくなった。以前より google-home-notifier の内部で利用している google-tts-api のバージョンがあがると動かなくなるトラブルが発生していた。この状況下で、この後継となる google-home-player が出ているので、これを契機に乗り換え。
google-home-player のインストール
google-home-player を使うと、Google Home mini, Google Nest mini で自然なに英語や日本語をしゃべらせることができる。
$ sudo npm install -g google-home-player
Rapberry-Pi の更新で GPIO が動かない
64bit OS の arm64 で動かしている Raspberry-Pi で、rpi-update を実行したら、kernel が Linux 6.1.61-v8+ となり、自作スクリプトのいくつかが動かなくなった。原因は wiringPi や GPIO など絡んだ処理の中では、/proc/cpuinfo にアクセスして “Hardware” を取得しその値に合わせてアクセスするポートなどを切り替えているみたい。しかしながら、linux-6.x になったら /proc/cpuinfo で Hardware 情報が取れなくなったため、wiringPi, GPIO関連のプログラムが動かなくなった。
BME280 温湿度センサーを GPIO 経由から ioctl() から I2C を制御する処理に書き換え
$ ./bme280 Oops: Unable to determine board revision from /proc/cpuinfo -> No "Hardware" line -> You'd best google the error to find out why.
参考にしていたプログラムが wiringPi 経由で I2C 接続の温湿度センサー bme280 を使っていたけど、仕方がないのでプログラムを修正し、ioctl() 経由に修正。
bit 演算が多用されていて、unsigned char と char の宣言を手抜きしたら、異常値が出るようになった。char型の部分を unsigned char に修正したら、大きな値にずれる異常値はなくなった。でも、その後も時々小さな値となる異常値が発生した。どうも nagios やら munin で監視していると時々同じタイミングで bme280 の値取得の処理が起動されるようで、I2C デバイスの競合が発生していると思われた。このため、I2C デバイス /dev/i2c-* を開く際に flock() による、排他処理も追加した。
OLED ディスプレィ SSD1306 の処理を Adafruit_CircuitPython_SSD1306 に変更
Adafruit_Python_SSD1306 を使って表示させていた処理が動かなくなる。内部で WiringPi などを使っているのか “RuntimeError: Could not determine platform…” といったメッセージが出て動かなくなる。これも GPIO あたりのトラブル。調べていると Adafruit_CircuitPython_SSD1306 なら動きそう。
$ sudo pip3 install adafruit-circuitpython-ssd1306
若干のプログラム修正で動くようになった。
古い灯油の廃棄
ストーブの季節が終わると、今までなら残った灯油は、給湯ボイラーに使っていた。でも、この春はエコキュートの導入で、灯油の始末ができずに半年経過。この灯油をファンヒーターなどに使うと不完全燃焼で壊れてしまう。
改めて調べると、ガソリンスタンドで引き取ってもらえるということで、廃棄を依頼した。ちょっと量があったので「少しならそのまま引き取るけど、量が多いので若干費用を…」とのことで、10円/㍑で引き取ってくれた。