スキップしてメイン コンテンツに移動

投稿

10月, 2021の投稿を表示しています

Raspberry pi の設定など(その6:シャットダウンスイッチ)

  前回までの話 でほぼホームアプリ用の設定の話は終わったなと思っていたのですが、シャットダウン・スイッチの話を忘れていました。 昔 WatchDog のプログラムを書いて実装したのですが、ちょっと面倒だったりしていたのと、最近は変に通信が不安定になってリモートからシャットダウン出来なくなることもなく、あまり不便を感じていませんでした。 でもやっぱり何かの時にはボタンひとつでシャットダウン出来たり、電源の抜き差しなしで起動できたほうが便利ですよね? で、Raspberry pi  のシャットダウンの話をググってもほとんどが「プログラム書いて・・・」って話ばかりですが実は今ではそんなことは必要ないんですね。 設定ファイルに1行書き加えるだけ。ついでなのでランプ動作中は点滅する様にしちゃいましょうかね? Zeroの方は停止すると赤ランプも消えるので必要ないですけど。 設定は /boot/config.txt にそれぞれの設定を1行書き加えるだけです。 シャットダウンスイッチの方は、 dtoverlay=gpio-shutdown,gpio_pin=21,debounce=2000 電源の方は dtparam=pwr_led_trigger=heartbeat  # 動作中は電源の赤ランプが点滅 または dtparam=act_led_trigger=heartbeat  # 動作周波アクセスの緑ランプが点滅 LEDランプの方は説明不要ですよね。 シャットダウンスイッチの方は、gpio_pin=21 で使用するGPIOピンを指定しますけど、この番号は gpio readall で一覧表示した時のBCMの項目の番号です。21番ならば物理ピンの最後、40番のピンになります。 で、debounce=2000 はボタンが反応するまでのm秒での指定。2000msですから2秒ですね。 デフォルトは100なのでちょっと触っただけでシャットダウンしてしまいそうなので2秒にしてみました。 配線は21番ピンをプッシュオンのスイッチを経由してグランドに繋げるだけ。 隣のピンがちょうどグランドなので隣同士を繋げば良いということでこのピンにしました。 ついでに言うと起動時には基盤上の「RUN」と書かれたところをちょっとショートさせれば起動します。ZeroだとちょうどGPIOの最後のすぐ横に並んでい

Raspberry pi の設定など(その5:Homebrdge)

 さて 前回 、 前々回 で 赤外線リモコン と、 サーボモーター の設定を終えたので、そろそろ Homebridge の設定の話に移りましょう。 何のための赤外線リモコンやサーボモーターなんだと言えば自宅の自動化が基本。 iPhone ユーザであれば Apple のホームキットにないものもホームアプリからコントロールしたいですからね。 で、こちらも 昔設定した時 からは大幅にバージョンアップしていて設定では結構迷いました。 まずはインストールから。 GitHabのこちらのページ を参照にしてインストールします。 単純で、 node.jsは既にインストール済み のはずなので、 $ sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x で本体のインストールは終了。 で、設定用のGUIがウェブサイトの形で利用できる様になっています。 そのインストールが $ sudo hb-service install --user homebridge ってこれだけ。なお赤字の homebridge のところは利用したい(管理させたい)ユーザー名にします。 私はそのままpiで利用することにしました。homebridge 専用マシンにするので。 他のパソコンから http://ラズパイのIPアドレス:8581 で設定画面に入れます。 Raspberry pi Zero でも問題なく動作してくれます。流石にZeroをGUIで起動して、そこから自分自身にアクセスなんて話だと遅くなりそうですけど。 ZeroをGUIで起動していても他のPCから繋ぐ分には気になりません。 以下の様な画面が表示されます。 デフォルトで「admin」ユーザーでパスワードも「admin」でログインできます。早々にパスワードだけは変えておきましょう。 ここで各種の設定を行い、homebridgeの再起動やログのチェックができます 左上に「プラグイン」が見えますのでここをクリックして以下の画面を表示してください。 最初は左上のHomebridge UIだけがインストールされているので、上部のところにプラグインの名前を入れてサーチします。 特定の製品向けのものもありますが、とりあえず「cmd」で検索すると色々出てきますので、上記の二つ「hom

Raspberry pi の設定など(その4:サーボモーターの設定)

  前回は赤外線リモコンの設定 を行いました。 ということで今回はサーボモーターの設定。 2024年1月追記: 20241年時点の最新 Rasbian において ServoBlaster に対応しなくなっていました。 ですので、以下の記事は古い Rasbian OS 利用者だけの限定情報となってしまいました。 どの時点で使用出来なくなってしまったかは定かではありませんが、比較的新しいOSの方へは別記事で対応方法を書きますので、こちらをご参照ください。 https://draft.blogger.com/blog/post/edit/8404129190610195115/7633747993521666234 ここからは古いOSの利用者限定情報です。 こちらも昔書いたものと大きく違うところはありません。 英語ですが $ git clone git://github.com/richardghirst/PiBits.git が役立ちます。 $ git clone git://github.com/richardghirst/PiBits.git $ cd PiBits/ServoBlaster/user $ make servod この3つのコマンドで終了。 で、今回は起動時のパラメータを説明します。 実はここもかなりトラブりました。その3で説明した「Node.js」絡みのトラブルだった様です。 これもオシロスコープでGPIO端子から出ているパルス波形を見ていて気が付きました。 パルスが間延びしていて変。で起動パラメータをいじって何とか動かしたりはしたものの、Node.js を直したらこちらのトラブルもすっかり治りました。おかげでパラメータの知識も増えました。 追記: その後も同様のトラブルが発生。Raspberry pi 3Bに最新 OSを再インストールした状態で再びサーボが動かなくなりました。 オシロを見ながら色々調整して「sudo /home/pi/PiBits/ServoBlaster/user/servod --p1pins=11,12 --min=200us --max=10000us --cycle-time=10000 --idle-timeout=2000」なんて設定で、$ echo 0=1180us > /dev/servoblaster で