検索キーワード「Scratch」に一致する投稿を日付順に表示しています。 関連性の高い順 すべての投稿を表示
検索キーワード「Scratch」に一致する投稿を日付順に表示しています。 関連性の高い順 すべての投稿を表示

2025年8月1日金曜日

Pd(Pure data)でシンセサイザープログラミング~Linux Mintでも動くのだろうか

以前の続きです。これまでは、主にMacBook Proを使ってPd(Pure data)の動作確認作業をしていましたが、調子に乗ってLinux Mintで動かしている自作PCにもインストールして、音が出るかやってみることにしました。
#拙BlogのPd関連記事

「ソフトウエアマネージャ」からFlatpakパッケージのPd(バージョンは「0.55-2」でした)をインストールしました。動作確認をするために、Pdを起動してMacBook Proのときと同じプログラムを作って実行してみましたが、残念ながら音が出ませんでした。Pdに限らずLinux版の音楽関係アプリでは、インストールされている音楽関係システムやその設定によって音を出すのに手間がかかることが多々あります。今回のようにプログラムの作り方に間違いがなくても、Pdからの「音を出す」という命令を受け取って音を出すシステムとうまくつながっていない(うまく受け取れていない)のではないかと考えられます。ちょっとがっかり…。orz

気を取り直して、ソフトウエアマネージャでFlatpak版を削除してから通常版(バージョンは、ちょっと古い「0.52.1+ds0-1」でした)をインストールしてみました。Linuxあるあるですが、最新版よりもちょっと古いバージョンの方が動作する可能性が高いからです。通常版のPdを開くと、すべて英語表記のPdが起動しました。言語設定のやり方がわからなかった(できない可能性も…)ので、そのまま使ってみました。プログラム自体は、同じようにやってみましたが、残念ながらこれもダメでした。

ダメ元で、ソフトウエアマネージャでPd-extended(バージョンは「0.44.0」でした←サポート終了につき使用は非推奨です)を入れ直して動くかどうかやってみましたが、これもやはり音は出ませんでした。若干絶望的な状況になってきました。

仕方がないので、はじめにインストールしたバージョン「0.55-2」を入れ直して「オーディオオン(DSPオン)」にしてから、「オーディオとMIDIをテストする」の窓を開くと様々なテストをする道具が出てきます。これを使って音が出ないかどうかやってみましたが、ログ窓の方に「オーディオ I/O エラー」と出ては消える状態になってしまいます。

原因は、Pdが求める「音を出すシステム」と自作PCのLinux Mintで設定されている「音を出すシステム」が合っていないということらしいです。これらのON/OFF設定を合わせれば、音が鳴るんじゃないかと思うのですが、これが一筋縄ではいかないのがLinuxというものです。

自作PCのLinux Mintでは「PulseAudio」をメインで使っています。この環境でScratch 1.4LMMSを使うと問題なく音が出ます。(但し、Scratch 1.4は、Windowsで使っているときのように音色の変更はできません)

Pdでは、「ALSA」を使うことが求められているようです。自作PCのLinux MintにもALSAの主要なパッケージはインストール済みです。これを、Pdを起動する際に、明示的にALSAを使うよう設定する必要があるのだろうと思います。以前、どこかで似たような作業をした記憶があるのですが、どうやるんだったか…思い出せるかやってみたいと思います。

ついでに、Raspberry Pi 5Raspberry Pi OSRaspberry Pi Imager)でも確認してみました。「Add / Remove Software」から、「puredata 0.53.1+ds-2+deb12u1」やALSAをインストールして動作確認をしてみましたが、この環境でも音が出ませんでした。

ということで、私が使っているLinux系のOS環境では、Pdを動かすことができませんでした。きっとやり方があって、何かが音を出すことを邪魔しているのだろうと思います。問題は、Pdを使えるようにすることで、別のものが使えなくなるのであれば、使用頻度の高くないPdを使うことを優先するのは得策ではないということです。(実験・検証はしたいけど、普段使いの環境を壊すのも嫌だし…)

2025年3月2日日曜日

Raspberry Pi Zero 2を使ってみる

約10年前に発売されたRaspberry Pi Zero Wの後継機として、Zero 2 Wが数年前に発売されています。Pi Zeroについては、このBlogでも何度か話題にしてきましたが、久しぶりに後継機が出たので何がどう変わったかを確認したくなり、日本での販売開始から少々時間が経ってしまいましたが、購入して使ってみることにしました。既知のことではありますが、USBコネクタが少なく有線LANも使うことができないなど使い道が限られているため、正直なところ私自身はこれまであまり使っていませんでした。今回、Zero 2 Wとの比較をするために、久しぶりにZero Wを出してきてアップデート作業などのメンテナンスを行いました。(Zero無印の方は、IchigoJam Basicで動かしているので今回はパスです)
#今回の後継機発売は、Zero無印はなしでW付だけみたいです。

Zero WとZero 2 Wの共通する仕様は、本体サイズとI/O周りの数と規格です。この辺りは、これまでのZero Wユーザーが使用している周辺機器との接続を考慮して、置き換えがスムーズに行くように配慮されたのではないかと思われます。対応する無線LANの規格も同じですが、Bluetoothは4.1対応から4.2対応になっているようです。その他で仕様が変わったところだけをまとめると以下のようになっています。

〈Zero W〉

  • Broadcom BCM2835(Single core 32 bit SoC…ARM1176JZF-S(ARMv6)1 GHz)
  • 内蔵メモリ512 MB DDR2 SDRAM
  • micro USB電源(5 V/1 A)
  • CSI カメラコネクタ

〈Zero 2 W〉

  • Broadcom BCM2710A1(Quad core 64 bit SoC…Arm Cortex-A53 1 GHz)
  • 内蔵メモリ512 MB LPDDR2
  • micro USB給電(5 V/2.5 A)
  • CSI-2カメラコネクタ

#micro USBとmini HDMIだけでなく、HAT互換40ピンヘッダも共通仕様です。GPUのVideoCore IVも同じようですが、バージョンアップはされているようです。

本音を言うと、USBはUSB-Cの方が便利だし、HDMIもminiではなくmicroの方が扱いやすいしという問題点は感じるところですが、micro USBとmicro HDMIだと挿し間違いが発生しそうだから変更するならUSB-Cとmicro HDMIでお願いしたいところです。

問題提起はさておき、Zero 2 Wのセッティングを進めていくことにします。やることは他のRPiと大きくは変わらず、「Raspberry Pi Imager」を使って起動microSDカードを作るところから始めます。今回は、在庫していた東芝製の16GBのものを使いました。64 bitのRaspberry Pi OSをRecommendされるので、これを使って起動microSDカードを作成し、Zero 2 Wに挿して起動します。RPi 5に比べるとかなりもっさりとした感じですが、これは単にCPUが非力だからなのか、メモリ512MBでは少なすぎるということなのか、microSDカードとの相性問題なのか、諸々の複合的な問題なのかなどなど、はっきりとした原因はわかりません。まぁこんなものだと思って使い方を選んで使うというのが正解だと思います。
#Zero Wの方は、32 bitがRecommendされました。メンテナンスがてら、Zero WのOSも最新の32 bit版(Raspbian GNU/Linux 12 (bookworm))をインストールしました。動作感は、Zero 2 Wとあまり変わらないかな…。

Zero 2 WのRaspberry Pi OSのバージョンを確認するために「$ lsb_release -a」コマンドを実行すると、「Debian GNU/Linux 12 (bookworm)」になっていました。現時点で最新のOSで動かせることがわかりました。とは言え、できることが限られていることを前提にして、実験してみたいソフトだけ追加でインストールしておきました。

〈「Recommended Software」より〉

〈「add / Remove Software」より〉

非力なのでそれなりに時間はかかりましたが、どうにかインストール作業を終えました。Zero Wの方も、32 bit版の同じソフトをインストールして、ほぼ同じことができるように設定をしました。今後の活用を考えて、Zero W/2 Wを他のPCなどからコントロールできるようにするのが実用的なのではないかと考えています。

