2021年12月30日木曜日

Raspberry Piで使えるUSB電源とUSB-C・micro-USB Bケーブルを探す

最近のRaspberry Pi3,3+,4,400)は、電源アダプタ(USB電源&USBケーブルの組み合わせも可)を選ばないとうまく動かないことが多いと思います。1人で1台のRPiしか持っていない状況であれば、持っているものに合ったアダプタを購入すればよいだけのことですが、様々なバージョンのRPiを複数台所有しているような場合は、電源を複数台分用意するのは効率的ではありません。

そこで、できるだけ使い回しができるようにしたいのですが、これが中々厄介なのです。私がよく使っているのは、USB電源とUSBケーブルを組み合わせるパターンです。うまく選べば安価に入手できるのですが、個体差による不安定さやUSBケーブルの質に寄ってRPiに必要な電流を流せないなどの問題が発生することがあり、初めての人にはおすすめできないところがあります。(実験的にいろいろ買って試しているから、無駄に金がかかっている…)

USB電源の選び方としては、5V3A以上の電気が供給できるものを選びます。初期のバージョンのRPiでは、3Aまで必要ありませんが、電流の容量が大きいものを使うことは問題ありません。逆に、USBが2口以上ついているUSB電源では、合わせて3Aになっていることがあって、1つずつは1〜2.4A程度しか流せないという仕様のものもあります。購入の際によく調べてから買わないと、使えないことがあるので要注意です。

そして、USBケーブルも結構曲者です。そもそも、USBケーブルの役割は電源の供給だけに限らず、データのやり取りに使われることがメインです。USB電源と同じように5V3A以上を流せるUSBケーブルを選びたいところですが、見た目だけでは判断できません。特に、USB-C規格では、3.0A対応を謳っているものを選んで購入することができますが、micro-USB Bケーブルだと一般的には2.4A対応を謳ったものが多く、それ以上の電流を流せるかどうかは、実際にやってみないとわかりません。

そこで、実際にRPiで使おうと思っているUSB電源とUSBケーブルを1つ1つつないでみて、「電圧が足りない(実際は英語)」という表示が出ないか、うまく動いた場合にはどのくらいの電圧・電流になるのかということについて調べようと思いました。そのために、AmazonでUSB電圧・電流計(KEWEISI(MakerHawk)のKWS-MX18L)を購入して計測してみることにしました。
#使い方は、coronのまちぽたさんの「USBテスターKEWEISI KWS-MX18Lを買ってみた」に詳しく書かれていたので参考にしました。

私が普段RPiで主に使っているのは、Physical Computing Labの(1)4口USB電源(5V5A)とGigastoneの(2)Quick Charge 3.0(QC3.0)対応 ACアダプタ(Amazonで5V3Aとなっていたので購入しましたが公式サイトでは5V2.4Aになっています)、NorthPadaと書かれた(3)micro-USB B出力の電源(5V3A)です。中でもQC3.0対応のACアダプタが不安定で困っていたので、これを実際につないで測定してみて、安定して使えている4口USB電源との違いを見ていこうと思います。(micro-USB電源は今回購入したUSB電圧・電流計では測定できなかったので除外)

(1)4口USB電源では、5.4…V程度の電圧で、0.1〜0.2…A程度の電流が流れていました。(2)QC3.0電源は、2つある内の1つが5.06…V程度で、もう1つが5.04…V程度でした。個体差があるとは言え、5.04…V程度の方をRPiで使用すると、例の「電圧が足りない」表示が出ます。電流も不安定で、直ぐに使用を中止しました。この状況は、ケーブルを変えてもあまり変化がなく、そもそもこの電源をRPiで使うのはあまり得策でないことがわかりました。やはり、RPi対応を謳ったもの((1)と(3))が安心して使えるという当たり前と言えば当たり前の結果になってしまいました。

その後、何気なく寄ったダイソーでUSB-C電源(5V3A)と2口USB電源(1口最大3A合計3.4A)が500円で売っていた(ラティーノという会社のエコラ事業部が作ったものらしい)ので衝動買いしてしまいました。両方ともRPiで問題なく使えました。(USB電圧・電流計で測ると5.1V以上出てました)USBケーブルもダイソーにあったもので3A対応のものを選びました。という訳で、いろいろやってきましたが、先日購入したRPi 400は、しばらくこれで動かすことにしました。(不具合があったらまたレポートします)

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年12月23日木曜日

古い内蔵用HDDをHDDケースに入れて外付けHDDにする

以前Time Machine用に2台の内蔵用HDD(SEAGATEBARRACUDA 2TB)をロジテックの外付けHDDケース(LHR-2BRHU3)に入れてRAID1(ミラーリング)で使っていたのですが、容量不足を感じて8TBのものに換装したため、この2TB HDDの使い道を考えていました。3年間は電源を入れたまま使い続けていたのでそれなりにヘタっているだろうから、あまり重要な用途には向いていないものと判断し、データの一時保管用に使うことにしました。購入した外付けHDDケースは、ロジテックのLHR-EKWU3BKで、テレビなどでも使えるUSB3.1 Gen1(USB 3.0)で接続するタイプのものです。

組み込み方はとても簡単で、ケースからHDDに接続する基盤(電源やUSBコネクタがついた裏ぶたと一体になっている)を外し(2本のネジで止められている)、基盤のSATAコネクタにHDDを差し込んでHDD自体を固定金具に4本のネジで固定してもとに戻すだけです。あとは、電源とUSBケーブルを差して準備完了です。

動作確認のために自宅のPlayStation® 4CUH-2200AB02)のUSBポートに接続してみました。当然のことながらそのままでは使用することができないので、「設定」→「周辺機器」→「USBストレージ機器」を選択して、接続したHDDを拡張ストレージとしてフォーマットします。数秒でフォーマットが終了しPS4のアプリケーションの保存先として使えるようになりました。 

もう一つは、長年使い込まれた三菱電機液晶テレビ(Blu-rayとHDD内蔵の録画テレビ)に接続してみようと思っていろいろ調べたところ、外付けHDDには対応していないことが判明して断念。近々新しいものに買い換える予定なので、その時に再挑戦してみようかなと思っています。 

使用感としては、接続した機器の電源ON/OFFに連動して自動的に電源がON/OFFされるのが便利でよいです。動作音も静かだし、お手頃な価格だったので満足度は高いです。

2021年11月28日日曜日

XAMPP for macOSのインストールと使用感

以前の続きです。メインで使っていた自作PC新しい自作PCに交換したため、以前に構築していたLAN専用Webサーバ(Apache2phpMySQL)が使えなくなってしまいました。そこで、より簡単にこれらの環境を構築するためにXAMPPを利用することにしました。

XAMPPは、Apache Friendsによって開発・メンテナンスされているツールで、Apache2とMariaDB、PHP、Perlを一括して導入・管理することができるスグレモノです。WindowsmacOSLinuxに対応しており、Webサイトの動作確認程度なら必要十分といった感じで申し分ありません。特に、過去にこれらのシステムを別々に導入し、連携させることに苦労させられた人ならこの価値を理解できることと思います。

というわけで、XAMPPの使用感をテストするべくサブマシーンとして使っているiMac(21.5-inch,2017)へのインストール作業をはじめました。XAMPPのトップページにダウンロードのリンクがあるので、そこからmacOS用「xampp-osx-8.x.x-x-vm.dmg(現時点での最新版は8.0.13-0でした)」をダウンロードします。このdmgディスクイメージファイルをダブルクリックでマウントすると、XAMPPのアプリアイコンが現れてアプリケーションフォルダへドラッグ&ドロップするよう促されるので指示に従います。インストール作業はこれで終了です。

