2023年4月19日水曜日

MJPG-Streamerのホワイトバランス設定

すみません、以下、NGです。コマンドラインからの実行だと意図した設定に変わるんですが、システムごと再起動して同じスクリプトを呼び出すとWB治ってません。


 調べても、ピシャリ!というリファレンスが見つからなかったので、とりあえず自分のメモとして残します。

まず起動したWebページのControlボタンからパネルが開き、そこのAuto White Balanceで調整するといい感じになります。うちの場合はGreyworldがベストでした。

ただ、再起動するために毎度設定するのもウザいので、自動設定しようとしたら少しハマりました。-wb greyworldなどと指定しても落ちます。あちこち読んでいたら

-awb : Set AWB mode (see raspistill notes)

という記述を見つけてraspistillのhelpを見たところ

AWB mode options :
off,auto,sun,cloud,shade,tungsten,fluorescent,incandescent,flash,horizon,greyworld

というリストが!これをMJPG-Streamerのパラメータにはintと書いてあるので、off = 0から数えて10番目。-wb 10と指定したところ、Greyworldと同じ色になりました。

ちなみに起動スクリプトはこんな感じです。id/passwordは開くときのBASIC認証につかわれます。

#!/bin/sh
PORT="8080" #ポート番号
ID="your id" #ID
PW="password" #パスワード
SIZE="480x640" #画面サイズ
FRAMERATE="5" #フレームレート
export LD_LIBRARY_PATH=/usr/local/lib
mjpg_streamer \
-i "input_uvc.so -f $FRAMERATE -rot 90 -wb 10 -r $SIZE -d /dev/video0 -y -n" \
-o "output_http.so -w /usr/local/share/mjpg-streamer/www -p $PORT -c $ID:$PW"

余談ですが、縦位置にするために-rot 90を指定したら画像が流れてしまいました。

解像度360x640にしていたためで、これを480x640にしたらちゃんと見られます。

よかったよかった。

2023年4月8日土曜日

インターフォンの改造、その2


前回は、市販のワイアレスインターフォンの改造でした。音の代わりに光で通知する。

ですが、来客の方から「わかりにくい」と不評です。そりゃ、玄関にインターフォンが2つ並んでいたら変ですよね……。

ということで、もともとついているインターフォンを改造することにしました。改造と言っても賃貸住宅なので、はんだ付けなどはできません。あくまでも既存の端子から信号を拝借するだけです。

インターフォンの仕様書をみると、玄関のボタン、火災報知器などの通知があると、まとめてONになる出力がありました。「無電圧接点」というやつで、工業用のセンサーなどでごく一般的な方式です。通知状態になるとONになります。

予備テストとして、テスターの抵抗レンジでつないでみると、OFFの時には数MΩ、ONになると数百Ωになります。テスターの抵抗レンジは電圧が低いのでトランジスタだと抵抗が大きめに表示されます。

というわけで、インターフォンの端子(2mmピッチで、JSTのPHが刺さりました)から線を引っ張り出して、M5Stack AtomのGPIOと出力、GNDと共通端子(GND)を接続します。

INPUT_PULLUPでdigitalReadしてみると、ちゃんとHIGH / LOWが返ってきます。玄関ボタンが押されるとしばらく室内で通知ランプがついているのですが、そのあいだずっとLOWになっているようです。

ということでソフトを組みます。今回はSlackへの通知とMQTTへの通知を使います。

M5 ATOMをWiFiと接続して予めMQTTにsubscribeしておき、GPIOがLOWになったところで、SlackにPOST / MQTTにpublishします。

LOWになってから0.3秒ほどでMQTTに通知され、1秒ぐらいでMacのSlackに通知が届き、その2-3秒あとにiPhoneに通知がきます。

これでiPhoneを持っていれば、トイレに入っていても大丈夫です(いやトイレから玄関まで遠いから無理)。