2025年2月17日月曜日

Raspberry Pi 5と歴代Raspberry Piの使い道を考える

前回の続きです。約1年前に重い腰を上げて歴代RPiのメンテナンスを行いましたが、Raspberry Pi 5を購入してセットアップしたことをきっかけに、過去のRaspberry Pi(RPi)たちでも快適に使える状態を維持するにはどうしたらよいか考えてみました。Scratch 3などのビジュアルプログラミング環境を活用したい場合には、過去のRPiではかなり重くなりますので新しいRPi 5の出番だと思います。しかし、世代に合わせたOSを入れて、軽い作業のみをするか単一の機能に絞り込むかといった工夫をすれば、まだまだ使い道があるように思います。

以前のメンテナンスの際に歴代RPiで使っているOSを確認しましたが、RPi初代とRPi+はあえて古いOSを残す(ソフトの動作確認や作った環境をキープするため)として、RPi 2以降は新しいOSにしてしまって良いと思っています。中でも、3台もあるRPi 3にはしっかり仕事をしてもらおうかなと。ということで、歴代RPiのメンテナンスをサクッと終わらせて、3台のRPi 3のうち1台を実験台にすることにして、OSのインストールからやってみることにしました。

いつものように、Raspberry Pi Imagerを使って、microSDカードに最新のOSを入れます。Recommendに従って、64 bitのOSを入れることにしました。起動microSDカードをRPi 3に挿して起動すると、思ったよりスムーズに起動してくれて過去のRPiでも快適に動作するような調整がされているのかもしれないと思いました。「$ lsb_release -a」コマンドでOSのバージョンを表示させると「Debian GNU/Linux 12 (bookworm)」となっていました。RPi 5のときと同じように、表示を英語表記から日本語表記に設定して、指示に従って再起動しました。次に、この実験台RPi 3に以下のソフトをインストールしました。

〈「Recommended Software」より〉

〈「Add / Remove Software」より〉

実のところ、RPi 3で最新の64 bitOSがまともに動くとは思っていなかったのですが、しっかり動いてくれたのでちょっと感動してしまいました。職場でデジタルサイネージによる情報発信を考えているのですが、RPiならうってつけだと思っています。(以前の職場でも同じような取り組みをしていたので)私がいる間は、私物のRPi持ち込み(ネット接続は不可)でやってみるという手もあるかなと思っています。その他にも、どんな使い方ができるか考えてみたいと思います。
#5V 3AのUSB電源を使っても、「Low voltage warning」が出てしまうのは、どうしたものかと思っています。

(本当は、Raspberry Pi Zeroの方が、安いし用途を絞って使うには良いと思うのだけど、学校予算で買ってしまったら引き続き使ってもらうのは難しいかもしれないし、後任の負担になるようなことはしたくないし…。一方で、この程度のものを使いこなせないというのも情けないとは思うし、でもそれを強要するのは違うとも思うし…)

2025年2月8日土曜日

Raspberry Pi 5を使ってみる

世界的なインフレ傾向や円安の影響もあってか、価格が上がって気軽に購入できない感じになっているRaspberry Pi 5でしたが、ほぼ全世代のRaspberry Pi(RPi)を購入している私としては逡巡する気持ちもありつつ、発売開始から供給が安定するまでしばらく待っていました。先日、我慢の限界に足して半分衝動的に購入してしまいました。購入したのは、コスパ重視で4 GBモデルにしましたが、Smrazaのアルミのヒートシンク兼ケースと5.1V-5.0A対応のACアダプターも一緒に購入して1.4万円程度でした。(ケースは割引がありました)
#詳しくは、過去のRaspberry Pi関連記事もご覧ください。

OSを入れるmicroSDカードは、自宅に在庫していたKIOXIAの32 GBのものを使うことにして、MacBook Proにインストールしてある「Raspberry Pi Imager」を使ってOSイメージをこのmicroSDカードに焼きました。今回使用するOSは、64 bitのRaspberry Pi OSにしました。焼き上がったmicroSDカードをRPi 5に挿して、モニタ、マウス、キーボード、LANケーブルをつないで起動しました。体感ではありますが、起動までの動作は速くなっているように感じました。ケース付属のFANも静音性が高く、起動後は最小限の動作になるようでしばらく止まっていました。ケース自体がヒートシンクになっているものなので、ぬるめのカイロくらいには温かくなっていました。