アプリケーションフォルダ内のXAMPPアプリケーションをダブルクリックで起動します。macOS(Monterey)の場合は初回の起動時にインターネットからダウンロードしたプログラムだけど開いてよいかと聞かれるので、「開く」を選択します。すると、画面中央にXAMPPの操作画面が表示されるので、「Start」ボタンをクリックします。

暫く待つとStatus:が緑色になり、IP Address:にアドレスが表示されます。「Go to Application」ボタンを押すと、デフォルトで設定されているブラウザーが開いて無事にWebサーバが立ち上がったことが確認できました。次に「Network」タグを開いて「localhost:8080」と「localhost:8443」を「Enable」ボタンを押して有効にします。これで、Webブラウザーから「localhost:8080」「localhost:8443」にアクセスすると、それぞれ「http://localhost:8080/dashboard/」と「https://localhost:8443/dashboard/」でWebサーバのトップページが表示されるようになります。
#2つの違いはhttpとhttpsの違いです。

続いて「Volumes」タグを開いて見るとhtmlファイルなどの保存場所は「/opt/lampp」以下になっているようで、「Mount」ボタンを押すとデスクトップに「lampp」としてマウントされます。中を見てみると、「htdocs/dashboard」フォルダ内にあるものがデフォルトで表示されるページのようです。(Webブラウザーがはじめに参照している場所も「〈IP Address〉/dashboard」になっています)これについては、「etc」フォルダ内のいずれかのconfファイルを変更すれば、任意の場所に設定することができそうです。confファイルをいじっていない状態で見られることが確認できたページは以下の通りです。

  • http://〈IP Address〉/dashboard/jp/ … トップページが部分的に日本語になる。
  • http://〈IP Address〉/dashboard/phpinfo.php … phpinfoのページが表示される。
    ※上の2つは「http://〈IP Address〉」を「http://localhost:8080/」や「https://localhost8443/」にしても表示されます。
  • http://localhost:8080/phpmyadmin/ … phpの設定画面が表示される。
  • https://localhost8443/phpmyadmin/ … 同上

設定の仕方などについては、「FAQs」のページにありそうなので英語と格闘しながら使い方を学んでいきたいと思います。使用感としては、万人向けとは言えないものの、同様の環境を自力で構築してきた経験があれば、簡単に移行できるのではないかと感じました。
#今回は、XAMPPの公式サイト以外にFree StyleというWebサイトの「Mac用のXAMPPをインストール。ローカル開発環境の準備と簡単な使い方」も参考にしました。

2021年11月25日木曜日

Bitnamiで作られた蔵書管理システムに挑む

5年ほど前のこと。勤務していた学校で、学校図書館の蔵書管理システムを、当時から数年前に保護者だった方が無償で作ってくださったものを使っていました。このシステムについては、メンテナンスができる人が他におらず、その保護者だったの方にお願いをする以外にないのこと。システムの作成からかなりの年数が経っており、保護者だった方との連絡もしばらくしていないということでした。

ざっくりと状況を確認してみると、パソコン(スタンドアローン)で蔵書や利用者、貸出・返却の管理をするためのシステムで、ベースになっているものがありそうでした。このシステムに利用者番号をバーコードに書き出す機能があって、それをプリントアウトして切り貼りしてクラスに分けて利用しているとか。これはあまりにも非効率的です。利用者情報をCSVで書き出せる機能もあるというから、それを使ってExcelでクラス分けをして、Wordでバーコード化して差し込み印刷したら良いのではと提案してみました。これは、結局私がやることになりましたが、この程度なら難しいことはありません。
#時間はかかるけど。

問題は、利用者番号のバーコード化がどのコードで行われているかを解析しないといけなかったこと。これは、USB接続のバーコードリーダーを使って蔵書管理システムから出てきたバーコードを別のパソコンで読み取って解析しました。すると、利用者番号は「コード39」でバーコード化されていることがわかりました。そこで、CSVで書き出したデータをExcelで開き、利用者番号をアスタリスク「*」で囲むようにした列「="*"&(利用者番号のセル)&"*"」を追加して、Excelの書類として保存しました。これを、Wordの差し込み印刷設定の中にある「バーコード挿入」機能を使ってバーコードに変換します。これはとても便利な機能だし、使い方も簡単です。

これでバーコードのクラス分けが簡単にできるようなりました。喜びも束の間で問題が発生。この蔵書管理システム自体が突然動かなくなってしまったのです。

この蔵書管理システムは、Windows上でWebアプリケーションのような形で動いているらしいことはわかっていましたが、詳しいことは全くわかりませんでした。とにかく、このシステムの正体を探るべくパソコン内を調査開始。すると、「Ruby on Rails」と「MySQL」を使っていることがわかってきました。この組み合わせで簡単に動かすことができるものを調べていくと「Bitnami」のサービスを使っているのだということがわかりました。

ここまでわかったところで、つてを辿ってこのシステムを作成した卒業生の保護者と連絡を取り、いろいろとヒントを貰いました。最終的には、再インストールしか復旧の方法はないかもしれないというところまで話が進みましたが、諦めるのはまだ早いと思いさらに調査を続けました。

挑むこと数日間。問題は、「rubystackMySQL」が動いていないことだったというところまで突き止めることができました。Windowsのサービスのリストを見ると「rubystackMySQL」が「自動」的に起動することになっているのに、起動即終了という状態になってしまっていました。さて、これを動かすにはどうしたら良いか。さらに調べていくとイベントビューアーのWindowsログに以下のようなエラーが残されていました。
#「日付」と「時刻」は伏せました。

エラー     (日付) (時刻)     MySQL   100     なし
        Binlog has bad magic number;  It's not a binary log file that can be used by this version of MySQL
エラー     (日付) (時刻)     MySQL   100     なし
        Can't init tc log
エラー     (日付) (時刻)     MySQL   100     なし
        Aborting
情報      (日付) (時刻)     MySQL   100     なし
        C:\Program Files (x86)\BitNami RubyStack\mysql\bin\mysqld.exe: Shutdown complete

このパターンは、「【MySQL】Binlog has bad magic number のエラーで起動しない」と同じではないかと思い、上記Webサイトを参考にして、以下のファイルを削除しました。

  • C:\Program Files(x86)\BitNami RubyStack\mysql\data\mysql-bin.000547(止まった時の最後のログファイル)
  • C:\Program Files(x86)\BitNami RubyStack\mysql\data\mysql-bin.index(止まった時と同時に更新が止まっていた)

これで再起動すると、蔵書管理システムが正常な時と同じように表示するようになりました。いくつか動作確認をして、学校図書館の司書さんにもいじってもらいましたが全く問題なし。無事に復旧させることができたという話でした。学校図書館に限らずこういうシステムを組むときにはメンテナンス性を考えるのはとても重要なことだと思います。今はGIGAの関係でGoogleが提供するシステムを利用することが推奨されていますが、自由度という面では課題が残ります。今後のスタンダードが何になるかわからないところですが、個人的にはXAMPPのようなものが普及していくことを期待しています。
PukiWikiとか、NetCommonsXOOPS…)とか、いろいろあるけどね。

2021年10月31日日曜日

Chromebookでデジタル・シティズンシップの授業

新型コロナウィルス感染症拡大防止に係る緊急事態宣言が解除されて、学校でも様々な行事が少しずつ行われるようになってきました。そんな中、年度当初から予定されていた学校公開日も、感染拡大防止対策を採りながら児童の家族限定、1人1時間(単位時間は45分)参観で行うことになりました。

3日間で2時間ずつ、1学級につきトータルで6時間の公開を予定しましたが、担任の負担を少しでも減らすために、担任外の教員が積極的に授業を担当することになったため私にも出番がやってまいりました。

