ホーム » DIY
「DIY」カテゴリーアーカイブ
Raspberry-Pi にヒートシンク
自宅のエアコンのない室内温度を計るために動かしている Raspberry-Pi だけど先日暑かったからなのか、反応が無くなり再起動をかけることとなった。熱対策も必要だろうということで、ヒートシンクを買って貼ってみた。
貼る前は、エアコンの利く部屋に置いてある Raspberry-Pi と同じように、
VCGENCMD | vcgencmd/temp OK – 53.2[℃] 0 |
といった感じだったけど、貼り付けたものは、
VCGENCMD | vcgencmd/temp OK – 47.8[℃] 0 |
といった感じで、5℃~6℃のダウンとなった。まっ、十分な効果かな。もう1個買って、もう1つの方も対策してもいいかな。
休耕田の草刈り
夏の定番の休耕田の草刈り。だいたい1/2を終えたあたりで、体力切れ。
先週の地区の草刈りで、草刈り機のエンジンのかけ方のコツを習得したのもあって、最初は好調だったけど、最終的にはヘロヘロ。
トイレ貯水タンクのオーバーフロー管折れ
親に1階のトイレの水が止まらないと相談される。貯水のバルブがチョットずれただけかと思ったけどやっぱり止まらず、確認するとプラスチックのパイプが折れている。ひとまずフロートを紐でくくって吊り上げて水を止め、近くのトイレなどの水回りの業者に電話をするが、日曜日だし繋がらない。トイレ修理でググると、根っこから折れているのはオーバーフロー管というものらしい。見つけた画像(下記)の通りの状況。
しかたがないし、暫定修理ということでオーバーフロー管の内径(22mm)の接手となるパイプを買ってきて水回りでも使える瞬間接着剤をたっぷり塗ってつなげてみた。すぐにぽっきり折れちゃうかな….ひとまず様子見かな。
eRemote mini のファームウェア
自宅の家電制御で、数カ月前に購入していたが未整備だった子供部屋用の eRemote Mini の設定。
eRemote のバージョン
broadlink などで、時間に合わせて家電 ON/OFF をさせたいのだけど、子供部屋の eRemote だけエアコンの停止の制御ができない。信号は出ているようだけど、動かない。ファームウェアのバージョンが低くて、長い赤外線リモコンコードを送信できないのだろうか?
#なぜか停止信号だけがダメな様子。意味不明だなぁ…
リビング(ver 57)、子供部屋(ver 50)
python-broadlink の更新は効果なし
Linux 環境で eRemote を制御する python-broadlink で制御できないので、python-broadlink の問題かと 0.19.0-1 にバージョンを挙げたけど相変わらず動かない。改めて確認するとスマホの eRemote の HomeLink アプリでもエアコンの停止ができないな。やっぱり、ファームウェアの違いが問題のようだ。
python-broadlink の更新だけど、これまでは “pip3 install broadlink” でインストールしていたけど、python3 が 3.11 になったおかげで、”apt install python3-broadlink でインストールできるようになっている。ただ、pip3 でインストールした時は、コマンドラインから python3-broadlink を呼出すための cli が付属していたけど “apt install …” だと cli が見つからない。このため pip3 でインストールした時の cli 配下を復活させプログラムの path を若干修正となった。
DSO-TC3 のメモ
YouTube で安いオシロスコープ&パーツテスタの紹介記事を見つけ目をつけていたが、知り合いも買ってたので思わず自分も購入。
DSO-TC3
届いて開封すると、すごく小さいながらも機能豊富。しかし、中国語&英語のマニュアルしかないので日本語の説明を探す。
Raspberry-Pi などでの電子工作の動作確認などで使ってみたい。
CCS811空気品質センサーに温湿度補正の実行
CCS811を使った空気品質センサーを使っているけど、夜になると次第に異常な値になっていく。
原因はよく掴めないままだけど、CCS811の機能の中に温湿度で補正をかける処理がある。補正といってもちょっとした程度かと思っているけど、時間経過とともに大きく変化していることから、1時間おきに温湿度補正をかけるようにプログラムを追加してみた。
色々と処理を触ってみるけど、時間が経つと大きな値が取れる状態になってしまう。倍率みたいな設定項目あるのかな…
自作スクリプトのエラー対策 try-catch
自宅で動かしているスクリプト、自前だから手抜きもあって、サーバトラブル時には他の機器が巻き込まれてエラーが増えることも多い。自室の homebridge などを動かしている Raspberry-Pi が暑さもあってか、再起動させたら一時的に気絶。復旧は問題なかったけど、気絶中に他の外気温測定のRaspberry-Pi がブローカーとなっている Raspberry-Pi が落ちているため、MQTT のデータ送信に失敗のエラーを出してる。
ちゃんと、connect で出るエラーを try-except で例外処理を追加した。
try : client = mqtt.Client( ... ) client.connect( BROKER ) client.publish( ... ) except ValueError as err : print( err ) except OSError as err : print( err )
以前から、トラブル時にウザいのが、Perl で書かれた RSS 情報をまとめるスクリプト。Perl での try-catch もどきということで eval{} if ( $@ ) … でエラー対策してるつもりなんだけどトラブル時のエラーがうまく動いていないような。今回あらためて、Perl try-catch で検索したら、Perl 5.34 で try-catch が実験的にサポートされているらしいので使ってみた。
use feature qw( try ) ; no warnings "experimental::try" ; : try { $feed->merge( $rss ) ; } catch( $e ) { print "catch $e" ; } # eval { $feed->merge( $rss ) ; } ; # if ( $@ ) { # warn "..." ; # }