さて、起動まではスムーズだったのですが、デフォルトの設定が英語なため日本語に設定を変更したいと思います。デスクトップの左上のRaspberry Piメニューから、「Settings」→「Raspberry Pi Configuration」を起動して、「Localisation」内の「Locale」を「ja(Japanese)」←つまり日本語に、「Country」を「JP(Japan)」←これも日本に設定しました。すると、それに合わせてTimeゾーンも「Asia」「Tokyo」と自動的に変更されました。「Keyboard」の設定は、日本語キーボードになっているかと思いましたが、実際に接続しているUSキーボードになっていました。これは、USキーボードが認識されているのかと思いましたが、よく考えたらRaspberry Pi Imagerで設定されていました(^^;;;。これらの設定を終えて「OK」ボタンをクリックすると、再起動を求められるので指示に従って再起動します。すると、メニューを含めてほとんどが日本語表示に設定変更されました。

確認のため、「$ lsb_release -a」コマンドでOSのバージョンを表示させると「Debian GNU/Linux 12 (bookworm)」となっていました。再起動をしたタイミングでWindow上部のメニューバーにアップデートがあることを示すアイコンが表示されていることに気づいたので、このアイコンをクリックしてアップデート作業を行います。これはかなり時間がかかりましたが、しばらく放置して終わるのを待ちました。途中から、流石にヒートシンク(ケース)が熱くなってきたので、FANも回り始めました。アップデートが終わったところで、「Recommended Software」から以下のソフトをインストールしました。

これらを選択したら、「Apply」ボタンをクリックします。すると、ダウンロードが始まってインストール作業が進んでいきます。これもやはり時間がかかるので、別のことをしながら気長に待ちました。新しい環境なのでちょっと欲ばってインストールしてしまいましたが、何とかインストール作業を終えることができました。続けて、さらに追加したいソフトについて「add / Remove Software」からインストールします。今回追加でインストールしたのは以下のものです。

こちらもソフトを検索してチェックボックスにチェックを入れて、「Apply」ボタンをクリックするとまとめてインストールが始まります。ちょっと違うのは、このインストール作業にはパスワードが求められることです。パスワードの設定は、「Raspberry Piの設定」から「パスワードを変更」を選択して設定することができます。パスワードを設定してインストール作業を終えました。それぞれ動作確認してみましたが、起動については問題なくできました。ここでもやはり動作が速いと感じました。

今回は、RPi 5を使える状態にまでセットアップしましたが、これまでに購入してきている初代からのRPiたちをどのように活用していくかを考えなければならないと思っています。古いものにはより軽いOSを入れて、使い方を限定したら快適に使えるのではないかとか、そうするためのOSの選び方や特化させる機能や使い方をどうするかとか、あえてGUIの環境を捨ててCUIだけ、あるいは、ネットワークからアクセスして動かすだけにしてしまうとか、アイデアはいろいろと出てくるのですが…。

2024年11月2日土曜日

Raspberry PiでRaspberry Pi Picoのプログラミングに挑戦〜圧電スピーカーをつないで音を出す

以前の続きです。Raspberry Piでプログラミングをして、Raspberry Pi PicoをコントロールしてLチカする実験をしましたが、次のステップとして、「音を出す」ことに挑戦したいと思います。今回もRPI 3RPi 400を使ってやってみます。まずは、MicroPythonでできるかやってみようと思いますが、RPi 3では「Visual Studio Code」が使えなかったので、「Thonny」だけでやってみることにします。
#下準備として、PicoでMicroPythonが使えるようにするファームウェアの設定作業は、過去の拙Blogの記事を参考にしてください。公式Webサイトの情報もご確認ください。

まずは、Thonnyを起動して作業開催。既に様々な設定が終わっているので、すぐにプログラムを書き始めます。今回は、@undo0530さんの「Raspberry Pi PicoでMicroPythonでPWM信号でスピーカーでメロディー演奏」を参考にしながら、曲を演奏するMicroPythonプログラムを書きました。内容は以下のとおりですが、ファイル名は任意で決めていただいて構いません。

from machine import Pin, PWM, Timer
speaker = PWM(Pin(17, Pin.OUT))
led = Pin(25, Pin.OUT)
ahz = 440
A4 = ahz
B4 = ahz * (2 ** (2/12))
C5 = ahz * (2 ** (3/12))
D5 = ahz * (2 ** (5/12))
E5 = ahz * (2 ** (7/12))
F5 = ahz * (2 ** (8/12))
G5 = ahz * (2 ** (10/12))
A5 = ahz * 2
mspb = 400
melody = [C5,0,C5,0,G5,0,G5,0,A5,0,A5,0,G5,0,0,0,F5,0,F5,0,E5,0,E5,0,D5,0,D5,0,C5,0,0,0]
i = 0
def beat(timer):
global melody
global led
global i
global speaker
if i >= len(melody):
speaker.deinit()
led.value(0)
timer.deinit()
elif int(melody[i]) == 0:
speaker.duty_u16(0)
led.value(0)
else:
speaker.freq(int(melody[i] + 0.5))
speaker.duty_u16(0x8000)
led.value(1)
i += 1
tim = Timer()
tim.init(period=mspb, mode=Timer.PERIODIC, callback=beat)

ScratchMicrosoft MakeCodeのように、はじめから音階が用意されていないので、PWMで作らなければなりません。そのために、使う音名に12平均律の各音の周波数を計算して入れて、メロディとして並べて演奏するプログラムにしています。「0」は、休符です。

このプログラムを作る過程で、MicroPythonでの「べき乗」や「累乗根」の計算式の書き方を学びました。各音の周波数値を決めるために近似値を使わずに計算式で計算をさせるプログラムにしたのは、(内部処理によって計算精度が微妙に違うかもしれませんが)できるだけ「正しい12平均律」に近づけたいと思ったからでした。実験した圧電スピーカーとPicoは以下のとおりです。(Seriaで購入した小さなモニタスピーカー模型?に圧電スピーカーを仕込んであります)

プログラムを書き終えてから、PicoをUSBケーブルでRPiにつなぎ、認識された(認識がうまくいかない場合は、一度「Stop/Restert backend」ボタンをクリックすると認識される)ところでRUNボタンをクリックすると、無事にメロディが鳴ってくれました。(「きらきら星」です)RPi 400でもRPi 3でも問題なく、音程も思った通りで「楽器」としても面白いものができた感じになりました。今回取り組んだ「周波数から音階を作る」という作業は、とても面白いと思いました。一方で、もう少しスマートな書き方ができないものかと思案しています。

〈参考資料〉

【追記】これまでのPicoでのプログラミング(フィジカル・コンピューティング)に関する拙Blogの記事もご覧ください。(2024.11.4←これからも適宜更新していきます)

2024年8月20日火曜日

ビジュアルプログラミング環境でRaspberry Pi Picoのプログラミングに挑戦〜Piper Make編

以前の続きです。これまでは、C/C++やMicroPythonThonnyVisual Studio Code)でのプログラミングに挑戦してきましたが、学校での使用となるとまだまだハードルが高いと思います。(現状では、ということで…)そこで、ScratchMake Codeのような、いわゆるビジュアルプログラミング環境を使ってRaspberry Pi Picoのプログラミングができないか調べてみました。すると、「Piper Make」と「BIPES」というビジュアルプログラミング環境を見つけることができました。両方とも英語なので「ビジュアルプログラミングだから簡単」とは言えないところがありますが、使用感だけでも確認してみようと思います。

〈Piper Makeを使ってみる〉
Piper Makeの使い方については、SunFounder(米国にある、ArduinoやRaspberry Piなどを活用したSTEAM教育に力を入れている企業と紹介されています)のテキストが充実していたので、それらを参考にしてPicoの動作確認をしていきます。参考資料は以下のとおりです。

ビジュアルプログラミングをはじめる前に、セットアップ作業が必要です。今回もLinux Mintで動かしている自作PCを使って作業を行います。また、PCとの接続にはPicoの他にUSB-A↔micro USBケーブルが必要です。作業した内容は以下のとおりです。

  1. Piper Makeのサイトを開く
    ※PicoとPCとの接続は、後で指示されるまで行わないでください
  2. 画面上の「SETUP MY PICO」ボタンをクリックする
  3. ガイドのウインドウが表示されるので指示に従ってセットアップ作業を行う
    ※Picoにファームウェアがインストールされます

これで動作確認の準備が整いました。試しにLチカプログラムを動かしてみたいと思います。デフォルトでは「STORY」モードになっていると思いますので、MODEレバーの側にある「CREATIVE」をクリックしてビジュアルプログラミングができる状態にします。Lチカまでの手順を以下にまとめておきます。

  1. 「NEW PROJECT」ボタンをクリックしてプロジェクトを作る
  2. 新しく作ったプロジェクトをクリックしてビジュアルプログラミング画面に入る
  3. 「Chip」から「Start」「turn pin(0) (on)」「wait (1) seconds」、「Loops」から「repeat forever …」を取り出してプログラムする
  4. 「CONNECT」ボタンをクリックしてPicoを接続する
  5. 「START」ボタンをクリックしてプログラムを動かす

これで、PicoのLEDが点滅したので、Lチカ成功ということになりました。作成したプログラムは、「DOWNLOAD」をクリックするとPNGファイルとして保存することができます。CREATIVEモードのトップ画面に「IMPORT PROJECT」ボタンがあるので、これをクリックしてPNGファイルとして保存したものを読み込むと保存したところから編集作業をすることができます。仕組みとしてはとても面白いと思いますし手軽にできるのがよいと思うのですが、Google Chromeで日本語に翻訳しても部分的にしか日本語にならないので、小学校の授業で使うのは難しいかもしれません。
#プログラミング部分については、「ビジュアルプログラミングで Raspberry Pi Pico が扱える「Piper Make」を軽く試した時のメモ(Maker Pi RP2040 でも試す)」を参考にしました。

【追記】これまでのPicoでのプログラミング(フィジカル・コンピューティング)に関する拙Blogの記事もご覧ください。(2024.11.4←これからも適宜更新していきます)

2024年3月23日土曜日

Raspberry Pi 4でOS(Debian)が起動しなくなる(ログインできない)現象を解決しました

以前Raspberry Pi 4のアップデートをしていて気づいたことなのですが、microSDカードに入れたOS(Debian)が起動しなくなる現象が発生してしまい、どうしたものかと悩まされました。症状としては、MacBook ProでmicroSDカードにOSをインストール(Raspberry Pi Imagerを使用)したものをRPi 4に入れて起動すると、しばらくは使えるのですが、追加ソフトをインストールしたりアップデートしたりしているうちに起動しなくなるという現象です。否、起動はするけれどログインができなくなるというのが正しいです。これではまともに使えません。

検証のためにOSを再インストールするところからやってみることにしました。使ったのは、Gigastoneの16GB microSDカードです。新しいRaspberry Pi Imagerは、インストール時にユーザ名&パスワードやWi-Fiなどの設定ができるのでとても便利になりました。できあがったmicroSDカードをRPi 4に挿して起動すると、普通に起動してくれます。

この後しばらく待つと、タスクバーの右側にアップデートのインストールを促すアイコンが表示されるので、アップデートをインストールしてreboot。いつもの手順で「Recommended Software」からScratchなどのソフトウエアをインストールしてreboot。ターミナルから「sudo apt install fcitx-mozc」で日本語入力ができるようにしてreboot。と、この辺りまでは順調に起動するのですが、「Add / Remove Software」からArduinoLMMSをインストールすると、rebootした後にログイン画面が表示されるようになり、正しいパスワードを打ち込んでも先に進めなくなってしまうのです。この状態でShutdownを選んでも、再び起動するとまた同じ状態になります。つまり手詰まり状態というわけです。