依頼されたのは、3年生に情報関係の授業をしてほしいとのこと。そこで、Chromebookを自宅に持ち帰って学習に使う際にどんなことに気をつけたらよいか考えるという学級活動の授業を行うことにしました。タイトル(題)は、「想像力をはたらかせて考えよう」です。

勤務校の3年生は3学級あるのですが、1学級は普段から週1回書写を教えている学級で、残りの2学級は1度も授業をしたことがない学級です。授業の前に各自のChromebookを用意しておいてもらいました。授業のはじめに本時の授業の趣旨を簡単に説明したら、Chromebookを起動して指定したクラスルーム(classroom)に入るところからスタート。リテラシーは様々。キーボードからアルファベットを探すだけで一苦労という状態の子どもたちが多数いる中で、「自分が考えたことを入力して送信する」という課題はかなりハードルが高かったようでした。

それでも、「キーボードの打ち方を練習する」という方向に行きたくないのが私のこだわりでもあります。「自分の考えたことをみんなで共有する」ということをモチベーションとして、一生懸命目指す文字のキーを探し、たどたどしくても簡易でも良いから文章を完成させて送信し、自分が書いたことがみんなに共有されていくことを楽しんだり達成感を味わったりする中でスキルは自然に身についていくものと思うからです。

1つ目の質問「Chromebookでどんなことをしたいですか?」をワークシートに記入した後、予め作っておいたフォーム(forms)に入力・送信する場面ではかなり苦労していましたが、2つ目の「どんなことに気をつけなければならないと思いますか」をフォームに入力・送信する頃には、既にスキルが上がっていました。これには、授業をしているこちらが驚くほど。ネット環境やら各種設定やらに問題があって、いろいろ(詳述できない)つまずきがあったのですが、そのうち、「日本語にならない」(日本語変換モードになっていない)「キーがない」(みつからないだけ」とか「”ん”はどうやって出すんですか」とか「小さい”っ”はどうやるんですか」と少しずつ質問のレベルもアップしてきて自分の考えを打ち込む作業が進んでいることがわかりました。

子どもたちのフォームへの回答を大型モニタに映し出して確認しながらまとめていくと、3学級それぞれ少しずつ表現は違いますが、Chromebookをていねいに扱うことや人を傷つけるような使い方をしないこと、決まりごとを守ることなどの内容に集約されました。

最後は、1時間の感想をクラスルームで共有しようと思っていたのですが、残念ながらワークシートに書き込むのが精一杯の時間しか残っておらず、担任の先生方へ「別日にもう1時間ください」とお願いをして終えました。かれこれ25年くらい前に情報モラル(倫理)の授業を行ったとき、デスクトップに表示される様々なアラートなどをよく見もしないで「OK」を押す子が多かったという結果になりましたが、今回の子どもたちは、手を挙げて「どうすればいいですか?」と聞く子たちでした。それでも、アラートなどの内容をよく読まない(読めないということもある)のは同じです。将来的には、パソコンやスマホなどのメッセージやインターフェイスから状況を読み取って、どうすればよいかを自分で判断できるようになると良いと思っています。
#「今回はOKを押して良いけれど、自分で読む習慣を身に付けようね」と話しました。

2021年10月30日土曜日

iMacに接続した外付けHDDを共有フォルダとして設定してMacBook ProのTime Machineドライブとしても使う

自分の備忘のために記録しておきます。

macOSで使われているファイルシステム(フォーマット形式)は、主にAPFSとHFS+(Mac OS拡張(ジャーナリング))で、特にAPFSはmacOS 10.13以降で使用されるようになったファイルシステムです。自宅には、常用している外付けHDDが2台あり、この外付けHDDをそれぞれデータ保存用とTime Machine用として使っています。データ保存用として使っている1台は、HFS+(大文字/小文字を区別)でフォーマットされていて、私が使ってきた歴代のMacで作ったファイル等が保存されているのですが、今回はもう1台のTime Machine用として使っている外付けHDDの話です。

Time Machine用として使っている外付けHDDは、ロジテックのHDDケース(LHR-2BRHU3)にSEAGATEの内蔵用2TB HDD(BARRACUDA)を2台入れてRAID 1(ミラーリング)で使っていました。これをiMac (21.5-inch,2017)に接続して共有設定をして、MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)でも使えるようにしていました。導入したのは2018年の3月で、当時も苦労しながら設定をした記憶があります。(しかし、その内容が記録されていなかった…)

導入から3年半が経過し、2TBの容量をほぼ使い切った状態になっていて、容量を増やす必要に迫られました。いつものAmazonで少し安くなっていた同じSEAGATE BARRACUDAの8TBを2台(ロジテックのHDDケース(LHR-2BRHU3)で扱える最大容量)を購入して入れ替え作業&再設定をすることにしました。

Macの電源を落として外付けHDDたちを外し、HDDケースの方を開けて中のHDDを8TBのものに換装し、元通り組み上げてiMacに接続しました。これで、8TB(RAID 1)外付けHDDができました。(これを「8TB HDD」と呼ぶことにします)さて、ここから試行錯誤の始まりでした。

8TB HDDのフォーマットをAPFSにすると、ユーザーの設定(所有者=私、以外に読み書きできないようにしたい)がうまくできません。共有設定でファイル共有の設定をいじってもうまく反映されません。MacBook ProでTime Machineドライブとして設定しても、書き込む権限がないと言われてしまいます。仕方がないのでHFS+にしようと思ったら、ディスクユーティリティでは一度APFSでフォーマットしたものをHFS+などにはできないことが判明。仕方がないので、常用しているLinux MintのPCにつないで別のフォーマットにしてから再びiMacのディスクユーティリティでHFS+でフォーマットしました。

すると、ユーザー設定がうまくできたので、共有設定をしてからMacBook ProでTime Machineドライブとして設定をしました。これでうまく行ったと思ったら、同じ8TB HDDをiMacでもTime Machineドライブとして使用しようと設定したところ、強制的にAPFSとして認識されるようになり、MacBook Proからは使えなくなってしまいました。

再びLinux Mintの力を借りてから再度iMacでフォーマットのやり直し。HFS+でフォーマットして共有設定を済ませたら、MacBook ProからだけTime Machineドライブとして使えるようにしました。ここでiMacのTime Machineドライブとして設定してしまうと元の木阿弥なので、8TB HDDを2つのパーティションに分けることにしました。ディスクユーティリティでHFS+のパーティションを2つに分ける設定をしたところ、MacBook ProのTime Machineのバックアップはそのままで2つ目のパーティションが出来上がりました。

これをiMacのTime Machineドライブとして設定すると、勝手にAPFS(大文字/小文字を区別)に変更されましたが、MacBook Proが使っている領域に影響はありませんでした。これで、ようやく作業が終了しました。過去には、Time Machineドライブを2台(以上?)のMacで共有することが可能だったけれど、macOSのバージョンアップとともにそれができなくなったものと理解しました。(現在使っているのはMontereyです)Time Machineの設定が安定したためか、他に共有フォルダで運用しているものの挙動が安定するようになりました。

2021年10月19日火曜日

カブトムシの世話(2021秋)〜幼虫も食欲旺盛

夏の時季に成虫のカブトムシをあまり見かけなかったため、今年はかなりの羽化不全を疑っていました。死骸の片付けも大変だし、このままやめてしまっても良いかなとさえ考えていました。そうこうしているうちにプライベートが忙しくなってしまったため、成虫がいなくなってからは長らく放置してしまっていました。ここのところ、流石に寒い日が続くようになってきたのでどちらにしても様子を見ておかないとと思いコンテナを覗いてみました。すると、マットの表面はフンだらけになっており、数匹の幼虫がクヌギの朽木をかじっていました。たくましく生きていたカブトムシたちに感動するとともに、これはイカンと思い急遽世話をすることにしました。

