ラズベリーパイZero


R2.8.31

 LCDが表示したけどwifiがつながらない。よそのSSIDは表示されるのに自分のが出ない。あれこれやって(ここが本当は長かったのだけれど)wifi地域(?だったかな)を日本にしたら自分のSSIDが出てつながった!? この操作って本当?

 3cm四方のLCDで設定しにくい(^^;) けれど、ネットにつながったので、ようやくVenice局の音楽をBLEスピーカーで聞けるまでにはなりました(^o^)/

 画面は小さいけれど、ボタンが沢山(13)あるので、これらを使えばいろんなことができそう。

 下で提示したサイトでは、Raspbian Imagesのところに、1.54inchlcd-key-testのフォルダがあって、キーのサンプルプログラムがあります。c言語なのだけど、プログラム内のコメント行にgccを使ってのコンパイル方法も書いてあるので何の問題もなく沢山のボタンを押したことを表示してくれます。ラズパイはgccも内蔵している! 有難い。それぞれのボタンを押したときのラズパイの動きを追加するだけで、快適な動作をさせられそうです(^^)/


R2.8.27

 大分前に注文していたラズパイ用のLCD画面がやっと、忘れたころに届きました(^^)/

 ここのサイトでどのようにドライバを入れるかの説明があります。
 最初は、これまで使っていていろんな設定をしてあるSDカードに、LCDのドライバだけを入れることで済ませようとしました。サイトのMethod2ですね。
 ところが、VNCビューワには表れるものの、ラズパイに付けたLCDには表示されませんでした。これではダメ。結局Method1のイメージをDLしてSDカードに書き込みました。すると、下のように表示されることになりました。

 次回は、このラズパイのアドレスを固定することと、ネットラジオをやmp3ファイルをBLEスピーカーに飛ばす設定です。

 スピーカがなくなったので、それ自体では音は聞こえません。これをどうにかすることが、更にその次の課題。


R2.8.23

 ツイッターには書いたけれど、このページには覚書していなかった。自分でやったことでも、すぐに忘れてしまうから覚書が必要。ツイッターはどんどん押し出されて行ってしまうので、このページに書いておく必要がある。

 Speaker pHAT を装着してそのスピーカでmp3を再生する方法。

 といっても、pHATをインストールできていれば、面倒なことはない(多分)。私は、TeraTermを使ってラズパイとつながっています。ここで、

 ls /home/pi/Music/

してやると、そこに入れてあるmp3ファイルを表示してくれるので、再生したい曲を憶えておく。そのためには、長いファイル名にしたらダメ。小文字アルファベットと数字くらいのファイル名にしておく。

 cvlc /home/pi/Music/bwv582.mp3

とタイプしてリターンキーを打てば再生してくれるはず。簡単にするためにシェルスクリプトを書いておけばいいですね。

 身近にPCがあるとは限らないので、小型のキーボードを用意しておいて、上の命令文をタイプすることもできるはず...多分...(^^;)

 このぐらいで完結するのが好みです(^^)/


R2.8.17

 以前ブックマークしていた「Raspberry PiでBluetoothスピーカーを鳴らす」というQiitaのhomelanさんの記事を見ながらトライ。覚書しておきます。

