Latest / TanaRadio / 366 日記 | 3ボタンの実験
Transcript
- 0:01それではフェーズ4の続きをやりたいのですが、1ボタンの実験に成功しましたので、今度は3ボタンへ増やすというところに行きたいと思います。
- 0:18まだRaspberry Piに電源は入れていない状態で、もろもろ接続してありますが、これからブレッドボードに部品を差し込んでいきたいと思います。
- 0:39やるのはボタン3つとそれぞれに1kΩの抵抗をつないで、それをGPIOの3つのピンにつなぎ、もう片方は全部グラウンドにつなぐということで。
- 1:041ボタンでやったのを3つ分やるという感じですね。
- 1:11ブレッドボードが思ったより小さかったので、スイッチはかなり密集させて配置する必要がありそうです。
- 1:223つのボタンとさらに2つのロータリーエンコーダーを取り付けますので、結構ギュウギュウに配線したいと思います。
- 1:33ではまずボタン1つをブレッドボードの真ん中の溝のようなところをまたぐ形で、4本足がありますが、差し込むと、一応差し込まれました。
- 2:09それにかなりくっつける形で2つ目、これも差し込みました。
- 2:24同じく3つ目も差し込みました。
- 2:361つ目がどうもうまく刺さらないのは足がちょっと曲がってしまったからです。
- 2:42昨日差し込んだのを引っこ抜いたときに足が曲がってしまったようですが、これをもう一回なんとか刺さりました。
- 3:25ではこれに3つの抵抗をそれぞれつなぐんですが、スペースが狭いので、抵抗を縦に刺さるように、縦にというのはわかりますかね。
- 3:44このコの字型ではなくて、足ができるだけくっつくような形で、足を一方だけ折り曲げて2本狭く並ぶようにしますと、足の長さが変わるので、
- 4:03足の長さを同じにするためにニッパーで足を切りたいと思います。
- 4:13ニッパーじゃないですね、これは。
- 4:15ニッパー買おうと思ったんだけど買ってないのでラジオペンチです。
- 4:26今使った1本を切りましたので、あと袋から2本出しまして、同じように片方だけラジオペンチで曲げてやりまして、足の長さが揃わないので揃うようにペンチで揃えて切ります。
- 5:17最後3本目を切りました。
- 5:26そうしたらこの3個の抵抗をブレッドボードに刺すんですが、足がぐにゃっと曲がってしまいました。
- 6:25それぞれスイッチの片方の足のところに1本、その隣の列のところにもう1本という形で足を2本ずつ刺しましたので、
- 6:43この抵抗のもう片方を今度はGPIOのそれぞれのピンにつないでいくんですが、3本ジャンパー線が必要なのでそれぞれ使っていきます。
- 7:08まずはGPIO17を一番左の抵抗の足の横に刺します。
- 7:33次にGPIO27、隣ですね。
- 7:45これを2番目の抵抗の足の、最後がGPIO22。
- 8:14このGPIOのピンは全部並んでますね。
- 8:213つ並んだピンです。
- 8:23一番右側の抵抗の足のところに刺しまして、これで繋がったと思います。
- 8:38次はボタンのもう一つの足をグラウンドに刺していきます。
- 8:58線の色を合わせて、一番右のやつをグラウンドにします。
- 9:37真ん中のピッチの足を右に刺します。
- 9:59足をまたグラウンドに刺します。
- 10:07刺しました。
- 10:09最後、グラウンドの共通の線ですが、これをGPIOのグラウンドの線。
- 10:50これで全部配線が済んだはずですので、これで電源を入れていいんですね。
- 11:05では、Raspberry Piの電源USB-Cのケーブルを刺します。
- 11:29刺しましたらば、モニターが光りまして、起動が始まりました。
- 11:55今、ブラウザーが立ち上がって、LISTENのTanaRadioのページが出て止まりました。
- 12:14これは新しいタブを開いて、ChatGPTにまたつなぎたいと思います。
- 12:28TanaRadioのPi作成のページというのがあるんですが、
- 12:50これからPythonのプログラムをまた設定しないといけないんですが、
- 12:58コピー&ペーストで貼り付けますので、そこを探しています。
- 13:15出てきました。
- 13:193ボタンテスト用のスクリプトを作りますというところでコードをコピー&ペーストするんですが、
- 13:33ターミナルを今度開かなければいけませんので、ターミナルを開きました。
- 13:47ターミナルを開きましたら、まずはnanoで、
- 14:01nanoというエディターがあるんですけど、nanoを使いまして、
- 14:08テスト用のスクリプトのファイルを開くということですね。
- 14:15この行をコピー&ペーストしまして、
- 14:35エンターです。
- 14:40開きましたので、この中にPythonのコードをまたコピーしまして、
- 14:59開いたところに貼り付けです。
- 15:05これを保存するときは、
- 15:09Ctrl-Oでエンターを押してCtrl-Xでしたね。
- 15:19これ覚えました。
- 15:23今度は実行です。
- 15:25Pythonの今作ったファイルを実行する行をコピーして、
- 15:35ターミナルに貼り付けます。
- 15:42そしてこれをエンターで実行します。
- 15:47そうしますと、3 button test is readyと出ますので、
- 15:52ボタンを押して正しい表示が出るかどうかを見たいと思いますが、
- 16:00まず一番左のボタンを今押します。
- 16:03押してみます。
- 16:05そうしましたら、PLAY / PAUSE button pressedプレイポーズボタンプレストという風に出まして、
- 16:10これ成功ですね。
- 16:12次、真ん中のボタンを押してみます。
- 16:16そうしましたら、BACK 10 seconds button pressedということで、
- 16:23これも成功です。
- 16:25最後、一番右のボタンを押してみますと、
- 16:29FORWARD 10 seconds button pressedということで、
- 16:35これも成功です。
- 16:383つのボタンそれぞれで違う表示がちゃんと出ていますので、
- 16:423ボタンの実験もうまくいったということになりますかね。
- 16:48今度は順番を変えて、真ん中を押してみますと、
- 16:54BACK 10 seconds。
- 16:58一番左を押してみますと、PLAY / PAUSE。
- 17:02一番右を押しますと、FORWARD 10 seconds。
- 17:07もう一回右を押しますと、FORWARD 10 secondsということで、
- 17:12ちゃんと何度やっても同じ結果になっています。
- 17:16ではこれは、Ctrl-Cで強制終了しないと終わらないと思いますので、
- 17:23Ctrl-Cを押してみます。
- 17:28また、ターミナルの最初の状態に戻りました。
- 17:37ということで、うまくいきましたので、
- 17:41今回は割とすんなりいきましたが、
- 17:46これで終わりでいいのかな。
- 17:50うまくいかないときっていうのが書いてありますけど、うまくいってるのでいいですね。
- 18:06じゃあちょっと早めに終わったので、次のステップ。
- 18:09ステップ7にちょっと行ってみましょうかね。
- 18:13今度はplayerctlでChromium再生を操作するというステップです。
- 18:22Chromiumっていうのはブラウザーですが、
- 18:26このブラウザー上でTanaRadio再生をコマンドで操作できるか試すということです。
- 18:36まずは、このplayerctlというものをインストールしなければいけないので、
- 18:47これもまたコピー&ペーストでいきますね。
- 19:05パスワード聞かれました。
- 19:21なんかいろいろ出てきてますが、中身はちょっとよくわかりません。
- 19:29ともかくインストールはされたと思いますので、先へ行きます。
- 19:38このplayerctlというのは何なのかというと、
- 19:43MPRIS対応メディアプレイヤーをコマンドラインから制御するツールで、
- 19:49再生、一時停止、停止、前後トラックなどの操作ができるということです。
- 19:56ではこれで、ChromiumでTanaRadioを開いて音声を再生しますとあるので、
- 20:04TanaRadioは開いてあるので、開いてあるページを出しました。
- 20:14この状態でターミナルからコマンドを入れるわけですが、
- 20:24playerctl statusと入れてみます。
- 20:31playerctl satusと入れて、Enterキーを押しますと、
- 20:41No players foundと出てますね。
- 20:52これは予想外というか、これでは多分駄目ですね。
- 21:08なんで駄目なんでしょうか。
- 21:27これはChatGPTに聞いてみましょうか。
- 21:39playerctl statusと入れたら、No players foundと出ました,で聞いてみます。
- 22:40こう言ってきましたね。
- 22:44このコマンドを打つ前に、Chromiumで実際にTanaRadioの音声を再生してくださいと言っています。
- 22:52音を出してないと駄目なんですね。
- 22:56では音を出してみましょう。
- 23:12ちょっと待ってください。
- 23:14音を出してと言っても、今Raspberry Piにスピーカーをつなぐのを忘れていました。
- 23:22今回、音を出すテストまで行くと思っていなかったのでスピーカーをつないでませんでしたが、
- 23:31最近買ったUSBスピーカーをUSB端子につなぎましたので、これで出るはずです。
- 23:50「TanaRadioPiを作るシリーズですが、フェーズ3まで終わりまして、今回からフェーズ4に入っていきたいと思います。・・・」
- 24:09今音が聞こえていますが、この状態で先ほどのターミナルのコマンドを入れてみます。
- 24:18「電源を入れると、LISTENのTanaRadioのページが自動的に開くというところまでやるというものでした。」
- 24:29今度こうやりましたらplayingの答えが返ってきました。
- 24:41ちょっとうるさいのでこれ消します。
- 24:47これはOKですね。
- 25:02次にplayerctl play-pauseを入れると、再生しているのが一時停止になったり、一時停止がプレイになったり変わるということだそうですので、これも試してみたいと思います。
- 25:25TanaRadioPiがラジオ受信器でラジオっぽくなっていく第一歩のところですね。
- 25:36止まりましたね。
- 25:45同じコマンドをもう一回入れてみます。
- 25:48再生されるはずです。
- 25:51うまくいきましたね。
- 25:53例によりまして、ChatGPTにマニュアルを作ってもらいましたので、その指示に従って進めていきたいのですが、
- 26:0510秒前後に行くやつもちょっと続けてやってみます。
- 26:16実現しました。
- 26:19position 10-。
- 26:37前後するのかな。
- 26:43もう一回。
- 27:3110秒飛ばしたはずなんですが、よくわかりませんね。
- 27:35もう一回戻る方をやってみます。
- 27:4510秒戻るやつをやってみます。
- 27:54前後10秒移動するのもうまくいってますね。うまくいってると思います。
- 28:05このテストも成功ですね。
- 28:10次にこれを試してくださいということで、
- 28:14--list-allっていうのを入れてみると。
- 28:24試してみますね。
- 28:28ブレイクアウト基板を接続するということで、
- 28:32このブレイクアウト基板というのは、
- 28:35Raspberry Piに40ピンの端子がついていて、
- 28:42これがGPIOという名前だそうですが、
- 28:46ここにいろんなものをつなげるといろんなことができるんですが、
- 28:55いろいろと実験しやすい。
- 28:57今--list-allっていうオプションをつけてコマンドを実行しましたらば、
- 29:06Chromium.instance1418というのが出ました。
- 29:15この場合、
- 29:23player=chromium statusも試しますって書いてあるので、
- 29:28これをやってみましょうかね。
- 29:33player=chromium statusっていうのを
- 29:51再生しながら実行してみます。
- 30:00そうすると、playingになっています。
- 30:07これでいいのかな。
- 30:48これは今やったやつは、
- 30:51playerctl statusと入れたらNo player foundと出たときの対応のところを飛ばしてみてました。
- 30:59これは今やらなくていいんですね。
- 31:09全然違うところを今見てました。
- 31:33今はステップ7のplayerctlでChromium再生を操作するというところは一通りできたということで、
- 31:45次は3ボタンでChromium再生を操作するということで、
- 31:49今コマンドラインで入れたやつをボタンで実行できるようにするということで、
- 31:57これもPythonのコードを入れたファイルを作りまして、それを保存して実行すれば、
- 32:06ボタンを押したときにブラウザの再生状態が変わるということですね。
- 32:14ちょっとここまでやろうかな。
- 32:20行きがかり上ここまでやってしまいたいと思います。
- 32:25ではまずスクリプトを作りますね。
- 32:44またnanoのエディターを使ってファイルを作ります。
- 32:56コピー&ペーストで。
- 32:59まずはファイルを作りまして、中身を今度はコピー&ペーストします。
- 33:26追いつけます。
- 33:28で、保存がCtrl-O、Enter、Ctrl-Xですね。
- 33:37これも覚えましたね。
- 33:40今度は実行です。
- 33:43実行を受けてEnterで実行です。
- 33:55そうしますと、TanaRadio 3 physical buttons are Readyと出ますので、
- 34:01ボタンで操作できるかどうか実験します。
- 34:05まずTanaRadioの先ほどのエピソードを再生しておいて、
- 34:13ボタンを押すんですね、これで。
- 34:22今一番左のボタンを押したんですが、これがプレイポーズのボタンですね。
- 34:30これを押しますと止まるはずです。
- 34:34止まってますね。もう一回押すと再開されるはずです。
- 34:41OKです。
- 34:42次に真ん中のボタンが10秒戻るんですね。
- 34:5310秒戻ると思います。
- 34:55ボタンを押したら10秒戻るかどうか調べます。
- 35:2110秒戻ってますね。
- 35:23次は10秒飛ばします。
- 35:42飛んでますね。これはちょっと声で聞いたので飛んでるのはわからないと思いますが、
- 35:48今文字起こしのところを私は見ているので、
- 35:521行飛ばされて再生されているのがわかります。
- 36:07今ずっと10秒飛ばすボタンを何度も押しましたが、
- 36:15声がどんどん飛んでいるのがわかると思います。
- 36:24ボタンもちゃんと働いていることが確認できました。
- 36:32ステップ8の3ボタンでChromium再生を操作するというのもうまくいって、
- 36:40フェーズ4の前半は成功というところまで行きました。
- 36:45次はChromiumを使わずにmpvというプログラム、アプリというのかな、
- 36:56これを使って音声を再生する方向にしますということで、
- 37:02ブラウザーを開いて再生した状態でボタンを押すという形でやってきましたが、
- 37:10このブラウザーを介さずにファイルを再生し、ストップさせたり飛ばしたりすることができるようになる段階ですね。
- 37:23これが最終形なんですけれども、そこへ行くのはまた別の機会にしたいと思いますので、
- 37:29今日のところはここまでとしたいと思います。
- 37:34それではまた。