生憎の雨の中、カブトムシの飼育コンテナを軒下まで移動し、フンを取り除きながら幼虫たちの様子を確認していきました。こぶりな2齢虫と既に大きく成長している3齢虫とが出てきました。合わせてその数57頭!昨年は35頭だったので、これは予想外でした。羽化不全の個体の死骸は見当たらなかったので、蛹化の時点で失敗していて土に帰ったのか、幼虫たちの餌になってしまったのか、詳しいことはわからないのですが、とりあえず個体数が増えたことに対応しなければならない状況になりました。(足りないものは急いで買いに行かないと手に入らなくなります)

昨年の秋もやりましたが、腐葉土飼育にするとマットが土化するのが早いため、ほとんどを取り除いて新しくマットを作り直しました。今回使ったのは、腐葉土45Lとくぬぎマット25Lでした。(くぬぎマットへの加水はしっかりと丁寧にやりました)プライベートが忙しくて購入するのを忘れてしまっていましたが、今年の冬から来年春にかけて必要な分が足りなくなりそうなので急いで購入しに行きました。幸いくぬぎマット10Lが2つお店に残っていたので、すぐに購入しました。腐葉土は比較的いつでも手に入るので、慌てずに購入しに行きたいと思います。

取り除いたフンは、勤務校の花壇の肥料に使ってもらうことにします。厚手のゴミ袋2枚に20Lくらいずつに分けて入れましたが、水分が多いためかかなりずっしり重たく感じました。自分の仕事が忙しいのでいつできるか(誰にやってもらうか)わかりませんが、有効に活用したいと思います。

2021年10月18日月曜日

運動会のYouTubeライブ配信をしてみた

コロナ禍により学校でも各種イベントが縮小傾向にあり、検温やマスクの着用をお願いした上で参会者数を限定する様々な工夫が行われています。そんな中、「運動会のライブ配信ができないか」という話になりました。GIGAスクール構想の関係で導入されているChromebookは児童生徒用ですが、勤務地では、教員にもこれまでの校務用とは別に、授業用にWindowsタブレットが整備されました。今回は、これを使ってみてはどうだろうかという話になったのでした。

実際には、セキュリティに係る設定の問題で簡単にはできなかったのですが、詳述するとセキュリティ的に問題があるので省略。まずはWindowsタブレットだけでYouTubeでのライブ配信を目指していろいろと試してみることにしました。多分に漏れず学校というところはお金がないので学校独自でソフトを導入することが難しい状況です。あわせて、セキュリティポリシーの問題で、購入したソフトをインストールするための手続きも必要です。今回は、全く何も新しく導入せずにあるものだけでやることにしました。(そもそもできるかどうかわからないことにお金をかけるのはかなりハードルが高いので…)

Windowsタブレットには、表と裏にカメラが付いています。これを利用してライブ配信をするということです。はじめてだらけで戸惑うことばかりでしたが、次の手順でできることがわかりました。

〈事前準備〉

  • YouTubeのアカウントを作る

〈ライブ配信を始める〉

  1. YouTubeのトップページからYouTubeアカウントでログインする
  2. 左側のメニューから「自分の動画」を選択(クリック)する
  3. チャンネルのコンテンツから「ライブ配信」を選択(クリック)する
  4. 中央の「始める」を選択(クリック)する→ライブ配信のモードになる
  5. 「詳細」「カスタマイズ」「公開設定」を順に行いライブ配信を開始する

※「カスタマイズ」でチャット機能をOFFにして、「公開設定」で「限定公開」と「公開予約」(日時)、どちらのカメラを使うかを設定しました。

手順としては、以上でライブ配信を始めることができました。問題は、この配信URLを伝えることです。幸い学校から家庭への連絡手段がありますので、それを使って配信URLを伝えました。また、一度配信を終了すると、再び配信を始めるためにはもう一度同じ手順で始めなければならずURLも変わってしまうため再度連絡をしなければならなくなり、煩わしくなるので注意が必要です。特に、セキュリティの関係でデータの移動が難しいシステムが導入されているような場合は、所々で「紙に書く(メモをとる)」という作業に頼らざるを得ず、準備段階で時間がかかるという問題もありそうです。

今回の利用者数は、Maxで370程度。のべでは2,800近いアクセスが有りました。高評価33に対して低評価は3。はじめてのライブ配信で、学校関係者が試行錯誤して行っているものですからユーチューバーと比べられたら残念と言う他ありません。また、第三者からのアクセスがないとも限らないので、できるだけ個人の顔が特定できないように配信したことも低評価につながったかもしれません。(学校Webサイトもそういうポリシーに従って顔が特定できないようにしているし、事前に特定できないように配信することも伝えていました)また、家庭のネット環境に寄ってはかなり遅延したとも聞きましたが、そのあたりはこちらでは如何ともし難いので…。(当日、運動会のライブ配信をしていたのは市内で勤務校1校のみだったので、配信自体は快適に行うことができました)

2021年9月20日月曜日

iBook G4を廃棄するためにHDDを取り出してみた

事情により、家の中の片付けをしています。(今もこんなことをしている場合ではないのだけれど疲れたので休憩中)家人が「古いノートパソコンが出てきた」というので確認してみると、MacBook Pro(MD313J/A)でした。かなり使い込んだ末に液晶がおかしくなって買い換えることにしたのではなかったかな(うろ覚え)と思うのですが、既により新しいMacBook Proに買い替えて久しいのに何で今頃と思いながら、引き取りの手続きを行いました。
Appleもパソコン回収はリネットジャパンを使うんですね。

引き取ってもらう前にHDDとかRAMとかはどうなっているかなと筐体を開けて確認したところ、HDDもRAMも既に外してありました。壊れてからHDDを抜き取って、SATA→USB変換ケーブルで接続し、新しいMacBook Proにデータを移行したのではないかと思います。片付けの最中だったので、確認してすぐに閉じました。

家人にパソコンの引き取り手続きが完了し、引取日について話したところ「実はもう1台」と言われてさすがの私もどっと疲れが。聞くとiBook G4(M9623J/A)というかなり古いやつ。発売は2004年らしいのですが、おそらく2005年になってから買ったような記憶があります。壊れたのもHDDの不具合だった気がするので、それこそ取っておく理由がありません。

というわけで廃棄することにしたのですが、HDDが壊れているとは言えそのまま回収してもらうのもどうかと思ったのでHDDを取り出すことにしました。ネットで調べると同型の情報がなくM9426J/AのHDDの取り出し方法が見つかりました。しかし、「難易度:かなり難しい」となっています。若干心が折れそうになりながら分解作業を行いました。

型番が違うのでいくつか違う(バッテリーをはめるところのビスが筐体を止めていた)ところはありましたが、概ね手順通りにビスを外していくことでHDDの取り外しに成功しました。(分解には精密ドライバーとトルクスドライバーがあると良いです)

HDDを取り出した後は、バラした逆の手順でビスを締めていき、無事に元の形に戻すことができました。HDDは、2.5inch IDE接続の30GBでした。Linux Mint動かしているPCにIDE→USB変換ケーブルで接続すると、読み込めるものの何だか挙動がおかしい感じ。一応上書きフォーマットをして処分することにします。(フォーマットも何もできない領域があるので、物理的に壊したほうが良いのかも…)

2021年9月11日土曜日

Linux Mintで増設したHDD/SSDを起動時にマウントする

普段Macを使い慣れていると、増設したHDDやSSDなどが自動的にマウントされるのが当たり前ですが、Linuxではそれほど簡単ではありません(後にこれがフラグと判明)。USBで外付けHDD/SSDをつないだり、カードリーダーでSDカードを挿入したり、DVDドライブにディスクを入れたりと、自動的にマウントされるようになったものはありますが、増設した内蔵HDD/SSDのマウントは、少し面倒な手順が必要です。というわけで、だいぶ時間が空いてしまいましたが、自作PCCore i3-9100)の使いやすさを向上させようという話です。