そして、もう1個M5 ATOM Matrixを用意してMQTTにsubscribeしておき、トピックを受信したところでLEDを点滅させるようにしました。iPhoneの通知はいまいち遅いのですが、MQTTはほんと瞬時に通知が来ます。

素晴らしい。

耳が悪いと来客ほんとうに苦手で、コロナで「置き配」が一般化するまでは荷物を受け取り損なうことも多々ありました。宅配ボックスが一般化して、だいたい問題はなくなったのですが、最近、食事の支度が面倒で宅配弁当を取り始めたもので、手渡しで受け取る必要が生じました。それで今回、こんなものを作った次第です。

電子工作が家庭の役に立つことは滅多にないのですが、役に立って嬉しいです ^ ^

2023年4月5日水曜日

インターフォンの改造

 私は聴覚障害者です。

不便なことはいろいろありますが……何が不便ってインターフォンが聞こえないんですよね。居間で補聴器をしていればきこえますが、仕事部屋に引っ込んでいるとまったく聞こえません。

最近のインターフォンはスマフォに通知が飛んだりするのですが、私の住んでいる安団地ではそんな気の利いたインターフォンはついてません。

というわけで、後付しました。光の点滅で知らせてくれれば把握できるからです。

最近Amazonなどで2000円ぐらいで売っている、電池のいらないインターフォンというやつです。ボタンの部分が発電機になっていて、その電力で電波を飛ばす方式ですね。昔、数万円しましたが、ずいぶん安くなったものです。

ワイヤレス チャイム 自動発電 電池不要

ただ、私が買ったやつは、音はでっかいのですが、光はごく弱く、よそ見をしているとわかりません。

ということで、改造しました。

まず分解調査

ケースを空けると、1枚の基板でAC100Vが直接基板にはいる方式です。危ないので、一応用心のために厚手のニトリル手袋をして作業します。

回路をたどっていくと、4.6V電源、3.3V電源、GND、あと着信すると点滅するLEDが見つかりました。点滅するLEDは、LEDそのものを取り外すと、普段4.6Vがかかって点灯しており、着信すると0 - 4.6Vの間で変化します。なので、これを取り出して外付けの大きいLEDを駆動することにします。

LED駆動回路

普段点灯していると困りますので、PNPの駆動回路を使って逆論理にします。トランジスタは手持ちの2SA1015です。

基板上のLEDから4.7Kの抵抗を通してベースにつなぎ、4.6V電源からエミッタにつなぎ、コレクタから27Ωの電流制限抵抗を通してパワーLEDのアノードへ、LEDのカソードはGNDとつなぎます。さらにトランジスタのベースとエミッタの間に10Kの抵抗を入れます。

電源装置を4.6Vにセットして、トランジスタのエミッタに+、LEDのカソードをーにつなぎます。そして、4.7Kの抵抗をGNDにつなぐとLEDが点灯し、4.6Vにつなぐと消灯します。

回路は狙い通り動いているようです。

インターフォンへの組み込み

まず写真で青く光っているLEDを取り外します。あとは、写真のように、4.6V、GND、LEDの駆動側(写真の回路だと右側)をつなぎます。なお、ケースの蓋に穴をあけておき、配線を通すのを忘れないように。

つないだあとは電源をいれて、意図したとおりに動作することを確認します。

引っ張ったりして切れたり思わぬところとつながるといけないので、はんだ付けした箇所などをホットボンドで覆っておきます。まぁ気休めですけどもね……。

あとは、子機と親機を取り付けます。

……取り付けるとお客さん来ないんですよね……。

宣伝

ちょっとした改造で便利になる家電、たくさんあります。「音しかでないアラームを光るようにしたい」「アラームだけでは目が覚めないので、いっそマッサージ機を枕の下にいれて、時間が来たら大振動を起こしてほしい」そんな楽しいご相談お待ち申し上げております。

マイコン応用製品の開発相談・製作受け付けます 事前相談で詳細見積作成+実際の開発製作のツーステップで対応!