これは、microSDカードの問題なのではないかと考えて、在庫していたTOSHIBAの16GB microSDカードにOSをインストールして同じ手順でやってみましたが結果は同じでした。

もう一台のRPi 4とRPi 400には32GBのmicroSDカードを使っているので、16GBでは容量不足ということが考えられます。そこで、これも在庫していたVerbatimの32GBのmicroSDカードにOSをインストールして使ってみることにしました。16GBのmicroSDカードでインストールした手順と同じ手順で作業を行い、再起動すると無事に使える状態で起動してくれました。さらに、LibreOfficeGIMP、ゲームなどを入れても問題なく起動するようになりました。つまり、単に容量不足だったという面白くない落ちだったようです。

ちなみに、RPiのフォーラムに「GUIログインができなくなった。(←Google先生に日本語訳してもらった)」という書き込みを見つけて、この解決方法も参考にしようと思っていましたが、容量の大きなmicroSDカードを使って解決してしまったのでこの方法は試していません。もし、容量の大きなmicroSDカードを使っても解決しないときには、試してみる価値はありそうです。

〈おまけ〉
アップデートの際に参照するサーバは、デフォルトの設定でも自動的に近くのミラーサーバを選んでいるようですが、明示的に近いところを指定したければ、リポジトリの設定を変更して日本のサーバを直接参照するようにもできます。効率よくアップデート作業をしたいときは、こうした細かな設定の変更がストレスを低減してくれると思います。
MiniPC.JUST4FUN.BIZさんの「Raspbianを日本のリポジトリサーバに変更する・buster」が参考になりました。

2024年1月27日土曜日

ワイヤレス対応の6 key+ダイヤルのミニキーボードを使ってみる

以前SIKAI CASEの4 keyミニキーボードを楽器のインターフェイスのように使ってみました(Scratchプログラムも作りました)が、このミニキーボードはUSBケーブルをつながなければならないため、楽器のインターフェイスとしての操作性(演奏性)を損なうと思い、ワイヤレスに対応しているものを探していました。否、ワイヤレスのものがあることは知っていたのですが、有線のものに比べて高額なことに頭を悩ませていたのでした。そんな折、Amazonのタイムセールで安くなっていたワイヤレス対応のミニキーボードを見つけて即買いしてしまいました。

購入したのは、Bluetooth/2.4G/USB接続に対応した6 key+ダイヤルスイッチを搭載したミニキーボードです。このメーカーのミニキーボードは、キーの設定をするのにWindowsで動く「MINI keyboard」というソフトが必要だったですが、調べてみると「SIKAI CASE マクロキーボード専用ソフトウェアの使用説明【日本語】」という記事が見つかり、その中にMac版のソフトが公開されていました。しかも、以前に使ったWindows版のソフトに比べて、格段に使いやすくなっていました。
#このミニキーボードは、いわゆるマクロキーボードでキーの設定がキーボード側に保存されます。一度設定をしてしまえば、OSの種類に関係なく使うことができます。

新しい設定ソフトを使って、各キーの設定を行うことにします。ミニキーボードをUSB-CでMacに接続し、設定ソフト(MINI keyboard)を起動します。 「Reading Device」ボタンをクリックしてデフォルトのキーキー設定を読み込んだら、「clear」もしくは「Clear All」ボタンをクリックして、元の設定を消去してから新しい設定を入力します。Mac(PCの場合も同じ)のキーボードではなく、画面上のキーボードで入力しなければならないところが注意点です。いろいろ悩んだ結果、シンプルに以下のような設定にしました。

1
2
3
- +

4

5

6
Space

以前の4 keyミニキーボードのときは「1」「2」「4」「8」に設定したので、同じように「1」「2」「4」「8」「16」「32」としようかと思いましたが、Scratchで「〈( )キーが押された〉」を使う場合には、2桁以上の数字は扱いにくくなるのでやめました。このミニキーボードには、3パターンまで設定を記憶させておくことができるので、別のパターンを記憶させておいてどのパターンが使いやすいか実験することもできそうです。
#ついでに、以前の4 keyミニキーボードもこの設定ソフトで設定ができるのか試してみましたが、残念ながら対応していないようでした。

ワイヤレス接続では、2.4G接続に対応しているとのことなのですが、MacもLinux Mintも現段階では接続がうまくいきませんでした。(2.4GのUSBドングルは、キーボードとして認識されているようなのですが…)Bluetoothでの接続は問題なくできた(昨年末に苦労した甲斐がありました)ので、ワイヤレスの方はBluetoothでやることにしました。

4 keyのミニキーボードに比べて少々重いのですが、楽器(プログラム)のインターフェイスとしてどこまで使えるか試してみたいと思います。

2023年9月16日土曜日

ベンチ台PC(i3-3240搭載)の電源をフルプラグイン電源(SST-ST75F-P)に換えてみた

2020年には現役を退いて、ベンチ台(SMZ-2WBT-ATX)の上で余生を送っていたIntel Core i3-3240を載せているベンチ台PCですが、現在は諸々の検証用PCとして使っています。(最近は、日の目を見ることが少なくなりましたが)

そんな折、何気なく寄ったHARD OFFSilverStoneの80PLUS SILVERフルプラグイン電源(SST-ST75F-P)を見つけて衝動買いしてしまいました。ジャンクコーナーにあったのですが、動作未確認ジャンクとなっていたので動いてくれたらラッキーです。(過去にジャンクの電源を買って失敗した記憶が…)
#ケーブル類が欠品していたので、Amazonでケーブルセット(SST-PP05-E)を購入しました。

見た目はとてもきれいでしたが、一応エアダスターで軽くホコリを飛ばして、マザーボード24PINとCPU補助電源8PIN、Linux Mintが入ったSSDをつないで電源を入れてみました。すると、問題なく起動してくれました。ベンチ台に載せているのでファンの音は直接聞こえますが、うるさいというほどではないかなという印象です。ケーブルが足りずに動作確認ができなかったためのジャンクということだったようです。(他のものをつないだらダメなところはあるかもしれませんが)ちょっと久しぶりにベンチ台PCを起動したため、Linux Mintのバージョンが古くてアップデート作業に時間がかかりましたが、電源自体は問題なく使えました。

検証用に使うため、GreenWithEnvyCPU-XVLCAudacityBlenderGIMPLMMSScratchArduinoProseccingVisual Studio Codeなど、いつも使っているものを「システム管理」→「ソフトウエアの管理(ソフトウエアマネージャ)」からインストールしました。

ベンチ台PCは、ただでさえごちゃごちゃした感じになりやすいのですが、フルプラグインであれば必要なケーブルだけを挿しておけば良いので、すっきりとした印象になります。750W、80PLUS SILVER、フルプラグイン、いずれもはじめてですが、しばらくはこれを使っていこうと思います。

2023年8月7日月曜日

macOS版のPYONKEEで過去にScratch 1.4で作ったプロジェクトを動かしてみる

過去にScratch 1.4で作ってきたたくさんのプロジェクトがあります。多くのものは、自分のアイデアを表現するための試作品だったり、小学校でScratchを活用した学習活動を行っていたときに子供たちからの質問に答える見本や教材として使ったりしていたもので、その中のいくつかは、今のScratchのサイトでも使えるようにしてあります。

Scratch 2.0や3.0へ移行が進む中でも、学校のICT環境の制約を考慮して、しばらくは1.4を使い続けていましたが、macOS上で32 bitのプログラムが動かなくなったことにより、MacでScratch 1.4を使い続けることが困難になっていました。

Scratch 1.4を使わなければならないときは、Linux Mintで動かしているPCで使うことにしていたのですが、Linux版特有の問題点もあって、結局3.0を使うことにしてしまったので1.4で作っていたものは開くこともない状況になっていました。