これだけ時間が空いてしまった理由は、256GBのM.2 SSD(Amazonで安く購入したLEVENのJM-600)を取り付けたとき、用意していたヒートシンクがうまくつかずにすぐに落ちてしまい、どうしたものかと思案しているうちに面倒で放置してしまっていたのでした。(言い訳)256GBという中途半端な容量のものを買ってしまったために、基板上に4つのメモリチップを載せられるところが1つしか載っておらず、ヒートシンクがガタついてすぐに落ちてしまうということがわかりました。そこで今回、1mm厚と0.5mm厚のM.2 SSD用のサーマルパッドを用意し、0.5mm厚のものをヒートシンクにつけて、基板上のメモリーチップがないところへ1mm厚のものをつけることで段差をなくして両方を貼り付けてみたところ、しっかりとくっついてくれました。(念のためにポリイミドテープでも止めておきました)これで問題は解決したので、作業の続きを始めたというわけです。

作業の手はじめに、増設した1TBのHDDを初期化します。左下のMintメニューから「設定」→「ディスク」とたどって「ディスク」を起動すると、各種ディスクドライブ(ボリューム)のフォーマットやパーティションの設定などができます。増設したHDDやSSDは、初期の状態ではフォーマットされていないので、「+」ボタンを押してボリュームの初期化を行います。今回はデフォルトのままにしたのでEXT4でフォーマットされました。

で、ここから先は、最終的には無駄な作業とわかります。結論だけを知りたい場合は、最後の数行まで読み飛ばしてください。それでは行きます。

HDDやSSDを起動時にマウントするためには「AutoFs」を使います。「ソフトウエアの管理」から「autofs」と検索するとすぐに見つかりました。これを「インストール」ボタンをクリックしてインストールします。「AutoFs」の設定をするためにはストレージの情報(UUIDなど)を知る必要があります。以下のコマンドで確認をします。

$ sudo blkid

※接続されているすべてのドライブのUUIDなどが表示されます。コマンドが通らない場合は、「e2fsprogs」パッケージをインストールする必要があります。「ソフトウエアの管理」で確認してください。

次に、viで「auto.master」を編集します。

$ sudo vi /etc/auto.master

変更するのは2箇所だけです。「#/misc /etc/auto.misc」のコメントアウト「#」を削除して「/misc /etc/auto.misc」に、「+ auto.master」の前にコメントアウト「#」を挿入して「#+ auto.master」にします。viのコマンドは以下の通りです。(備忘のため)

〈入力モード〉

  • i=文字の挿入
  • R(r + Shift)=文字の上書き
  • A(a + Shift)=行末に文字追加
  • ESC =入力モードからコマンドモードに戻る

〈コマンドモード〉

  • x =1文字削除
  • dd =1行削除
  • :w =上書き保存
  • :q =ファイルを閉じる(変更を保存していない場合は閉じることができない)
  • :q! =強制的にファイルを閉じる
  • :wq =上書き保存してファイルを閉じる

エンジニアの入口の「Linuxコマンド集 $ vi」を参考にしました。

今度は、viで「auto.misc」を編集します。

$ sudo vi /etc/auto.misc

末尾に、起動時にマウントしたいドライブの情報を書き込みます。

〈任意のドライブ名〉   -fstype=ext4,rw   :/dev/disk/by-uuid/〈blkidコマンドで確認したUUID〉

※マウントポイント、オプション、マウント対象の順で書き込みます。

作業を終えて:wqで保存&vi終了させたら、以下のコマンドで設定の変更を反映させます。

$ sudo /etc/init.d/autofs reload

#ここまで、以下のサイトを参考にして作業を行いました。
autofsを用いてHDD/SSD/USBメモリを起動時に自動マウントする方法(Debian)
automount(autofs)5分クッキング

これで出来上がりと思って再起動しましたが、全くダメ。何でだろうと思ってもう一度「ディスク」でドライブ(ボリューム)の状況を確認してみたところ、「歯車」ボタンから出てくるメニューの中に「マウントオプションを編集」という項目があることに気づきました。もしかして、これまでの苦労は全てこれで解決するのではないか…という不安をいだきつつ、「マウントオプションを編集」から出てきたウィンドウの「ユーザーセッションのデフォルト」スイッチにマウスを近づけると、どうやらこのスイッチをOFFにすると細かな設定ができるようなので、それに従ってOFFにしてみました。(「/etc/fstab」と関連付けられているらしい)中身はよくわからないけれど、マウントポイントとかUUIDとか問題なさそうなのでそのまま「OK」すると、管理者パスワードを求められた後、「ディスク」のボリュームの右下に★が表示されました。

この状態で再起動したところ、無事に起動時に(/mntの下に)マウントされました。設定の変更は、先程の「マウントオプションの編集」で簡単にできました。嫌な予感を確かめるために、別のLinux Mintで動かしているPCで「ディスク」から「マウントオプションを編集」で同じようにやってみたところ、あっさり起動時にマウントできてしまいました。「AutoFs」のインストールも、設定ファイルの変更や追記も全く必要ありませんでした。これまで難しいと思い込んでいたことが悔やまれてなりません。

#fstabの設定は、「11.2.3 fstabの設定」が参考になりました。

2021年7月25日日曜日

Raspberry Pi B+(2.4Inch LCD搭載)を再設定する

だいぶ前Spotpear2.4Inch LCD(タッチパネル)を載せて運用していたRaspberry Pi B+ですが、まともに動かなくなっていることに気づきました。否、いつの間にか使えない状態になっていて、長らく放置していたというのが正しい。既にSpotpearのサイトからドライバーをダウンロードすることができなくなっているし、面倒な匂いがしていて忙しさを理由に放置していたのでした。

オリンピック開会式を含む4連休のため、ぼちぼち仕事をしながら自宅にあるRPiたちをupdate && upgradeしていました。この際、懸案だったRPi B+のセットアップをやり直してLCDを使えるようにしてみようと思い、重い腰を上げることにしました。まず、16GBのMicroSDカード(SDHC)を用意しました。(自宅に在庫してあったもので他のRPiでも使用実績のあるもの)これに、Raspberry Pi Imagerを使って「Raspberry Pi OS」を書き込みます。これまでも度々使っていますが、このツールのおかげで起動SDカードを作るのがとても簡単になりました。

この起動SDカードで無事にRaspberry Pi OSでの起動を確認できたので、基本的な設定やその流れでアップデート(アップグレード)を行ってから、LCDのドライバーを探しました。「LCD-show」をキーワードにして探すと、GitHubにそれらしいものがありました。名前はそのままLCD-showとなっていて、見覚えのあるファイルが並んでいます。これを「↓ Code」ボタンから「Download ZIP」を選択してダウンロードし、Macで解凍して出てきた「LCD-show-master」フォルダをUSBメモリに保存してRPi B+に持ち込みました。これらを「pi」ユーザフォルダの「Downloads」フォルダに保存して、ターミナル(LXTerminal)で「Downloads」→「LCD-show-master」フォルダまでたどっていきました。

「LCD-show-master」フォルダの中身を確認すると、全てのファイルに実行権限が与えられていなかったので、

$ sudo chmod 755 *

と入力しEnterキーで実行すると、パーミッションの設定が変更され全てのファイルに実行権限が与えられます。この状態で、

$ sudo ./LCD24-show

と入力しEnterキーで実行すると、インストールが始まりました。程なくして自動的に再起動がかかり、無事にLCD側にデスクトップが表示されました。挙動としては、HDMI側への出力がすべてなくなっているわけではなく、起動時はHDMIへの出力がありました。試しに一度シャットダウンしてLCDを外して起動してみましたが、残念ながらHDMIへの自動切り替えは行われませんでした。とりあえず、これでLCDが使える状態になったのでよしとします。