(1) Raspberry PiとBluetoothデバイスをペアリングする。
 @ $ sudo bluetoothctl
 とすると
 A [bluetooth]#
 になるので、
 B [bluetooth]# scan on
 してやると、付近のBLEを探すので、目的のものを探す。見つかったところで、scan off
 C [bluetooth]# trust C9:50:76:xx:xx:xx
 見つけたアドレスをtrustしてやって、pairconnectしてやると、
 D [bluetooth]# pair C9:50:76:xx:xx:xx
 E [bluetooth]# connect C9:50:76:xx:xx:xx
 F [Anker A3143]# paired-devices
 となるので、作業をquit。前にペアリングしたことがあればすぐにつながるるようです。

 この後のいろいろある操作は、homelanさんの記事を参照する方がいいです。私のラズパイは設定が終わっているので、曲を聞くためには、以下のことをします。

 G $ mplayer -ao alsa:device=bt-receiver /home/pi/Music/***.mp3

 Musicフォルダに入っているmp3ファイルを聞けます。

 H $ mplayer -ao alsa:device=bt-receiver -playlist http://yp.shoutcast.com/sbin/tunein-station.pls?id=22146 という具合にネットラジオのアドレスを指定すると、その放送がBLEスピーカーで聞けます。

 このあたりは、細かいデバイス設定を憶えられないので、シェルスクリプトで記述しておくといいです。私は、play.sh というスクリプトにしています。単純に、

#!/bin/sh
mplayer -ao alsa:device=bt-receiver /home/pi/Music/$1.mp3

として、$ ls /home/pi/Music でこのディレクトリに入れておいたmp3ファイルを確認し、

$ sh play.sh bwv582

で音楽再生です。

 ただし、ペアリング相手を変えると、以下のことをしなくてはなりません。

~/.asoundrcファイルにBluetoothデバイスを別名定義(bluealsaとbt-receiver)する。

$ sudo nano ~/.asoundrc

defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "C9:50:76:xx:xx:xx"
defaults.bluealsa.profile "a2dp"
defaults.bluealsa.delay 10000

pcm.bt-receiver {
 type bluealsa
 device "C9:50:76:xx:xx:xx"
 profile "a2dp"
}

 そのたび毎に、ファイル内のアドレスを変える必要があるということですね。

 シャットダウンするには、$ sudo shutdown now でした。


R2.8.9

 ニッケル水素充電池も消耗が速いので、その辺に転がっていたデジカメのバッテリーを使ってみることにした。充電は専用の充電器で行うことにします。

 ケースを探したけれど、良いものがなかったので自作。スイッチ、バッテリーとの接点、昇圧コンバーターを基板に固定します。

 それをケースに差し込みます。

 ペンタックスのバッテリーは複数枚持っているので、使っていないバッテリーが転がっています(^^)/ これを挿入。バッテリーとの接点が重要で、不要になったデジカメの接点を分解して取りだし、使ってみました。写真は使っていない状態のもの。これでは通電しませんでした。

 ポゴピンというものがあると、スプリングが入っているらしく便利なようですね。このバッテリーが良ければ改造します。取りあえず運用してみますかな。

 ひっくり返っているけれど、こんな感じで置くことができます。スペーサーが乳白色なので、ラズパイの起動LEDの光を拡散してくれています。

 バッテリーはこんな感じで収まっています。このあたり3Dプリンターでもあると綺麗にできるんでしょうね。

 バッテリーがどのくらいもつのかを実験していたんだけれど、家人に「うるさいよ」と言われて(^^;) なかなか進行していません。とぎれとぎれで、今合計45分。


R2.8.6

 前回の記事の続き。スマホでラズパイを操作できることは以前から知っていたので、その記事を参考に、というかその記事通りにやってみた。"村上や"さんの「インターネットラジオRaspberry Pi Zero WH」という記事。

 しかしながら、それまで使っていた設定やら誤操作で、鳴っていたスピーカーハットが休眠。どうしようもないので、OSの再インストール。ところが、これが長い長い。新しい2020年のOSが出ていたようでそれはそれなりにスムーズだったのだけれど....

 午後から夕方になってネットが混んできたのか、もう殆ど停まっているような進捗状況。21時に諦めて、翌朝に持ち越しました。

 朝はやっぱり早くインストールが進んで、ようやくスマホ操作のインターネットラジオが実現できました。

 ただ、アルカリ乾電池ではパワーがなかったのか、ダメだったのでとりあえずはモバイルバッテリー使用。これでは、モバイルではありませんね(^^;) ここで動画が見れます。

 そこで、百均に行ってニッケル水素充電池を購入。しっかり充電してから乾電池ボックスに入れてスイッチオン。しっかり鳴ってくれました。それも、思ったよりいい音です。さらに、モバイル(^^)/ いいじゃん! ここで音が聞けます。


R2.8.3

 何かに行き詰まると、別の方向に気持ちを背けたりする。今回も、M5StackでのMIDI曲再生に行き詰まってしまって、ラズパイに目を向けてみた(^^;) スピーカーハットを使ってコンパクトにネットラジオを聞けないかな? と思った。

 からあげさんが、2016-09-16に「Raspberry Pi Zero用の小型電源とUSB WiFiモジュール用USBコネクタを自作する 」という記事を書かれていたので、そのうちの小型電源を作ってみることにした。確か以前、5V昇圧コンバーターなるものを購入していたような。

 探してみると、8×10ミリというコンパクトなものだった。これを単4電池3本の電池ケースに入れてラズパイ・ゼロに供給する。ゼロ本体に半田付けは避けたかったので、充電のみのUSBケーブルを短く切って給電コードに加工した。充電のみというだけあって、黒と赤のコード2本だけだった(^^;) 

 思ったよりコンパクトになった。使い途中の電池を使用したら、起動途中で息絶える! 仕方なしに母艦のUSBから給電して立ち上げる。ネットラジオもM5Stack以上に音質良く鳴ってくれる(^^;)

 電池を新品に変えたところ問題なく動作する。しかし、ラズパイをCUIで動かす(立ち上がりが速い!)にしても、画面がないと操作しにくいし、キーボードがないと操作しにくい。結局、両方くっつけて重装備になってしまう。M5Stackと比べてしまうな。もう少し、工夫してみるかな。


R1.5.22

 ラズパイを使って音楽、ネットラジオや音声合成などを再生しようと試行している。今のところSpeakerPhatをラズパイzeroに固定しているので、SpeakerPhatでの再生がメインになっている。

 どんな取り組みも、自分独自ではできないので、ネットの情報を使わせていただいて、いろいろとできるようになってきた。
 母艦からラズパイにMP3ファイルをコピーしてそれをVLCメディアプレーヤーで再生する。この場合はSpeakerPhatから音声が出てくる。

 一方、RadioTrayをインストールしてネットラジオを聞いてみると、HDMIでつないだTVから音声が出てきた。それもいい音してる。VNCで母艦から操作しているときには残念ながら無音状態。
 これを任意にSpeakersPhatとHDMIのTVと変更ができたらいいのにと思う。音声出力デバイスについて理解しないといけないね。

 さらに、スマホからそれをコントロールしようとApache2やらPHPをインストールして設定をいじくっていた。そんなこんなしているうちに、なんと! GUIログインができなくなった!

 あれこれとやっているうちに、妙な操作をしたらしい。起動後のログインができなくなった。パスワードは合っているようなのだが、ログイン画面の無限ループになってしまったのだ。ネットを探すこと数時間。ようやくたどり着いたのがここ

母艦からはwinSPCでラズパイの中は見える。GUI画面からCtrl+Alt+F1でCUI画面にして以下の通りに進めてみた。以下、解決操作法の概要。やっていることは分からない(^^;) でもないが、うまくいったのだ。

++++++++++++++++++

~/.Xauthority の権限をlsコマンドなどで確認してもしpi以外のものだったらpiにしてログインし直しして直らないか。

$ ls -l ~/.Xauthority --- と打つと
 -rw------- 1 root root 149 4月 15 07:58 /home/pi/.Xauthority --- と返ってきたら
権限が root になっているから
$ sudo chown pi.pi ~pi/.Xauthority --- ともとの pi に書き換える

 念のため他にホームディレクトリにpiユーザ以外のファイルがないか確認

$ find ~ ! -user pi -prune -ls

lightdmの再設定

$ sudo dpkg-reconfigure lightdm

++++++++++++++++++

以上のアドバイスに従って進めていくと、確かに問題は解決し、すんなりとログインすることができた。めでたしめでたし。しかし、疲れた。

 順調な時にバックアップしてもいいのだけれど、その方法が分からない。マイクロSDのイメージ保存が楽なんだけど、16GB使っているので、母艦の16GBの容量を消費する。
 ありゃ! Cドライブの空き容量を見たら、400GB以上あった! これは、保存しておくべきだね。


R1.5.18

 昭和風のカセットテープ再生機のようなラズパイzeroになったので、音楽を聞こうと思った。mp3やwavのファイルでもいいのだが、midファイルを再生したいなと。母艦に沢山ファイルがあるし。
 そこで、母艦とラズパイのファイル転送を画策した。とはいっても、ネットで調べてみると沢山出てくる。毎度毎度ありがたい。今回は、winspcというソフトを使う。ラズパイ側は、設定でSSHを有効にしておく必要がある。

 winspcをダウンロードしてインストール。初期設定で必要に応じて記入していくと、下のようなエクスプローラー風の画面になって、ドラッグアンドドロップでファイル交換が行える。

 きわめて簡単にできた。ここでmidファイルの再生を考えたが、mp3でもいいじゃないかと思うようになった。このラズパイのマイクロSDカードは16GBだったのだ。大きいことはいいことでした。ファイルサイズを気にしなくていい。
 ラズパイのmusicフォルダに入れておいて、ラズパイに入っているVLCメディアプレーヤーで再生すればOK。

 midを検索していたら、Raspberry Pi 3で簡単にDTMできる! という記事に出くわして、こちらの方に興味をそそられてしまった。専用のSDカードを作成して、もう一台ラズパイ3B+を購入するのもいいかも。


R1.5.16

 ずっと前に購入していたSpeakerPhat。なかなか取り組めないでいたが、ようやくその気になったのでやってみた。

 ここ「IoT+」というところで詳細な記事を発見。有難く真似させていただいた。

 しかし、だいぶラズパイから離れていたものだから、扱いを忘れていた。さらに、ラズパイzeroに入れてあったマイクロSDカードにはOSが入っていなかった(?)ようだ。従って、OSのインストールから始めた。カードをフォーマットして、最新ラズビアンのイメージファイルをダウンロードして書き込む。途中、原因は後で分かったけれど、画面が消えたので強制終了してフォーマットからやり直したり.....時間がかかったね。

 何をしたかったかというと、ネットラジオを聞いてみたかったのだ。PCでも聞けるんだけどね。専用にしても面白いかなと。スピーカーが能力低いのだけれど、それはそれで楽しいかも。ついでに、音楽でも聞こうかなと。mp3でもいいし、midファイルでもいい。できるかな?

 「IoT+」さんの説明がいいから、その後は順調に構成ができた。母艦にVNCviewerも残っていたので、母艦からコントロールしながら、以前にやったことを思い出すこともできたのはラッキーだった。で、なかなか面白いパフォーマンスをこのSpeakerPhatはやってくれた。音も昔のラジオのようで懐かしいし、満足。

 さて、このSpeakerPhatを使って次は何をしようか?


H29.11.4

 GPIOを使うためのピンを取り付けた。短いピンを付けてしまったため、うまくScrollPhatHDが差し込めなかったので、基部の黒い樹脂を注意して1mmほど削った。長いピンも購入していたが、長いピンにすると、ケースからはみ出るので短いものにしたのだった。はんだごてで外そうかとも思ったが、本体を痛めそうで止めた。

 ScrollPhatHDを取り付けるとこんな感じになる。でも、これでは他のセンサーなどが取り付けられない。2階建てにでもするかな? ScrollPhatHDは5VとGND、I2Cの2本のGPIOピンを使っているようなのだが、テストしてもよくわからない。もう少しじっくりと調べてみる必要があるかな。

 上右の画像は、ブレッドボードを利用して、I2Cに環境センサーのBME280とキャラクタ文字表示のAQM0802を並列につないでいる状態。今のところ、別々に動かすしかできないのだが、近いうちにBME280の気圧と温度をLCDに表示させようと思う。

 高層ビルのエレベーターの中で気圧変化を測定したら、きれいな変化を記録できた!という記事をネットで見て興味がわいた。使えるんじゃないか? 雲を作る実験での湿度や温度変化、水中に潜らせて深さと圧力との関係(水濡れが怖いが)いろいろできそう。それには、ディスプレイ無しで、モバイル電源で電源を入れたら即測定記録できるようにして使えるようにすることと、コンパクトにすること。科学実験に使おうと目論んでいる。


H29.10.21

RaspberryPiZeroWを購入した。Pi3用に新たにインストールしたStretchの入ったSDカードを差したら、あっけなく動きました。感動。ただ、起動はもったりします。ラズベリーの数も1個になるし(関係ないけど)。Scratch1.4は動くけれど、Scratch2は動きません。node-redでHATからの情報を提示できる方法を知ったので、そういう使い方をしていけるかなと思う。

 Stretch Liteを入れたら、懐かしのms-dosのコマンド状態になってダメだった。時間があれば使うんだけど。

 ケーブル類は、タブレットを使い始めたときに必要になって購入したものでOKだった。