今年になってあるところから講師の依頼を受けたため、自宅に眠っていた古いパソコン(Puppy Linuxで動かしている→本家)を使わなければならない状況になり、再びScratch 1.4での作業が必要になってしまいました。そんな中、iPadで使っていたPYONKEEが、macOSでも使える(PYONKEEのダウンロードサイト)ことを知り、過去に32 bit版Scratch 1.4で作っていたものがどのくらい使えるのか試してみることにしました。

ダウンロードした.pkgファイル(現時点での最新版は2.27.7でした)からPYONKEEをインストールすると、Scratch 1.4で作っていたプロジェクトのファイル(拡張子「.sb」)がPYONKEEのアイコンになりました。流儀に従い、PYONKEEを起動して「ファイル」メニューからプロジェクトファイルを開こうと思ってファイルを探しましたが行き当たらず。ダメもとでプロジェクトファイル自体をダブルクリックしたところPYONKEEで開かれました。(この動きの方が動作的にはありがたい)どうやら、「書類(Documents)」フォルダ内に「ピョンキー」フォルダができていて、この中にプロジェクトファイルなどが保存されるようです。

開かれたウィンドウの大きさがかなり小さかったのですが、動くことは間違いないようです。フルスクリーンにしても画面いっぱいにはならず、比率は4:3(?)のままのようで両サイドがグレーになって何もない領域ができてしまいました。

過去にScratch 1.4で作ったものを開いて編集してみましたが、問題なく編集ができました。動作も問題ありません。(若干不安定なところがあって、作業中に固まって落ちてしまうことがありましたが)PYONKEEで編集したものを保存して、Linux版Scratch 1.4でも開いて動かしてみましたが、これも問題なく動作してくれました。PYONKEEには、32 bit版Scratch 1.4にはなかった機能が追加されているようなので、いろいろと試してみたくなりました。

2023年7月17日月曜日

古いMebius(Puppy Linux)でBluetoothやWi-Fiが使えるかやってみる

このところ、BluetoothやWi-Fiで試行錯誤することが多くなっている気がしますが、だいぶ昔に情報処理推進機構(IPA)の「学校教育現場におけるオープンソースソフトウェア活用にむけての実証実験(「教育現場におけるデスクトップ Linux 導入の実証実験を開始」PDF)」に参加した際に導入していただいた、SHARPMebiusPC-AL50G5)が十数台、諸事情により手元にあります。これまでは、小学生向けの学習活動にプログラミングを含むフィジカル・コンピューティングを持ち込む研究にも活用してきましたが、最近では時々ピンチヒッター的にパソコンクラブなどで活用していただくのみで、ほとんど余生を送る状態になっております。

OSは、自分でカスタマイズしたPuppy LinuxPhysical Computing Puppy)で動かしています。だいぶ古いPCですのでどこまで使い続けられるかわからないのですが、これまでも、様々なメンテンナンスをしながら使い続けていて、壊れていないので捨てるのはもったいないが、用途が限られているという状態になっています。当然のことながら、CPUも古いシングルコアのAthlon(Athlon XP-M 2000+)ですし、骨董的な価値もなく、悪く言えば不良在庫でしかありません。もうこれ以上延命措置を施すのもどうかと思うのですが、大変な状況をともに乗り越えてきた愛機たちでもあるため、簡単に手放すことができないでいます。

そんな中、「せめてBluetoothや無線LANが使えたなら…」と思い、ダメモトで試してみることにしました。試したのは、USB接続のBluetoothドングルとWi-Fiドングルです。

〈Bluetooth〉

〈Wi−Fi〉

結論から言うと、「HardInfo(USB Devices)」からは見えるものの、「ネットワークの設定」などで認識されることはなく、機能させることはできませんでした。私が作ったPhysical Computing Puppyは、Wary-511-01jをベースにしていて、このPuppy Linuxの無線接続に関する情報が全くと言っていいほどありません。見つかったのが、「ぱそとら」さんの「PUPPY LINUX 無線lan接続」という記事くらいでした。
#ここで使われているのは、Precise-550JP版だったようです。Puppy Linux日本語版サイトでは、Precise-571JP(2014.1.18)が最新版のようです。

いろいろと調べて回ると、特にBluetoothはLinuxカーネルレベルで対応していないものがあって、Bluetooth 5.x系は新しいカーネルが必要な感じでした。やはり、新しいPuppy Linuxを使う方が良い気がしてきました。別の需要があって複数台あるこの古いMebiusの内、近々10台程度を使う予定があります。久しぶりにScratch 1.4もいじっているのですが、これとは別に新しいPuppy Linuxを試す環境を作らなければならないことになります。ちょっと頑張ってみようと思いますが、続きは別の機会に。

2023年6月21日水曜日

ちょっと一息(いろいろな壁に阻まれて整理中)

最近は趣味的なことを中心に、主がやってきたことをつらつらと書いてきたこのBLOGですが、このところいろいろな壁に阻まれて先に進めないことが多くなってしまっています。そもそも素人が興味本位でいろいろと手を出すものだから、行き詰まるのは当然といえば当然なのですが、自分の頭を整理するためにもここでちょっと一息入れてやろうとしていることを整理したいと思います。

〈音楽関係〉

  • CV/Gateのアナログ・シンセサイザーをMIDIで動かせるか
  • MIDIATOR(MS-101)でMIDI⇔SERIAL変換で何ができるか
  • IchigoJamでMIDI楽器をコントロールする
  • littleBitsでアナログ・シンセサイザーをコントロールする
  • Arduinoでアナログ・シンセサイザーをコントロールする
  • 自作ブレスコントローラー(マイクの改造)とScratchで音楽を演奏する
  • LinuxのRosegardenで内部音源を鳴らしてみる

〈PC関係〉

  • 内蔵Wi-FI&Bluetoothカードの使用感を比べてみる
  • 古いPCでWi-FI&Bluetoothが使えるか
  • USB接続のGPS受信機で何ができるかやってみる
  • グラボの違いでBlenderの使用感が変わるか
  • Linux MintXAMPPをインストールして使ってみる

〈マイコン・電子工作〉

この他にも、BLOGネタになりそうなメモがいくつかありますが、今回ピックアップしたものも含めてこれから本腰を入れて取り組んでいくものとボツにするものを精選していきたいと思います。そもそも趣味の世界の話なので、やりたいと思うものが最優先です。とは言え、お金がかかるものはすぐにはできないのでどうしても後回しになりがち。買った当時は面白いと思っていたのに、多忙によって長らく放置してしまったことで、世間的に需要がなくなっているようなものもありそうです。

2023年5月28日日曜日

USB接続の3連フットスイッチを楽器のように使ってみる(Raspberry Pi上のScratchで)

これまでに、MacRaspberry Pi(以下「RPi」と略記)を含むコンピュータとArduinomicro:bitなどのマイコンボードをつないで、楽器のインターフェイスのように使うガジェット(例えば、ピストン楽器のような4 keyキーボードなど)を作ったり改造したり購入したりしてきました。今回は、AmazonPCsensorUSB Foot Switch Triple Pedal Controllerという3連フットスイッチを見つけたので、早速購入して楽器のインターフェイスのように使うことができないかやってみることにしました。

これは、USB接続の足踏み式3連マクロキースイッチで、デフォルトでは左から「a」「b」「c」が割り当てられいるようです。この割当を変更するソフト「Elfkey」(インストールすると日本語で使える)もあるので、マクロキースイッチとしても使うことができます。今回は、デフォルトのまま使うことにして、Scratchでプログラムを作って楽器を鳴らすような使い方ができるかやってみたいと思います。

まず、Scratchを使って、簡単な楽器演奏プログラム(abcでドラムセットを鳴らす)を作成してみました。これを、MacBook Proにつないでフットスイッチを踏んだところ、ドラムの音を鳴らすことができました。(連続して速く踏むと遅延が生じます)ここまでは当たり前の話。次に、RPiのような非力なシングルボードコンピュータに接続して、どのくらい演奏ができるか試してみようと考えました。