ちなみにLCDを載せたままHDMI出力に戻すには、「LCD-show-master」フォルダ内の「LCD-hdmi」を利用して、

$ sudo ./LCD-hdmi

と入力してEnterキーで実行すれば、元通りHDMIからの出力となります。
LCD Wikiにも2.4inch RPi Displayの情報がありました。

2021年7月10日土曜日

カブトムシの世話(2021夏)〜今年はなかなか出てこない

 昨年9月の世話からだいぶ経ちました。この間、初春にくぬぎマットを20L追加しただけでほぼ放置状態(時々加水しましたが)でした。このブログでこれまでのカブトムシ飼育の記録をまとめてきましたが、例年なら少なくとも7月の上旬にはゾロゾロと成虫になったカブトムシが出てくるところですが、今年はなかなか出てきません。数日前、ようやく1〜2頭が顔を出していましたが、餌を与えても食べている雰囲気がなく、むしろアリが集まってしまって厄介な状態になっています。

はじめに出てきていた1頭(メス)は、残念ながら今朝遺骸となっていました。パートナーとなるオスが出てくる前に力尽きてしまったのはとても残念でした。

幼虫の段階で35頭しかいなかったので今年は1頭1頭が貴重なのですが、こちらが心配しているにも関わらずなかなか出てこないという状況です。うまく成虫が出てきたら、職場にも持って行って子どもたちに観察してもらおうとも思っています。

今後の計画としては、オスの角が小さくなる問題がどの程度進行しているかということについて確認していきたいと思っています。もしかすると遺伝子レベルで問題が発生していて、繁殖能力に問題がある個体が増えている可能性もあると思っています。

とは言え、命を粗末にすることはできませんので最後まで飼育を続けてどの様になっていくのかを見届けたいと思います。

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年5月16日日曜日

超古いMebius(PC-AL50G5)の液晶モニタを交換する

全く需要があるとは思えないのですが、苦労したので自分の備忘を兼ねてまとめておきます。

某研究で頂いたSHARPMebius PC-AL50G5の話です。過去にも記事にしていたもので、かなり古いものではありますが、Puppy Linux(本家Puppy Linux)で動かしていて体感上はかなり快適に動くようになっています。とは言え、経年による不具合は避けられず、使用を続けるには厳しい状況にあります。
#既に某研究に関するサイトが消えかかっていて、当時のニュース記事くらいしか出てきませんでした。
Linuxデスクトップ,学校へ行く---1CD Linux「KNOPPIX」編
IPAが教育現場でLinux導入実験、教員の80%以上が「授業に支障なし」

しかしながら、詳述できない諸般の事情により、再び活躍する日がやってきたのです。(驚愕と困惑)最後に子どもたちが使ったのは、5年以上前のこと。それ以来、細々とメンテナンスを続けていましたが、立場的にも多忙を極める状態になったこともあり、この2年ほどは全く使っていませんでした。

もともと全部で20台あったのですが、マザーボードやCD-ROMドライブなど、いろいろなところで不具合が発生していて現役を引退してしまったものが2台あり、5年前までは18台が使える状態でした。この18台の動作確認をしたところ、1台だけ液晶モニタの内側にカビらしきものが発生していました。そこで、現役を引退してしまった2台の中から、液晶モニタの状態が良さそうなものを選び、移植することにしました。

いろいろと試行錯誤してかなり時間はかかりましたが、以下のような手順でやると簡単に移植することができることがわかりました。

  1. 電源やバッテリーを外す(基本)
  2. PCの底面ネジを4箇所外す
  3. メッシュ部分を外す
  4. ヒンジのカバーを外す
  5. 液晶モニタと本体をつないでいるコネクターと液晶モニタのネジ(1箇所2本、左右で4本)を外すと液晶モニタ部分だけ外せる

写真は既に液晶モニタを外した状態で撮影していますが、外す箇所はわかると思います。これを左右両方で行います。液晶モニタと本体をつなぐコネクタは、線が細くて華奢な感じがするので慎重に抜きます。取付は、この逆の手順で行います。ということで、無事に1台の修理に成功しました。これで、子どもたちに使ってもらえるものを確保することができました。

この過程で、現役を引退していた2台のうちの1台が、使えるところがなくなるまでバラバラになってしまったため、廃棄することにしました。残った方もかなりバラバラになりましたが、部品としての需要があるため保管することにしました。つい先日まで、いつ捨てようかと思っていたので、本当に捨てなくてよかったと思いました。

【追記】残りの17台も含めて、ボタン電池(CR2032)の交換作業を行いました。いつ交換したのかわからなかったので、全部交換しました。Li-ionバッテリー(CE-BL38)は、劣化してしまっているのが5つありました。充電をせずに放置していたことが原因と考えられます。捨てるつもりだったことがとても悔やまれるところです。バッテリーなしでも動くので、問題はないのですが。(2021.5.17)

2021年4月18日日曜日

Koolertronの9キーマクロキーボードで使えるUSBケーブルを探す(USB-Cの変換問題)

先日、MacKoolertronの9キーマクロキーボードをを使うことについて書きましたが、このマクロキーボードに付属していたUSBケーブルは、USB-C⇔USB-Aのケーブルで、USB-C側をマクロキーボードに接続することになっています。常用しているMacBook ProにはUSB-C端子しかなく、これに直接つなぐことはできないものかと思案していました。MacBook Proに繋ぐ場合は、このUSB-AをUSB-Cに変換するアダプタやケーブルを使う必要があります。実際に変換して挿すと問題なく使えます。付属のUSB-C⇔USB-Aケーブルにつないで使用できた変換アダプタ&ケーブルは以下のとおりです。

