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

投稿

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」で検索すると色々出てきますので、上記の二つ...

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/servoblast...

Raspberry pi の設定など(その3:Node.js の問題と赤外線リモコンの設定)

    その2 ではRaspberry piの基本設定と日本語入力設定、外部へのメール送信設定までを書きました。 で、その続きを書こうとしたらトラブル続出。 こっちのセットアップが終わって、次のセットアップしたら、こっちが動かなくなったとか色々。ソフトのバージョンの問題とCPUの世代の問題に、いい加減な半田付けのツケが回ってハードのトラブルもあって訳がわからん状態に。 デスクトップも使って設定したいし、動作が遅いのも嫌だからとRaspberry Zeroで動かす予定のセットアップをRaspberry 3で行っていたのもいけませんでした。ZeroはCPUの世代が古いのでサポートされないものがあって、Zeroに載せ替えたら動かなくなったり。 と言うことでまずはZeroに載せる予定ならば「Node.js」の問題から。 Zeroでは最新の Node.js がサポート外になりました。そのためNode.js絡みの問題が発生します。私の場合、NODE-RED のインストールが出来なくなりました。で、こちらは開発元(の有志なのかな?)が未公認のZeroでも動く最新版を公開しています。って何のこっちゃ? 社内的には未公認だけど、ユーザーから見りゃ半公認って感じですかね。 ここに元ネタ がありますが、基本は以下のコマンドを入れれば良いだけ。 とりあえずは古いものを削除します。 $ which node  でnodeのインストール先を調べて、 $ sudo rm -rf /usr/bin/node $ sudo rm -rf ~/.npm  ついでにこっちも でインストールは $ wget https://nodejs.org/dist/v10.17.0/node-v10.17.0-linux-armv6l.tar.xz $ t ar -xvf node-v10.17.0-linux-armv6l.tar.xz $  sudo cp -R node-v10.17.0-linux-armv6l/* /usr/local/ $  rm -rf node-v10.17.0-linux-armv6l node-v10.17.0-linux-armv6l.tar.xz 最初のURLはそのうちにバージョンが進めばまた変わる(サポートしてくれるなら)ので...

iPhone 13 Mini の話

 今まで使っていた iPhone XS ですが、最低4年は使うつもりでいました。 iPhone 3Gから2年ごとに買い替えていたのですが、0円どころか大幅値引きも禁止され、ゲーマーやカメラマニアには意味のあるアップデートでも、日常の使い勝手は指紋認証から顔認証に変わった以外大きな進歩というほどの変化は無くなりました。 で、もうそろそろ長く使う方向に変更しようということで。ただし12 Miniにはちょっと惹かれましたけど。 ところが昨年の晩秋あたりからランニング中にポケットから飛び出して何度も落とすという事があり、初めて画面に傷が入るという事故を経験しました。とは言え注意深く見れば隅の方に少し傷があるという程度で、ちょっと見には画面に汚れがついているかな?という程度。 ただ今までも時折出ていたゴーストタッチが目立つ様になってきていてかなり悩みながらも買い替えを決意。問題はMiniなりSE3?なりの小型版がどうなるか。6で画面が大きくなってからは5sの画面が手狭というよりも6の本体が少し大きすぎるという印象を拭えなかったので。なにせ一度は6から5sに乗り換えた(妻がガラケーからiPhoneにしたいというので安くなった5sを買わせて私の6と交換した)ほどでしたので。 今回は13 Miniがきちんとラインナップされていたので迷わずアップルで予約。昨日届いたので早々に乗り換え。今では乗り換えの準備のメッセージが旧機種の方に表示されるという徹底ぶりで、バックアップも一時的に無料容量アップでより安全で手間がかからなくなりましたね。 でもたった130円を惜しんでバックアップしないユーザーが多いのは理解できません。そのくせ本体容量の大きい(高価な)本体は平気で買う。いやいやそれより小さめの要領でもiCloudを追加購入する方が安全で使い勝手も良いだろうと思えるのですけど・・・ 実際に次女のiPhoneが帰宅途中の電車の中でいきなりブラックアウト。どう見ても本体は動作しているので一晩充電器に繋いで寝かせ、自動バックアップで直前のデータを全て拾い上げ、予備で保存してある旧型によく朝一番で復元。SIMも入れ替えて翌日からは旧型を使い、壊れた本体は直ぐに修理に出しました。 こんな事ができるのもiCloudでの自動バックアップのおかげ。当時はPCでもバックアップできましたが、画面が反応...