今回使用したのは、RPi 4(4GB RAM)とRPi 400(USキーボード版)で、どちらも64 bit版のRaspberry Pi OSで動かしています。結論から言うと、Webブラウザー(Chromium)上で動かすのはかなり難しいことがわかりました。そこで、プロジェクトをRPiにダウンロードしてRPi上のScratch 3(オフライン版)で動かしてみたところ、スムーズに動作することがわかりました。(連打はやはり厳しいですが)

このようなガジェットとプログラミング環境は、子どもたちの学校生活の中で活用したいと考えています。例えば、特別活動の行事(「たてわり班活動」「○○小祭り」「文化祭」など)では、今回の楽器のように演奏して観ている人を楽しませたり、直接利用者が操作して楽しんでもらったりするものを作成するだけでなく、USBバーコードリーダーと組み合わせてPOSレジのようなものを作ったり、カメラを利用して利用者への案内をやらせたりといった実用的な使い方も考えられます。平成20年(2008年)頃から、いろいろと機材を集めて当時の小学生たちとそんな活動をしていたことを振り返りながら、今1人1台のchromebookなどのGIGA端末があるのだからこれを活かさない手はないと、今の立場でできる提案とサポートをしているところです。

2023年2月13日月曜日

Scratchでプログラムして4 keyミニキーボードで楽器風に演奏してみる

以前の続きです。4 keyミニキーボードを管楽器のピストン風にして、これを使って楽器を演奏しているような雰囲気にしたいということです。前回までにミニキーボードの改造が終了しているので、今回はScratchのプログラミングをやっていきます。
(久しぶりにScratchで音楽系のプログラミングをしてみましたが、ちょっとしょぼくなっている気が…)

メインのプログラムは以下のとおりです。
https://scratch.mit.edu/projects/799298176/
雰囲気を出すために、トランペットのスプライトを使い、スクラッチキャットが演奏している風にしてみました。(笑)

「吹く」という動作は、「スペースキーを押す」ことで代用しました。本当は、ブレスコントローラーがあればよいのですが、手頃な値段のものがないため代替の方法にしたという訳です。電気的に使いやすい方法を考えると、コンデンサマイクやファンを使う方法が考えられると思います。
(本当は、PicoBoardLEGO WeDo 1.0(解説)が使えたら良いのですが、現行のScratch 3.0では両方とも使えません)

コンデンサマイクを使う方法は、PC用のマイクを接続して息を吹きかけるだけでもできるかもしれません。マイクは複数台在庫があるので、練習用のプラスチックマウスピース(YAMAHATMPTR」など)と組み合わせて、何か作れないかなと妄想しています。Scratchでは、マイクからの「音量」をセンシングすれば何らかの数値が出てきそうです。

ファンを使う方法は、micro:bitMakey Makeyとの組み合わせでできるのではないかと思います。本来は、ファンに電気を流してファンを回す使い方が一般的ですが、逆にそのファンを吹いて回して何らかの電気を得ることができないかということです。この電気をセンシングしてScratchへの入力として使えたら、「吹く」という動作を電気信号に変換することができるように思います。できるだけ小さなファンを用意して、息を吹きかけて回して出てきた電気をmicro:bitやMakey MakeyにつないでScratchに入力すれば良いのではないかと思います。

次の懸案事項は、音程の変え方です。管楽器は「吹く」だけでなく、吹き方で音を高くしたり低くしたりする楽器です。これをどのように再現するかということが課題となります。やはりしばらくは試行錯誤が続きそうです。

2023年2月6日月曜日

4 keyミニキーボードを使って楽器のインターフェイス(ガジェット)を作ってみた

このところ、IchigoJamを使って電子楽器を作る実験をしてきました。マイコンボードを使って簡易な電子楽器を作ろうと考えると、Arduinoとかmicro:bitあたりを使うのが定番な感じがしますが、本体でプログラムができるところがIchigoJamの強みではないかと思っています。しかも、PS/2キーボードがメイン(IchigoJam RはUSBキーボード対応)とは言え、市販のキーボードを直接つないで使えるという魅力もあります。(その意味では、Raspberry piScratchの組み合わせも良いと思います)

そんな中、電子楽器づくりに使えるガジェットはないかと思って探していたところ、Amazonで4 keyしかないミニキーボード(SIKAI CASEの製品らしい)を見つけて衝動買してしまいました。かなり昔、ArduinoやPicoBoardにつないで電子楽器のインターフェイスとして使うものを電子工作していたのですが、作ったあとから本職が忙しくなりすぎてしまって(言い訳)長いこと放置していました。(そろそろこっちも何かやってみたい)

早速、購入した4 keyのミニキーボードをMacにつないで動作確認してみました。まず、4つのどのキーを押しても「c」が打ち込まれるようになっていて、デフォルトではどうにも使いにくいことがわかりました。キーの割当を変更したいのですが、このミニキーボードの設定をするためのソフト(MINI KeyBoard.exe)がWindowsにしか対応しておらず、自室にWindowsで動いているPCがないので設定ができません。このところWineの需要もなかったため、自宅のPC環境を再構築してからWineも使っていませんでした。そこで、不本意ながら別のWindows機を使わせてもらって、4つのキーをそれぞれ「1」「2」「4」「8」に設定しました。(この後、時間を見つけてWineHQの設定をしましたが、MINI KeyBoard.exeの起動には成功したものの、ミニキーボード自体との接続がうまくいきませんでした)

次に、この4 keyミニキーボードはホットスワップ対応なので、キースイッチ(Cherry MXの互換品)を元々ついていた赤軸(OUTEMU)から自宅に在庫していた黒軸(AJAZZ)に変更しました。この黒軸キースイッチは、だいぶ昔にHARD OFFでジャンク品として売られていた不動箇所があるキーボードから救出したもので、キーボードの筐体から取り外して別の自作キーボードに使おうと思って在庫していたものでした。赤軸と同じリニアタイプですが、少し反発力が強く楽器としての演奏感を出せたら良いと思って交換することにしました。実際は、少しは重くなったものの大きくは変わらないので変える程のことではなかったかもしれません。

ここまできたら、キーキャップを交換して楽器っぽくしてみようと考えて、タイプライター風のキーキャップにシルバーのスプレーでペイントを施して、管楽器のピストン風にしてみました。出来上がりは以下のとおりです。

これを使って楽器のように演奏できたらと妄想しています。IchigoJamだとUSBキーボードに対応したIchigoJam Rを使うか、Raspberry PiとScratchの組み合わせでやるか思案中です。「吹く(音を出す)」という動きをどうするか、持ち歩いて演奏できるようにするにはどうするか、まだまだ解決しなければならないことがあります。

2022年11月13日日曜日

IchigoJamを楽器として使うことはできるのか

ScratchPicoBoardで楽器を作る活動(平成20年度21年度←PDFがダウンロードされます)からプログラミング(フィジカル・コンピューティング)の授業を本格的に始めた私としては、Scratchを活用して楽器を作って演奏したり、シーケンサーのように音楽を自動で奏でたりすることを学習活動に取り入れたいし、欲を言えばMIDIなどのインターフェイスを介して外部入出力にも対応させて、様々な楽器をコントロールするところまでやらせてみたいところです。(Extensionを作っている人はいるらしい)

しかし、多くの人が経験している(?)ように、Scratchで曲を演奏させるというのはそう単純なことではなく、遅延やズレなどがなくうまく演奏させるためにはかなり工夫しないといけません。小学校の学習活動として子どもたちに取り組ませるとなると、子どもたちにとってもハードルが高く、かなりの下準備が必要です。

そんな折、そう言えばと思い出したのがIchigoJamでした。その安さと電子工作好きが講じて、手元にはIchigoJam系のものが10個以上(そんなにあって何に使うの?というツッコミはなしで)があります。そこで、このIchigoJamを楽器として使うことはできないかやってみることにしました。(以前、ファームウェアのアップデートをしていたのは、こうした需要があったためでした)