〈変換アダプタ〉

  • USB-C to USB変換アダプタ:ダイソー(No.85)
    ※特に謳ってはいないが、USB3.0規格準拠でUSB OTG規格に対応しているらしい。
  • USB C to USB 3.0変換アダプタ:Lmpyf(Amazon
    USB 3.1 Gen1、OTG対応、10Gbit/s超高速データ転送

〈変換ケーブル〉

以前に買ってあったUSB-C⇔USB-Cケーブルを探し、さらにいくつか買い足して使えるかどうか試してみました。試したケーブルは次のとおりです。

  • USB-C⇔USB-C:Mauknci(Amazon)
    ケーブル長:50cm、USB3.1 Gen2 PD対応、最大5A/100W
  • USB-C⇔USB-C:SUNGUY(Amazon)
    ケーブル長:30cm、USB-C PD3.0対応、最大5A/100W(QC3.0)、480Mbpsデータ転送
  • USB-C⇔USB-C:ダイソー(No.5)
    ケーブル長:1m、USB2.0規格準拠、最大3.0A対応、480Mbpsデータ転送、USB PD非対応
  • USB-C⇔USB-C:ダイソー(No.86)
    ケーブル長:1m、高速充電・通信対応、最大2.4A対応、USB PD非対応

全滅でした。ケーブルの質(値段)の問題もあるかもしれないと思って、税込110円のダイソーからAmazonで購入した1500円程度のものまでやってみたのですが、どちらの向きにしてもダメでした。これでUSB-C⇔USB-Cケーブルは、使えないことがわかりました。

それならば、付属のケーブルが長すぎるので、せめてUSB-C⇔USB-Aケーブルをもっと短いものに変更できないか試してみることにしました。試したものは以下のとおりです。いずれもはじめに紹介した変換アダプタを使用して確認しました。

  • USB-C⇔USB-A:ダイソー
    ケーブル長:1m、USB2.0規格準拠、最大3.0A対応
  • USB-C⇔USB-A:ダイソー(No.93)
    ケーブル長:50cm、USB2.0規格準拠、最大3.0A対応
  • USB-C・micro USB-B⇔USB-A:ダイソー(No.7)
    ケーブル長:50cm、USB2.0規格準拠、最大2.4A対応
  • USB-C⇔USB-A:ダイソー(No.2)
    ケーブル長:1m、USB2.0規格準拠、最大3.0A対応

いずれも問題なくつながりました。つまり、C⇔CはダメでC⇔Aはつながるという結果でした。

これは、USBの規格上の問題と関係がありそうです。USB-C⇔USB-Aのケーブルに、USB-Cへの変換アダプタを挿した状態は、見た目として両方ともUSB-Cになっています。そこで、向きを変えても使えるかどうか試してみました。すると、USB-A側をMacBook Pro(おそらく他のPCでも同様)にしなければ動作しないことがわかりました。(規格上ダメな方向があるということは、それで接続した機器が壊れる可能性もありそうなので、試す場合は自己責任でお願いします)

今回使ったKoolertronのマクロキーボードに限らず、USB-Cを使った機器をケーブルで接続する場合には、気をつけなければならないことがあるということがわかりました。これは、学校現場にChromebookなどのUSB-Cポートのある機器が導入されているときの留意点になりそうです。

#今回参考にさせていただいたのは、以下のサイトです。
あのねライフ:「100均ショップで買えるType-Cケーブル&アダプタ8選
8vivid:「危険!USB-C→USB-A変換アダプターは“規格外”だぞ!!
HanpenBlog:「仕様違反のUSB Type-C変換アダプターが売られている話

2021年4月11日日曜日

iMacのキーボードをメカニカルキーボードにしてみた

このところ、キーボードがマイブームとなっています。前回、プログラム可能なキーボードのことを書きましたが、これがとても便利で重宝しています。これからもいろいろとやってみたいと思って、ネタを仕入れているところです。

これまでにも何度かキーボードのことを話題にしましたが、最近のMacBook Proを含むノート(ラップトップ)PCに搭載されている、キーストロークの浅いキーボードはあまり好みではないので、iMacを含むデスクトップマシーンには、打鍵感のしっかりとしたキーボードを使っています。自宅のiMacでは、昔eMac(過去に存在した教育市場向けのMac)に付属していたUSキーボードを使用していました。(もともとiMacについていたBluetoothキーボードは、ファイルサーバで時々使っている)

eMac(情報が殆どない…)のキーボードは、しっかりとした作りなのにおしゃれな感じなので長年愛用していたのですが、いつだったか、飲み物をこぼしてしまったことをきっかけに、いくつかのキーの動きが悪くなっていました。キーキャップを抜いて掃除をしたものの、汚れが取り切れていないのか、キーキャップの戻し方が悪かったのか、経年劣化か、…いずれにしても気持ちの悪い状態になっていました。

 自宅で現役で使っているキーボードは、Linuxで使っている(これも16年近く愛用している)A4TECH(今の会社がその昔のものと同じかどうかはわかりません)のAntiRSI KB-6というキーボードと主にRaspberry Piで使っているPFUHHKB Lite 2です。KB-6はPS/2接続で、HHKB Lite 2はUSB接続です。両方ともメンブレン方式のUSキーボードですが、その割に打鍵感がよくキーのブレも少なくて愛用しています。HHKB Lite 2の方はそれなりの値段がしましたが、KB-6の方は$27(グアム旅行中にセール品をGet)だったのでHHKB Lite 2の半額くらいで買ったものです。しかも丈夫で長持ち。

いろいろと品定めをした結果、iMac用にはメカニカルキーボードを購入することにしました。とは言え、あまり予算もないので、Amazonで見つけたHavitという中国メーカーの赤軸89キーのUSキーボード(KB487L)を選びました。メカニカルキースイッチには、JIXIANと刻印されていました。Cherry MX互換赤軸キースイッチというやつです。前回紹介した、プログラム可能な9キーのキーボードも赤軸キースイッチ(OUTEMUというメーカーのCherry MX互換)だったので、クリック感のないリニアストロークタイプのものです。キースイッチの形はそっくりですが、打鍵感を決めるのはキースイッチだけではないので手触りや押し心地、押したときの音などに違いがあります。

iMacにつないで今のところ問題なく使えています。感動したのは、音楽再生がこのキーボードからコントロールできること。昔のiMacについていたリモコンが使えなくなって、しばらく音楽を聴いていなかったのですが、これでキーボードを手前においておけば音楽が聴けるようになりました。(常用しているMacBook Proの3歩先に置いているだけだからそのくらい動けと…)とは言え、まだ使い始めて間がないので、じっくりと使い込んでみたいと思います。そのうち、いろいろカスタマイズを初めてしまうかも知れませんが…。

2021年4月2日金曜日

MacでKoolertronのマクロキーボードをプログラムする(AMAGを使う)

仕事の効率化のために、キーボードのスイッチを使って思い通りの文字列を入力したり、それぞれのキーにいろいろな機能を持たせたりすることが長年の夢でした。Arduino LEONARDO系(ATmega32u4)の技術を使えばできそうだということはわかったのですが、本格的に取組むことができず時間だけが過ぎていました。

そんな折、Amazonでプログラム可能なマクロキーボードを見つけました。キーの数はそれほどいらないので、3*3の9キーのものを選んで購入しました。1つ目に買ったものは、付属していたユーザーガイドを頼りに、その中に示されていたURLから専用の設定変更ソフトをダウンロードしてやってみましたが、うまく設定変更ソフトと接続できず返品しました。ちょっと高かった2つ目(これがKoolertronというメーカーのもので、OUTEMUというメーカーのCherry MX互換赤軸キースイッチが使われていた)は、Amazonのレビューが豊富だったので行けるかなと思ったのですが、ユーザーガイドに書かれたURLから設定変更ソフト(これがAMAGというものだった)をダウンロードして使ってみてもうまく接続できませんでした。(AMAGの方が他のものでも使えるようで、汎用性が高い印象でした)

Amazonの商品ページのレビューを眺めていると「AMAGキーボードクライアント」なる文字列を発見。これをキーワードとして検索すると、ユーザーガイドらしきPDFファイルを見つけました。これは、マクロキーボードに付属していたユーザーガイドとそっくりで、設定変更ソフト(AMAG)のURLや説明動画のURLがリンクになっていたので、これを利用しました。再びダウンロードしたAMAGは、「amag.app.zip」という名前の全く同じものでした。このzipファイルを解凍したときに、「amag」と英文のPDFファイルが現れます。これをよく読む必要がありそうだということに気づき、苦手な英語にチャレンジすることにしました。(初見は拒否反応があるので読む気にもならない)

解凍されたPDFファイルには以下のようなことをする必要があると書かれていました。

  1. ターミナル(Terminal)を起動する
  2. 「gcc --version」と打って「return」キーを押す
  3. 「ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”」と打って「return」キーを押す(ここでパスワードの入力と、再び「return」キーを押すことを求められるので指示に従う)←インストール作業が行われるのでしばらく待つ
  4. 「brew install libusb」と打って「return」キーを押す←少し待つ
  5. 「brew install libusb-compat」と打って「return」キーを押す←少し待つ

ここまでで、基本的な設定は終了のようです。もしうまく接続ができなかった場合は、さらに英語の説明に従って作業をする必要があるようですが、今回はうまくいったようです。念の為、再起動もしました。1つ目に購入したものには、付属していた紙のユーザーガイドとは違うGUIの専用ソフトらしきユーザーガイドのPDFファイルが入っていたのですが、使い方が書かれていただけで、このような作業が必要なことが書かれていませんでした。残念。

おもむろに、マクロキーボードをUSBで接続し、AMAGを起動して「Connect」を押すと、マクロキーボードのデフォルトの設定が吸い出されて表示されました。これで設定変更ソフトからプログラムすることができるようになりました。AMAGを起動すると、アプリケーションの名前は「Bootmapper」となるのはどうしてなんだろうと素朴な疑問はあるのですが、使い込んでいくうちにさらに便利な使い方を見つけられるかもしれません。ちょっと楽しくなってきました。

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版が公開されていないので何か特別なチューンが必要な感じがしていますが、調べてもなかなか良い情報が得られませんでした。また時間を見つけてチャレンジしてみます。

2021年1月31日日曜日

Raspberry PiでScratch 3.0を使って音が出るか検証する

macOSが32bitアプリケーション非対応(10.15 Catalina以降)になってから、これまで愛用してきたMac版Scratch 1.4が動かなくなり、自宅でWindowsを使わない私にとっては、常用しているLinux MintWineを動かしてWin版Scratch 1.4を使うか、直接Linux版Scratch 1.4を使うかの2択を迫られています。
#悩んでいる理由は、過去記事を参照のこと。

年明けにRaspberry PiのScratch 1.4を使っていて、音が出ていないことに気づきました。常用しているLinux Mint 19.3 Mateで確認したところ、Linux版Scratch 1.4では問題なく音が出て、Wine上で動かしたWin版Scratch 1.4では、「ニャー」しか音が出ませんでした。
#Wine上の方は、MIDI音源の設定ができていないためと思われます。

結論から言うと、Raspberry Pi OS(Raspbian)が、最近ALSAの「PulseAudio」を使うようになり、これにScratch 1.4が対応していないために音が出ないのだそうです。
#例によって、abee2さんに教えていただきました。https://twitter.com/abee2/status/1335152928793841665 

ならばと思い、Scratch 3.0ではどんな環境で音が出るのかを検証してみることにしました。試したのは(1)AV JACKにつないだ有線スピーカー、(2)Bluetoothスピーカー、(3)USBオーディオ経由のヘッドホン、の3つです。Bluetoothを使うためにRaspberry Pi 3Bで検証することにしました。

(1)有線スピーカー(AV JACK接続)※ダイソーで300円で購入したもの
#参考「ダイソー300円USBミニスピーカーで遊ぶ
Chromiumブラウザー
・YouTube動画…○

TiMidity++
・MIDIファイル…○

Scratch 3.0(オフライン)
・ニャー…○
・ドラム音…○
・楽器音…○

Scratch 3.0(オンライン)※Chromiumブラウザー
・ニャー…○
・ドラム音…○
・楽器音…○

(2)Bluetoothスピーカー ※ダイソーで500円で購入したもの
#参考「SR9910型 - ダイソー500円Bluetoothスピーカーの調査と分解
Chromiumブラウザー
・YouTube動画…○

TiMidity++
・MIDIファイル…○

Scratch 3.0(オフライン)
・ニャー…○
・ドラム音…○
・楽器音…○

Scratch 3.0(オンライン)※Chromiumブラウザー
・ニャー…○
・ドラム音…○
・楽器音…○

(3)USBオーディオ(Headphone Set)※3D SOUND使用
#参考「USB 3D SOUND を集めてみました
Chromiumブラウザー
・YouTube動画…○

TiMidity++
・MIDIファイル…○

Scratch 3.0(オフライン)
・ニャー…○
・ドラム音…○
・楽器音…○

Scratch 3.0(オンライン)※Chromiumブラウザー
・ニャー…○
・ドラム音…○
・楽器音…○

どのパターンも無事に音が出ました。コンソールから「alsamixer」コマンドを使うと、「カード」と「チップ」の欄に「PulseAudio」と表示されます。Linux Mintでは、「カード」は「HDA Intel PCH」、「チップ」は「Realtek ALC887-VD」と表示されるので、このあたりがScratch 1.4で音が出るor出ないの差になっているのではないかと思います。

今後は、本格的にScratch 3.0へ移行することを考えようと思います。

2021年1月10日日曜日

100均のUSB充電の機器たちをUSB HUBで効率よく充電(給電)する実験

最近、乾電池ではなくバッテリーを内蔵するものが多くなり、さらにその多くがUSB経由で充電するようになっているように感じています。iPhoneとかiPadなどの携帯端末類は当たり前としても、マウスやキーボード、おもちゃ類(ラジコンヘリとかドローンとかゲームコントローラとか)、M5Stackなどのマイコンガジェット類もUSB充電になっています。そもそも、様々な機器がUSB給電になっていて、今使っているMacBook ProはUSB-Cでの給電だし、Raspberry PiニンテンドークラシックミニファミコンなどもmicroUSB(RPi 4はUSB-C)給電です。こうなってくると、あれもこれもUSBケーブルで繋がれていて、ケーブルの混雑がすごいことになっています。

この状況を少しでも改善しようと考えました。特に私がよく衝動買いしてしまう100均で取り扱われている製品の充電用USBケーブルをできるだけ効率よくまとめる方法がないか考えてみました。ケーブルの抜き差しはできるだけ避けたいし、ケーブルの本数も増やしたくない。何とかならないものかと考えて、スイッチ付きのUSBハブの活用を思いつきました。

ということで、今回購入したのは、Sabrentというメーカーの4ポート(USB 3.0対応)のHUB(HB-UM43)で、スマホやタブレットのバッテリーチャージには使えず、4ポート合計で5V900mAh以上で使ってはいけないことになっていました。逆に言えば、900mAを超えなければバッテリーチャージにも使えるということだと解釈し、試してみることにしました。試したものは以下のとおりです。

電流を測るためにUSB接続の簡易な電圧/電流計(CHARGER Doctor)を用いて測定しました。精度は悪いかもしれないのであくまで参考程度として。表示機(7segLED)の関係で、10mAよりも小さい電流は表示できなくなっています。(電圧計測範囲:3.5V〜7V、電流計測範囲:0A〜3A)USB電源はカシムラ製のAS-36(USBは2口で合計3.4A)を使いました。

実験検証のためにそれぞれの機器の電池をある程度消耗(リチウムイオン電池は完全放電するとバッテリーが痛むらしい)してから充電を始めてどのくらいの電流になるのか測ってみることにしました。

500円の音楽再生機能付きBluetoothスピーカーは、電池が少なくなってくると「No Battery. Please charge.」と言います。この状態で電源スイッチをOFFにして充電を開始しました。すると赤いLEDが点灯し、電流計には0.56Aと表示されました。1時間くらいで充電が完了し、赤いLEDが消えました。

600円の防滴機能付きBluetoothスピーカーは、電池が少なくなってくるとピポ音が鳴ります。この状態で電源スイッチをOFFにして充電を開始しました。すると赤いLEDが点灯し、電流計には0.27Aと表示されました。こちらは、20分程度で0.25Aと徐々に電流が小さくなっていく感じで、充電が終わると0.04A〜0(検出できない)Aになり、赤いLEDが消えました。

300円のBluetoothイヤホン・マイクは、電池が少なくなってくると「No Battery.」と言います。この状態から充電を開始すると、赤いLEDが点灯し、電流計には0.08Aと表示されました。15分程度で0.04Aになり、程なくして赤いLEDが消灯しました。

いずれの機器も900mA(0.9A)を超えることはありませんでした。充電を終えた後も問題なく動作しています。これらの機器は、充電時に必要な電流量が異なるようですが、可能な範囲で使用すれば問題なさそうです。試しに、500円スピーカーと600円スピーカーを同時に充電してみましたが、ときどき0.9Aと表示されるのですぐに止めました。単純にたし算をすればよいというものでもないようです。

今後は、他の機器でも給電できるか試してみようと思っています。なお、メーカー非推奨の使用方法ですので、もし真似をされる場合は自己責任でお願いします。