Latest / TanaRadio / 380 日記 | 電源オンで自動起動
Transcript
- 0:00TanaRadio Pi製作シリーズ、今日はフェーズ5Jをやりたいと思います。
- 0:10前回このフェーズ5Jをやるつもりだったんですが、Raspberry Piの基板をケースに入れるところまでで終わってしまいましたので、
- 0:23今回はケースに入ったRaspberry Piにいろいろと周辺機器をつなぎまして、それでまたターミナルでのファイルの設定等をやっていきたいと思います。
- 0:40今回の目標は、電源ONでTanaRadio Piを自動起動するというものです。
- 0:47これができると、このTanaRadio Piというケースに入ったものに周辺機器をつけなくても、電源コードをつなぐだけでラジオが聞けるという形になるので、私としてはとても嬉しい段階にいくわけです。
- 1:11さて、それでは、例によってチャッピーが作ったマニュアルに沿っていきたいと思うんですが、
- 1:24まず最初にやることは、現在の状態を確認するというのは大丈夫ですので、
- 1:39早速、起動用のシェルスクリプトを作るというところからいきたいと思います。
- 1:49ではまず、ファイルをエディターで開きます。
- 2:05今開きました。
- 2:08そうしましたら、この中身をまたチャッピーが作ってくれたコードをコピー&ペーストで貼り付けたいと思います。
- 2:26貼り付けられましたので、保存します。
- 2:34そうしましたら、今度は実行権限をつけるというのをいつもやってますけれども、実行権限をつけました。
- 3:02そうしましたら、これを実行するんですね。
- 3:07実行しますと、どうなるか。この場合はですね、このターミナル上で実行するんですが、
- 3:14そうすると12秒ほど待ってから、前回作ったPythonのスクリプトが起動して、それで音が鳴り始めるということなんですね。
- 3:31ですので、これは音が出る実験ですから、一旦録音を止めてやってみたいと思います。
- 3:42ちゃんとですね、12秒ぐらい経ったらば、自動的に起動しました。
- 3:50ですので、この実験は成功ということで、次に行きたいと思いますが、
- 4:01次はですね、今のスクリプトを自動実行する設定を作るということで、
- 4:15これはsystemdというものがあるそうですが、そのサービスファイルというのを作るようです。
- 4:25これはsudoというんですかね。
- 4:31そういうコマンドを最初につけた上で、nanoのエディターを使うということです。
- 4:43ではこれをコピー&ペーストでもターミナルに貼り付けまして実行します。
- 5:02エディターが開きましたので、そこにコードをコピー&ペーストで貼り付けます。
- 5:16保存ですね。保存できました。
- 5:50今度はですね、systemdに設定を読み込ませるということで、
- 5:56やはりまたsudoで持って読み込ませをやるようです。
- 6:06これもコピー&ペーストでコマンドをターミナルに入れまして実行させました。
- 6:21このままではまだ自動起動は有効化されていないということですので、
- 6:27まずは手動でサービス起動をするということです。
- 6:35これはまた音が出る実験なので、一旦録音を止めます。
- 6:44今テストをしたんですが、何かうまくいかないようで音が出ないということで、
- 6:53ログを出した方がいいだろうということで、ログを出すコマンドを入れて、
- 6:58いろいろとエラーがたくさん出ているログを表示させましたので、
- 7:03それをチャッピーに渡しまして対策を聞きました。
- 7:10そうしましたら、この音声を出す先が何か間違っているような形だということで、
- 7:18その音声をUSBスピーカーにちゃんと出すように、
- 7:22明示的に指示する変更をするということで、やり方がいろいろ書いてありますので、
- 7:30それをやってみたいと思います。
- 7:33まずはこのサービスを止めるということで、
- 7:39サービスを止めるコマンドをターミナルに貼り付けまして実行します。
- 7:48そうしましたら、今度はaplayっていうんでしょうか、
- 8:03初めて見るコマンドですが、これに-lを付けて、
- 8:12こうしますとデバイスのリストが出てきます。
- 8:41ちょっとこれは何を意味しているのかよくわからないので、
- 8:45チャッピーに渡してまた対応を聞きたいと思います。
- 8:52チャッピー頼みですね、この辺は。
- 9:29USBスピーカーは認識されているので、
- 9:35それなりの指定をすればいいということで、
- 9:41まずサービスを止めるということです。
- 9:50止めるための実行しました。
- 9:55次にUSBスピーカー指定を試すということで、
- 10:06ここではLSの**.m3uということで、
- 10:15ファイルを探すとプレイリストのファイルが出てきます。
- 10:27ここではplaylist_5i.m3uというのがあるなら、
- 10:32次を試してくださいということなので、
- 10:37試す長いコマンドをコピーしまして、
- 10:43実行してみたいと思います。
- 10:46これも音が出そうなので、一旦録音を止めます。
- 10:52無事音が出ました。
- 10:58音声出力先は確定したということで、
- 11:02その出力先をPythonのコードに反映させます。
- 11:10まずはPythonのコードのファイルを開きます。
- 11:28そうしましたらMPVを起動している部分を探すということで、
- 11:38cmd何とかというのがあるようです。
- 12:06ありましたね、cmd何とかと。
- 12:10mpv何とか何とかといろいろ書いてありますが、
- 12:18それを実行すると、要するに2行足すんですね。
- 12:55その足すところを空行作りまして、そこに貼り付けたいと思います。
- 13:39これでいいかなと思いますが、
- 13:491234567、1234567、行数も合ってますのでこれで多分大丈夫だと思います。
- 14:03保存しました。
- 14:06そうしましたら、手動で確認するということで、
- 14:15またこのPythonファイルを実行して音が出るかどうかを確かめますので、
- 14:21一旦録音を止めます。
- 14:25無事音が出ましたので止めました。
- 14:29次はサービスで確認するということなので、
- 14:33また先ほどのsudoのコマンドをコピー&ペーストで貼り付けまして実行します。
- 14:49これは音が出るかもしれないので一旦止めます。
- 14:55はい、音が出ました。
- 14:58今良かったんだろうと思います。
- 15:01次にこれのステータスを確認するようですので、
- 15:08またコマンドを貼り付けて実行します。
- 15:24実際に動いている様子についての記録が書かれているものが出ているようです。
- 15:37次はログも確認しますということで、
- 15:41先ほどたくさんエラーが出たログですが、これをもう一度確認します。
- 16:04前のエラーが上の方に残っていますけれども、
- 16:08新しいところはエラーが特に出ていないので大丈夫だと思いますね。
- 16:22大丈夫そうですね。
- 16:25これで上手くいったようです。
- 16:30では先ほどのトラブルは解決したので元に戻りますが、
- 16:47先ほどはどこまで行ったかを見るところまでやったわけですよね。
- 17:24ですので次は手動でサービスを止めるというのをやってみたいと思いますが、
- 18:01これもコマンドをコピー&ペーストで貼り付けて実行します。
- 18:37これは止める方法を実行したので止まっているということだと思いますが、
- 18:49やっとここで自動起動を有効にするということで、
- 18:53今ずっと手動でやってきましたけど、
- 18:55自動起動するように設定をします。
- 18:59これもsudoで始まるコマンドですね。
- 19:11これで次回の電源オンから自動起動しますということでテストをするわけですが、
- 19:22まず念のため現在のサービスを再起動しておきます。
- 19:33これも音が出るかもしれないので一旦録音は止めましてテストします。
- 19:43いろいろ試しているんですが、
- 19:47一旦再起動して、
- 19:53ちゃんと動くかというと、
- 19:56思い通りに、
- 20:00何か動いているんですけど、
- 20:01私が思う通りにスイッチを押したらその通りに動くかというと、
- 20:07ちょっとタイムラグがあって、
- 20:10あまりいい感じではないんですが、
- 20:13こういう場合はどうするんでしょうか。
- 20:17さっきログが表示できたので、
- 20:21ログを取ってみましょうかね。
- 21:39それで今タイムラグを開けたんですけれども、
- 21:47またマニュアルを開けまして、
- 22:19ログを見るコマンドを貼り付けて実行してみます。
- 22:26ログを見ましたら、
- 22:31一応ですね、私がボタンを押したことに反応して、
- 22:38ちゃんと動いてはいるようです。
- 22:42特にエラーは出てないですね。
- 22:45ということは反応が遅いのに、
- 22:47私がどんどんボタンを押すので、
- 22:50その処理が溜まってしまって、
- 22:53時間差を生み出している可能性がありますね。
- 22:56ですからボタンを押した後に、
- 22:59何秒も、例えば10秒とか20秒とか、
- 23:03辛抱強く待つ必要があるのかもしれません。
- 23:13ということで、特に大きな問題はなさそうなんですが、
- 23:20ここでモニターなしで使う前のssh確認というのがマニュアルにありますね。
- 23:28これをやりますと、MacなどからRaspberry Piに接続できるということなので、
- 23:36Macのターミナルを開いてみます。
- 23:42Macのターミナルを開けました。
- 23:57そしたらここにsshなんとかというのを、
- 24:05ここにコピー&ペーストで貼り付けまして、
- 24:09実行してみます。
- 24:25実行しましたら、変化もないですけどね。
- 24:35入れてるんでしょうか、これは。
- 24:44先ほどのシステムのステータスを見るためのコマンドを付けて入れてみたいと思います。
- 24:59入れてますが何の反応もないですね。
- 25:20sshがうまく機能してないということのようです。
- 25:33これは使わなくても、Raspberry Piに周辺機器をつなげれば様子はわかりますので、
- 25:41これはちょっと後回しにしましょう。
- 25:45次が、自動起動を一時止める方法というのがありますので、
- 25:52disableというオプションを付けて実行するものですね。
- 26:06次にまた自動起動するときはenableですね。
- 26:16これは試しに実行してみましょう。
- 26:25Raspberry Piのターミナルでsudoのコマンドですね。
- 26:48まずストップしたほうがいいのかな。先にストップをします。
- 27:07まずストップをした上でdisableのコマンドを実行します。
- 27:29特に変化はないんですけどね。これでdisableされたと思います。
- 27:34今度はenableをもう一回して、スタートですね。
- 27:50スタートのコマンドを実行すると、これでまた自動起動するということですね。
- 28:10ではこれでフェーズの5Jはうまくいったような気がしますので、
- 28:17しばらくこれでテストしていきたいと思います。
- 28:22それではまた。