今回使ったIchigoJamは、圧電スピーカーが組み込まれているIchigoJam SSkyBerryJam栃木県立栃木工業高等学校の生徒さんが作ったもの=自宅には赤との2種類ともあります)です。参考にしたのは、「IchigoJamで音を鳴らしてみよう」です。

言うまでもありませんが、BEEPやPLAYコマンドで音を鳴らす方法では、簡単に音が出ました。SNDとGNDに別の圧電スピーカーをつないでみると、基板に組み込まれている圧電スピーカーと同時に音が出ました。

〈音を出したコマンド例〉

  • BEEP 1 〜 255
    ※1〜255までのいずれかの数値を入力すると音が出る。1が一番高く、数値が大きくなるにつれて低い音になる。
  • PLAY “C” 〜 ”B”
    ※MML(Music Macro Language)によりプログラムできる。C(ド)〜B(シ)までの12音のいずれかを入力するとその音が出る。半音上は「+」、音符の長さは「数値」(2=二分音符、4=四分音符…)、「T数値」はテンポ、「O数値」は音域(オクターブ)の設定ができる。連続した音をプログラムすることができるので、楽曲の演奏も可能。

耳で確かめた感じだと、「BEEP 60,30」と「PLAY “C”」が同じ音かなというところ。単音なので、この程度ならScratchでやっても同じかなと思いました。曲の演奏にも挑戦してみましたが、IchigoJamの方がテンポやリズムに安定感があるように思いました。(音程は?)音を出す仕組みがScratchとは全く違うから、楽器のベースにするのはIchigoJamの方が向いているのかもしれません。(電子工作好きの個人的な感想かもしれませんが)

さて、圧電スピーカーから音が出るということは、何らかの電気が流れているということなので、その正体がわかれば楽器への応用が可能かどうかもわかりそうです。テスターとかオシロスコープとかで調べてみたいと思います。(テスターはすぐに使える状態だけど、組み立てキットで購入したオシロスコープが不調で調整が必要なため、すぐにはできませんorz)

DTMへの道として和音が鳴らせると良いなと思って調べてみると、PanCakeを使った「4和音ミニDTM」というやり方や「PWM機能による2和音」というやり方もあるようで、だんだん沼にハマっていく予感がしています。一方で、MIDIインターフェイスへの出力が可能という情報もあり、IchigoJamから他の楽器をコントロールすることもできそうです。

2022年1月8日土曜日

Raspberry Pi 2BとScratch 3のデジタルサイネージを最適化する

これまでRaspberry Pi 2BScratch 3(オフライン)で構築してきたデジタルサイネージのシステムですが、勤務校ではSHARPの32型液晶モニタに表示させています。デフォルトのままでも表示はするのですが、Scratchの最大化表示のあと全画面表示にしてもモニタいっぱいに表示されません。モニタ自体が古いので細かな仕様がわからないのですが、モニタのアスペクト比は16:9で、Scratchの画面が4:3であるという問題だけでなく、全画面表示されるはずのScratchの画面周りに余白が多い状態になっていました。
(Scratchの最大化表示のボタンを押して、ウィンドウの「^」←RPiの全画面表示を押している)

試行錯誤しながらいろいろいじっているうちに、上下の余白はほぼ無くすことができた(Scratchは4:3だから左右は仕方がない)のでその設定について備忘のためにまとめておきます。

  1. パネル(タスクバー)の設定
    • パネル上(アイコンがないところ)で右クリックをして「パネルの設定」を選択する。
    • 「高度な設定」タブを選んで、「自動的に隠す」の「使わないときはパネルを最小化する」のチェックボックスにチェックを入れる。
  2. 解像度の設定
    • RPiメニューから「設定」→「Raspberry Piの設定」→「ディスプレイ」タグを選択し、「解像度の設定」を選択する。
    • 「解像度」を「DMT mode 81 1366×768 60Hz 16:9」にする。(RPi OSの状態によっては、この選択肢がない可能性があります)
    • 再起動を求められるので「はい」をクリックする。
  3. デスクトップの設定
    • デスクトップ上で右クリックをして「デスクトップの設定」を選択する。
    • 「外観の設定」ウィンドウが開くので「デフォルト」タグを選択する。
    • 「大きな画面向け」の「デフォルト設定にする」をクリックする。

これでとりあえず満足できる表示になりました。環境が違うとあまり参考にならないかもしれませんが、2と3はそれぞれ設定をしなければならないところがポイントかなと思います。私自身も、どの組み合わせならどのような表示になるのかということを一つ一つ確認しながら設定をしていきましたので、地道な努力が必要かもしれません。

【追記】この設定で運用していたところ、データが重いせいもあってかフリーズするようになってしまいました。仕方がないのでデフォルトの設定に戻しました。ふりだしに戻りました。(泣)(2022.2.6)

【追記】この後、あまりにも動きが鈍くなってしまったため、ハードウエアの不具合を疑って3Bに変更しました。順調に動作しています。(2022.3.1)

2021年12月26日日曜日

Raspberry Pi 400を使ってみる

なかなか手に入れることができなかったRaspberry Pi 400(キーボード一体型RPi)がSwitch Sienceで少々値引きされているというのを知って衝動買してしまいました。購入したのは、もちろんUS配列。技適もクリアしてるやつです。

電源もSDカードも自宅に在庫があるので、付属品なしの単品を購入。いつものRaspberry Pi ImagerでRaspberry Pi OSの起動SDカードを作って、RPi 400のカードスロットに挿して起動します。電源は、USB-C形状のコネクターで3.0A流せるアダプター(もしくはUSB電源とUSB-Cケーブル)が良いようです。HDMI出力は、microが2つなのでどちらに挿しても大丈夫。SDカードの相性問題に遭遇してちょっと手間取ってしまいましたが、無事に起動することができました。(中身は、Raspberry Pi 4の4GBと同等な基板が組み込まれていることがわかりました)

初回起動時には、通過儀礼となる初期設定などを行い、ソフトウエアのアップデートが行われました。再起動後に「Recommended Software」からScratchVisual Studio Codeなどのプログラミングに関するソフトウエアをインストールしました。ついでに、Libre Officeも一応インストールしておきました。その他に、「Add/Remove Software」からArduinoInkscapeなどのLinux環境でよく使っているソフトウエアをインストールしました。(初期設定の際、日本語を選択したのでFcitx-Mozcが自動的にインストールされていました)

RPi 400の本体重量は400g弱程度で、AppleBluetoothキーボード(自宅では、これよりも古いUSモデルを使用)よりは若干重く、メカニカルキーボードよりは軽いという感じ。打鍵感の良し悪しを言うのは野暮ですね。そこを目指した製品じゃない。キーボードのような見た目のこの機械を持ってモニタのあるところへ行って、そこで作業をするというような使い方が想定されているように思います。LANは無線も使えるため、モニタがタッチパネルだった場合には、有線で接続が必要なのは電源とHDMIだけということになります。そう考えると、欲を言えばラップトップPCのようなタッチパッド付きの物があると良いように思いました。(私自身はタッチパッドよりマウス派です)

プリンターについては、LANで共有しているのですぐに使うことができました。これはとても便利です。(最近、家族がネットワーク上のプリンタの使い方を覚えて何でもプリントアウトするようになってしまっていますが…)これから、いろいろといじってみたいと思っています。

今回の作業では、Switch Sienceのサイト内でビギナーズガイドが提供されているので参考にしました。GIGAスクール構想Chromebookの方が注目度が高くなっていますが、縛りのきついChromebookに比べてLinuxの自由度が高いRPiの方が自分にとってはしっくり来る感じがしています。(Google Workspaceは便利ですけどね)

2021年5月22日土曜日

超古いMebius(PC-AL50G5)のHDD(IDE)をSSD化する

おそらく、既に「こいつ何をやっているんだ?」レベルなのだろうと思うのですが、Puppy Linux(本家Puppy Linux)で動かしている超古いSHARPMebius PC-AL50G5に載っているHDDをSSD化するという話です。需要がないとわかっていながら、これまでの続きをやっていきます。