Raspberry pi の設定など(その2:日本語の設定と外部へのメール送信の設定)

 その1では Raspberry pi のインストールまでを書きました。 今回は私がRspberry piを使う際に基本とな考えている設定から。 まずRaspberry piでも日本語は必須でしょう。素のままでも日本語表示はできますが、入力はできないので。それとメールの送信機能。何かあった時にスマホなどにメールを送信できればすごく助かります。私はリブートした時などにサーバー名とIPアドレス、それにCPUの温度などをメールさせています。なんらかの設定を修正してリブートさせた時に、わざわざログインしなくてもちゃんと起動したのがわかります。それとSSHの設定。普段はディスプレイも、キーボードもマウスも接続していません。SSHと時にはVNCでGUIを使ったりもしています。 と言うことでまずはSSHとVNCの設定から。画面左上のラズパイマークからプルダウンメニューで「設定」「Raspberry pi の設定」を選択します。 下のメニュー画面が開くので「インタフェース」のタブを選択。 もしPCの名称を変更したい場合はこのタブの「ホスト名」を好きなものにしておいてください。 例では「rpi」となっています。この場合「rpi.local」で他のPCからアクセスできる様になります。 また今後GUIは不要。コマンドラインで全部処理するぞって人は「ブート」の項目を「CUI」にして自動ログインも切っておく方が良いでしょう。私みたいにRaspberry pi zero で主にサーバーとして使うにはGUIに無駄にパワーを使っても仕方ないので。とはいえ私の場合設定はRaspberry pi 3でGUIも使いながら設定して、最後にCUIに切り替えてますけど。 表示の様にSSH、VNCにチェックを入れてください。 「OK」をクリックすれば再起動してそれぞれが有効になりますが、VNCは再起動後にもう一つ設定を。 画面右上の「VNC」 のアイコンをクリックしてください。下の画面が表示されたら右上のリスト風のアイコンから「Options...」を選択。 「Security」の項目を以下の様に「Prefer off」「VNC password」に設定してください。 ひょっとするとWindowsの方は不要なのかもしれませんけど。 最後に「OK」をクリックすればOKです。 これで普段使っているパソコンか...

Raspberry pi の最新版のインストールや設定など(その1)

 今まで Raspberry pi 関連の備忘録を書いてきましたが、Raspberry pi のソフトウェアもかなり進歩しました。 インストールの仕方から設定方法もだいぶ変わりました。前回の「 Raspberry pi 3とADS1115 A/Dコンバーターのトラブル 」でも設定方が大きく変わり、おかげで無駄な苦労をしてしまいましたので、2021年9月時点でのOSのインストールからメールの送信設定、サーボの使い方などをまとめて記録しておこうと思います。 ●  まずはOSのインストールをするためのSDカードの準備とSDカードへのインストール。  SDカードの初期化はWindowsでもMacでも基本機能でできますが、SDカードの初期化専用に「 balenaEtcher 」というアプリを使うのも楽でよいです。ダウンロード/インストールしておけば起動するだけで勝手にSDカードを探し出してくれますので作業ミスが少なくなります。 そしてOSのインストールですが、「 Raspberry pi imager 」を使うのが一番楽。特殊な使い方をするのでなければこれ一つで色々なOSの最新版を自動的にダウンロードしてインストールしてくれます。 このどちらのアプリも「起動すりゃ分かる」という程簡単に扱えるので詳細な手順などは省略。ここで使い方に迷う様ではここから先は諦めた方が・・・(笑) ● OSをインストールしたSDカードをRaspberry pi にセットします。キーボード、マウス、ディスプレイを繋いで電源を入れるところも巷に情報が溢れているので省略。あくまでも自分の備忘録としての記録がメインなので・・・初心者の方ごめんなさい。  で、電源を入れると設定プログラムが自動的に起動してくれます。画面が表示されるまでに少々時間がかかりますが、デスクトップが起動して設定プログラムの画面が表示され、言語の設定、パスワードの設定、Wi-Fi の接続、各種アップデートなどを行います。画面の指示に従って入力してゆくだけです。とりあえずの設定が終わると再起動する旨のメッセージが表示されるので、慣れていなければそのまま再起動しましょう。再起動すると自動的に「pi」という名前のユーザーで自動ログインしたデスクトップが表示されます。PCとしての名称は「raspberry」です。PCの名称の変更とか、イ...