headAD

2019年2月4日月曜日

照明器具へ人感センサーを付けてみた

我が家の廊下には、人感センサー付きの照明を使っています。利用してみるとなかなか便利で、照明が必要な時にスイッチを忘れてしまうくらいです。

キッチンの照明がLED照明器具ではあるけれど点灯したままになっていて、LEDではあるもののつい気になってしまいます。

壁スイッチを人感センサー付きに変えてもいいですが、ここは工作でやってみましょう。

それでは、人感センサー基板、リレー、電源を準備します。
ほぼジャンク品で用意できますが、人感センサーは秋月電子で購入しました。

写真中央の人感センサーは5v(~20v)電源と検知した時に3Vを出力します。
感度と検知した時に一定の時間出力する時間の調整できます。


写真左の5v電源は、携帯電話機の充電器の廃物利用です。5v600mAほど出ます。

写真右は照明器具の電源をon/offするリレーです。人感センサーからの出力でリレーをドライブするためにトランジスタを直付けしています。


人感センサーを下にして、左側の半固定抵抗が検出感度、右側がON時間の調整ができます。(2019-02-23 追加)




次の写真は器具の中に組み込んだ状態です。
5v電源は元のケースに戻して組付けます。センサー基板は適当なケースが無いのでプラ板を折って作成しました。







器具の横からそのままセンサーを出しています。
これで順調にon/off出来ています。






●秋月電子 焦電型赤外線センサーモジュール(焦電人感センサ)
http://akizukidenshi.com/catalog/g/gM-09627/
●秋月電子 5vリレー(接点容量2A)
http://akizukidenshi.com/catalog/g/gP-07342/




●接続はこんな感じ




.end

2019年1月6日日曜日

明けましておめでとうございます。

2019年新年明けましておめでとうございます。
今年もよろしくお願いします。

元旦の初日の出は、雲の間の画像となりました。完全に出遅れました。

001


毎年恒例の三社参りです。

大宰府天満宮
有名な天満宮なのでどうしても混みますが、地元ならではの知っている道順と駐車場に停めます。
皆さんは参拝の列中央に並んでいますが、左右の周辺から回り込めば早くお参りが出来るので、さっさと済ませて右側奥の茶店に行って抹茶セット(抹茶と松ヶ枝餅1ケ)+松ヶ枝餅1を食して次の神社を参拝します。

006


次は、太宰府天満宮近くの竈門(かまど)神社
込み具合はぐっと少なくなって、直ぐにお参りできます。
お札売り場も数年前に奇麗になっています。

005

もう一つは、宇美八幡宮です。
写真忘れたのでホームページを掲載します。
ここのクスノキは立派です。

毎年、年初めの祈願をこの神社を回って参拝しています。



2018年11月8日木曜日

熱気球 鈴鹿のmapを作る

11月23日から11月25日まで熱気球の鈴鹿バルーンフェスティバル2018が開催されます。
佐賀大会と同じように、事前に自分用のGARMIN製ハンディGPSのJNXファイル形式の地図を作ります。

マップを切り出すときの経度・緯度を忘れるので、ここに張り付けておきます。備忘録ですね。

詳細は、前回佐賀のこことかもっと前のここをご参考ください。

さて、鈴鹿でのゴールリスト全体を括ると、南東部の海や北西部の山間部まで含めてしまい、メモリ容量的に無駄かなと感じますが、鈴鹿サーキット付近で南北を分割するとよさげですが、ちょっと面倒なんで、今回は全体括りで作成します。
suzukagoal_thumb

鈴鹿エリアは下の緯度経度で切り出します。
(1)LAT1,LON1:34.715,136.40        LAT2,LON2:34.94,136.64
 
suzuka_thumb

あとは、前回作成した要領で、じっと待つのみ。

全部のゴール地点を含む地図データは、約364MBでした。


関連記事は
こちら

2018年10月14日日曜日

Balloon Flight Support の紹介

 約4年前からコツコツ作っている、熱気球の現在位置を把握するアプリです。
熱気球本体(バルーン)側の位置・高度・進行方向が、地上支援(チェイサー)側へリアルタイムに届き、バルーンと一体となった支援活動ができます。
また、バルーンの飛行状況がWebで見えるので、遠く離れたところからでも観察できます。



詳細は、Balloon Flight Support ページへ
bl003

PCだけでなく、iPhoneやandroidなどのスマホやタブレットで使えます。


サンプル画像です。
exsample-1
 


..

2018年6月24日日曜日

Raspberry Pi2 Node.jsからMongoDBへアクセスできなくなった

51AmnWwg0PL._SL160_openlogo-100


Raspberry Pi2 のOSを Debian jessie から stretch へアップデートしたところ、 jessie の環境で Node, MongoDB が動いていたが、アップデートしてから Node からMongo へアクセスするとエラーを吐いてきた。

MongoDB のバージョンが古い。 2.6以上が必要と!!!!

たしかに、こちらの環境は、Nodeのバージョンは 5.6、 MongoDBは 2.4.10

Mongoの方は、Raspberry pi で公式に入手できるのはこのバージョンしかない(古すぎるけど)

最初は、MongoDB のバージョンを上げることを考え、ネット上を徘徊したがメジャーバージョンアップだとデータの持ち方も変わるなど、リスクが伴いそうな気がしてきた。

Node, MogoDB それぞれ単独では動作するので、Node の MongoDB ドライバーに問題がありそうだということが解ってきた。

ここまで、半日かかった~~。