既に知らない方も増えているのではないかと思うのですが、昔、PCにHDDを接続すると言ったらIDEという規格を用いるのが一般的でした。きしめんケーブルとも例えられる平たいケーブルでつなぐあれです。今回使用しているMebiusは、ラップトップPCなのできしめんケーブルはありませんが、IDE接続です。ただでさえ、メモリーからでも起動できるほどの軽いPuppy Linuxを入れているため、使った教職員や子どもたちから「こんなに古いパソコンが、こんなに速く動くなんて衝撃的」と言われるほどの速さです。これ以上何を望むのかと言われたらそれまでなのですが、将来的にIDE接続のHDDは消滅していくであろうことを考えると、今のうちに手に入るもので、できるだけ快適な環境にしてしまいたいと思ったわけです。

用意したのは、mSATAのSSDとそれを載せてIDE接続のドライブとして使えるようにするエンクロージャーです。初めてこの存在を知ったとき、「その手があったか!」と感激すると同時に、細々とではありますがIDE接続のSSDに需要があることを知って嬉しくなりました。今回用意したmSATAのSSDは、DOGFISH TECHNOLOGYからGamerKingというブランド名で販売されているシリーズの128GBモデル(read:540MB/s write:500MB/s)をチョイス。Amazonで安かった上にさらに割引されてポイントが付いたので衝動買したものです。エンクロージャーは、基板にNFHKとシルク印刷されており、型番はN-2507Iのようです。ハッキリとした情報に行き着くことはできませんでしたが、中国の深セン市にある企業のものであることまではわかりました。他にも似たような別の製品を購入してみましたが、中国からの発送(mSATA SSDは120GB read:420MB/s write:300MB/sのもの)だったため、到着が遅れているようです。国内発送のものがSSDとエンクロージャーで約4,600円程度、中国からの発送のものだと同じような組み合わせで約3,460円程度でした。

これをもともとのHDD(Fujitsuの40GBが載ってました)を外して換装します。HDDからマウント用の金具を外してSSDを載せたエンクロージャーに付け替えて、もとに戻すだけです。続いて、2012年頃にPuppy Linuxをカスタマイズして作ったリマスターCD(Physical Computing Puppy)でMebiusを起動し、「インストール」アプリケーションからインストール作業を行います。推奨されているFrugalインストールを選択します。Frugal Installerからインストール作業を始めると、エラーが出てパーティションの設定を促されます。IDE接続のSSDは、「ATA Dogfish SSD 128G」として認識されました。ガイドに従ってGpartedを起動し、表示されたデバイスを選択してから「デバイス」メニュー→「パーティションテーブルの作成」と進み、mSATA SSDをMS-DOSパーティションテーブルでフォーマットします。「!」が消えるので、次にフォーマットされた未割り当ての領域を選択して、「New」ボタンを押します。すると、新規のパーティションを作成する設定画面が開くので、そのまま「追加」ボタンを押します。次に「適用」ボタンを押すとパーティションの作成が始まります。これで、Linuxではおなじみのext2のパーティションが1つ出来上がります。再び「パーティション」メニューから「フラグを編集」を選んで「boot」にチェックを入れて閉じます。

Gpartedの画面を閉じると再びFrugal Installerが開いて、どこにPuppyをインストールするか聞かれるので、先程作ったパーティションを選択して「OK」ボタンを押します。しばらく待つとPuppyのインストールが完了しますので、後もう少しです。ガイドに従ってブートローダのインストールを行います。Grub4DosConfigを使ってブートローダを設定します。IDE接続したSSDのMBRにインストールされるので、特に何もいじらずに「OK」ボタンを押して作業を進めます。いくつかの質問にも「OK」ボタンで進めると、無事にブートローダの設定が完了します。

最後に、Frugal Installerを閉じて再起動します。リマスターCDを抜いてSSDから起動すると、無事にSSDから起動しました。そもそも軽いOSなので体感上の差は余り感じられません(否、やっぱり起動は速い気がする)が、不具合がないかいろいろといじっていきたいと思います。

【追記】Linux版Scratch 1.4の日本語入力ができない問題を解決するため、エディタで日本語文字列を作ってコピペするのですが、ペーストがうまく行かない問題が発生していました。(他の17台の中にも同様の症状があった)いろいろやっていると、Puppyの「メニュー」から「デスクトップ」→「Glipper」を起動すると、その後もCtrl+cとCtrl+vでコピペができるようになりました。(2021.5.22)

2021年2月21日日曜日

Linux版Scratchの日本語入力の状況を確認する

前回、事情によりScratch 1.4での教材開発を諦めて、今後はScratch 3.0で教材開発を行っていくことにしたのですが、ふとRaspberry PiのScratchでは「日本語入力はどうなっているのかな?」と疑問に思いました。と言うのもLinux版のScratch 1.4では、日本語のインライン入力ができず、テキストエディタ(「メモ帳」的なもの)で日本語テキストを打ち込んで、コピーしてScratchにペーストするというとても面倒なことをしなければならなかったのです。

早速、検証環境として使ってるRaspberry Pi 3Bと常用しているLinux Mintで動かしているPCで「〈こんにちは!〉という」ブロックに日本語入力ができるか、保存の際にファイル名に日本語入力ができるかの2つを確認していきます。日本語変換はFcitx-Mozcを使います。

  1. Raspberry Pi 5.4.83-v7+ ※「uname -a」コマンドで確認した
    • Scratch 1.4(オフライン)…Mozc起動せず
      • ブロックに日本語入力…×
      • 保存時に日本語入力…×
    • Scratch 3.0(オフライン)
      • ブロックに日本語入力…○
      • 保存時に日本語入力…○
    • Scratch 3.0(オンライン)※Chromiumブラウザー
      • ブロックに日本語入力…○
      • 保存時に日本語入力…○
  2. Linux Mint 19.3
    • Scratch 1.4(オフライン)…Mozc起動せず
      • ブロックに日本語入力…×
      • 保存時に日本語入力…×
    • Scratch 3.0(オフライン)…Mozc起動せず
      • ブロックに日本語入力…×
      • 保存時に日本語入力…×
    • Scratch 3.0(オンライン)※FirefoxブラウザーおよびChromiumブラウザー
      • ブロックに日本語入力…○
      • 保存時に日本語入力…○

RPiのScratch 3.0(オフライン)が日本語入力に対応していることに驚きました。つまり、MintのScratch 3.0でも日本語入力ができるようにすることができるかもしれないということ。(若干ややこしい)試しに、Wine上で動かしているScratch 1.4(Windows版)でも試してみましたが、日本語入力が文字化けしてしまいました。こちらは文字コードの問題のように感じたので、設定をいじれば使えるようになるかもしれません。(Scratch 3.0(Windows版)は、エラーを吐いて起動してくれませんでした)

そう思って調べていると、RPiのScratch 1.4で日本語入力ができるようにする設定の仕方を解説したブログのページを見つけました。「#6 スクラッチ1.4の日本語入力設定【Raspberry Pi】」です。これを参考にしてターミナルを開いて以下のようにやってみました。

$ sudo mousepad /usr/bin/scratch
※Raspberry Pi OSのテキストエディタは、Mousepadがインストールされているため。

その後、テキストエディタで以下のように設定を書き換えます。

〈変更前〉
$WRAPPER "$VM" $VMOPTIONS “$IMAGE” …※以下略
〈変更後〉
$WRAPPER "$VM" $VMOPTIONS -vm-display-x11 -compositioninput “$IMAGE” …※以下略

Raspberry Pi OSを再起動して、Scratch 1.4を起動して試してみましたが、日本語入力ができるようになっていました。調子に乗って、MintのScratch 1.4でも同じことを試してみました(Mintのテキストエディタは、「xed」を使っている)が、Mozcは起動するようにはなったものの文字化けしてしまいました。でも、あと少しな感じです。

Scrstch 3.0の方は、公式にLinux版が公開されていないので何か特別なチューンが必要な感じがしていますが、調べてもなかなか良い情報が得られませんでした。また時間を見つけてチャレンジしてみます。