そこで、Nodeのドライバーを管理している npm のパッケージインストール状況を確認してみた。

$npm list
mongoose@5.1.6
mongodb@3.0.10

Mogoose に引っ張られて mongodbドライバー 3.0.10 が入っているのが原因だぁ。

ここまでくれば、ドライバーバージョンを下げてやればいい。

package.json ファイルの mongoose を元に戻し、頭に^キャロットを付けメジャーバージョンが一致するものに固定した。
"dependencies": {
  "mongoose": "^4.4.17",

再度、 $npm install として npm を更新してみる。
$npm install
mongoose@4.13.14
mongodb@2.2.34

これで、Node がエラーを吐かなくなった。

本来は、MongoDB のバージョンを 3 に上げたいが、色々と制約がありそうなので、今後の課題とする。


.end

2018年4月4日水曜日

Raspberry Pi UPSをWebでモニタリングする

前回の記事で、Raspberry Pi(ラズパイ)へUPSをモニタするNUTをインストールしました。
今回は、Webモニタリングの設定をして、ローカル(UPSへ接続しているラズパイ)以外のPCからモニタ出来るようにします。
ただし、このラズパイは既に apache2.4 Webサーバーとして機能している前提で、ここではNUTに関する設定箇所を示します。

[nut cgi のインストール]
sudo apt-get update
sudo apt-get install nut-cgi

/etc/nut/hosts.conf へ MONITOR を記述します。
cyberups は ups.conf に設定した名前、"Local UPS"は UPS を指す適当な名前です。

MONITOR cyberups@localhost "Local UPS"

cgi 関連ファイルのパーミッションを設定します。

sudo chmod 644 /etc/nut/hosts.conf
sudo chmod 644 /etc/nut/*.html
sudo chmod 644 /usr/share/nut/www/*.*
sudo chmod 755 /usr/lib/cgi-bin/nut/*.cgi



/nut へのアクセスを限定的にしたければ、 /usr/share/nut/www/ に下の内容を記述した .htaccess ファイルを一緒に入れます。
order deny,allow
deny from all

allow from 192.168.1.0/24

apache のドキュメントルートを記述している hoge-ssl.conf に /nut として alias を設定します。
/etc/apache2/sites-available/hoge-ssl.conf

Alias /nut /usr/share/nut/www
<Directory /usr/share/nut/www/>
     SSLOptions +StdEnvVars
     Options FollowSymLinks
     AllowOverride all
     Require all granted
</Directory>

同様に cgi ルートも 本来の cgi-bin と区別するために /cgi-nut として alias を設定します。
/etc/apache2/conf-available/hoge-cgi-bin.conf

ScriptAlias /cgi-nut/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
     AllowOverride None
     Options +ExecCGI
     Require ip 192.168.1
</Directory>


こちらの該当する箇所も /cgi-nut へ変更
 /usr/share/nut/www/header.html

26 <a href=/cgi-nut/nut/upsstats.cgi target= ~
30 <a href=/cgi-nut/nut/upsset.cgi target= ~


apache の設定ファイルを再読み込みします。

sudo apachectl reload


https://[あなたのドメインもしくはipアドレス]/nut とすることでアクセスできるようになります。
web-1
web-11a
web-12a
ここで、気づきましたが、Battery Voltage が9.1Vを示していますが、本体バッテリーは12Vタイプで正常ですから、なにかしらUPSからのデータ取得に問題があるのかもしれません。
UPS本体の動作は正常なので、原因が判るまではこのままにしておきます。


raspi の Debian os を jessie から stretch へアップデートしたところ、一緒にnut 関連もバージョンが上がり 2.7.4 になりました。
(※ jessieからstretchへアップデートすると /usr/share/nut/www/header.html が書き換わるので再書き換えする)

Battery Voltage も13.7Vと正常表示となりました。 (2018-06-23 画像と文章update)



end

2018年3月22日木曜日

Raspberry PiへNUTインストールの補足

前回、NUTのインストールと設定を記事にしましたが、少し補足しておきます。


CyberPower製UPSの国内向け CPJ500 を購入したわけですが、接続するとコンパチブルの CP1500AVR と認識され usbhid-ups と標準のドライバーがセットアップされました。


Debian jessie のためか NUTインストールバージョンは2.7.2(2014/4 リリース)でした。
Debianの最新版stretchなら2.7.4(2016/5 リリース)がインストールされたかもしれません。(この時点で試していません)


この古いバージョンが不具合に影響しているかもしれません。今後確かめてみることにしますが、現状でも対策は可能です。


**********
当初、設定例を元に標準状態でセットアップ後、半日ほど様子見ると upsc コマンドによるupsデータが見えなくなっています。
/ver/log/sys.log を見ると、 data stale がいっぱい溢れていました

Poll UPS [cyberups@localhost] failed - Data stale


CyberPower 製UPSとの組み合わせで同様な事例が散見され、私の場合は’data stale’でしたが、他に ‘Driver not connected’ などがログで見られるようです。
これらの対策として、試行錯誤の例が幾つかありましたが、次の3点を織り込むことで正常に稼働しています。

この対策は、前回の設定の中に記載しているので、改めて設定する必要はありません。



/etc/nut/ups.conf
        pollinterval = 15
/etc/nut/upsd.users
        MAXAGE = 25
/etc/nut/upsmon.conf 
        DEADTIME = 25

これでもダメなら、syslog を監視して ‘data stale’ があったら、 service を再起動するスクリプトも用意しましたが、今は必要ないようです。

次回は、WebでUPSをモニタ出来るようにします。

end