Posts Tagged ‘Raspberry pi’

やる気のない信号機 完成編

数年前に、RaspberryPiとLEDを使って、LEDを光らせるお遊び(所謂Lチカ)をした。基板を使って回路を固定したのは良いが、裏側の配線がとげとげしていて座りが悪く、持った時に指が痛いので、電子工作材料店にプラスチックのスペーサを注文して、台座に固定した

台座の裏側には泣く子も黙る〇文様の紋所があるので、通る者は皆頭(こうべ)を下げて謹んで従わなければならないのだ(なのか?)

2025/03/15
んねぞう

Raspberry Pi LED ディスプレイ復活

2020年、新型コロナウイルス蔓延に伴い、在宅勤務体制になって、自宅内での自分のステータス表示(仕事中かそうでないか)のために、LEDディスプレイを使ったものを作成した(こちら)。しばらく使い続けていて、翌年、止せば良いのに環境を下手に更新してしまったがために動かなくなり、手の打ちようがなくて放っていた(こちら)

最近の一連のRaspberry Piのいたずらの経験により、ライブラリに関する知識が多少増え、いっちょう再建やったるか、とやる気になって復元を試みた

今回特に注力したのは、luma.led_matrixと言うライブラリが核となっているようなので、これを何とかインストールしたい、と言うこと。Raspberry Pi OSには、現在提供されているものの中でできるだけ当時に近いOS(今提供されているので最も古いのはBullseye)を使って、何とかサンプルコードがうまく動くところまでこぎつけた。それで、できれば最新のOSで動くようにすれば今後何かと楽だろうということで、最新のBookwormをインストールしてライブラリのインストールをしようとしたら、Pythonのパッケージをpip(実はこれも分かっていない)で直接システムにインストールすることを制限する仕組みができたということで、正常にインストールできなかった。ChatGPT様によれば、仮想環境を作ってやれば良いとのことだったが、仮想環境とやらを作って進めたが、途中でサンプルコードのダウンロードでGithubからどうのこうのと言われて面倒になったので、結局Bullseyeに戻して、環境を再建した

もともとLED表示の他に、LEDの表示を開始する前にブザーで前触れの音を出す機能も組み込んでいるのだが、今回はHardware PWMと言う仕組みがRaspberry Piにあり、これはこれまで使っていたPWMと違って他の処理の影響による遅延が少ないということを知ったので、この方法を使って音を出すようにした。下のビデオを見て(聴いて)もらえばわかると思うが、ベートーベンの「運命」の冒頭のモチーフを使っている。この音程は原調(ハ短調)の音階に合わせてある。こういう、どうでも良いことに拘るのが我がんねぞうblogの真骨頂である。もっと言うと、このテンポとリズムは楽譜に書いてある機械的なタイミングではない。一般の演奏でも起こる、「溜め」も入れ込んである。本当の演奏では、もっと劇的な効果を狙うのだが、ここでは単なるチャイムに代わるものなので、控えめにした

「運命」のモチーフの後、「とんかつ」と言うのが、泣けるというか力が抜けますな(奥さんが晩御飯のおかずにとんかつを買ってきているのを見ていたため)。なんならチャイムをチャルメラにでもしたろうか

この開発(だとよ!)はRaspberry Pi 4 Bで行ったが、最終的にはRaspberry Pi Zero 2 Wに入れようと思う。性能の面ではRaspberry Pi Picoで十分だと思うが、そうなるとGPIOのピンの配線がまた面倒なことになるので(詳細は略)、Zero 2 Wを注文している

と言うことでZero 2 Wが届き、元の鞘に収まった

2025/3/13
んねぞう

人生ゲーム ルーレット完成形

人生ゲーム用の電子ルーレットをブレッドボード上に組んだままで放っておいているのが気になっていた。基板も買っていたのに、このままではジャンパワイヤが抜けて、再現できなくなるという危機感が募り、ようやく基板の作り込みに着手した。下の写真が出来上がり

ブレッドボード上のジャンパワイヤのもっさーとした状態を見て、如何にも複雑怪奇な回路を組んでやったな、ふむ、と満足感に浸っていたが、基板上に配線すると哀れを催すような簡素さで泣ける(多少回路の無駄を省いたこともあるが)

台は、100円ショップでプラスチックの手頃な箱がないか探していたところ、木製のアクセサリボックスで良さそうなものを見つけた。プラスチックと違い加工がしやすく助かった。本人にとって見れば、ひっくり返された挙句穴まで開けられてびっくりしていることと思う

このようにしてできた完成形。指示盤はできるだけ賑々しくなるようにExcel, Power Point, Paint Shop Proを駆使してデザインした

実際の動き

同じ動画をYouTubeにも掲載

記録のため、現状でのソースを置く。前回からさらに手を加えた部分もある

しょうもなさの度を深め、完成形と言いながら何故か今後の改善点をば

無限回転できるサーボモータを使うとリアリティが増すだろう。回し方も正逆、強弱を選べるようにするとなお良し
動作時に派手なイルミネーションや音響を発する仕組みも良いだろう

2025/03/05
んねぞう

Raspberry PiのNAS化 – 続き

Raspberry piのNAS化に成功して、でけたでけたとひとしきり悦に入っていたが、その後、使っているハードウェアがRaspberry Pi Model 4B (4GB Mem)と、割合性能の高いものなので、ちょっと勿体ないと思うようになった。これはRaspberry Pi Picoと言うもっと小さなコンピュータ(というかこれ位になるとコントローラと言うらしい)向けの開発マシンとして使いたいのだ

そこで、Raspberry Pi Zeroを使って同じようなことができないかと思い、早速Zeroを買った。ただし、私がこの間買って在宅勤務システムに組み込んだものから、性能向上がされたZero 2Wと言うモデルがあったので、これにした

早速Openmediavault(以下OMV)を使ってNASの構築をしようとしたが、何故かOMVのインストール時にWiFiのモジュールのインストールができず、ChatGPT様にも対策を聞きながらいろいろやって見たがうまく行かなかった

もう嫌になってWebを見ていたら、Alpine Linuxと言うOSを使ってできていた人がいたので、マネをして見たが、その人のBlogに書いてあることは、ある程度Alpine Linuxが分かっている人向けのレベルなので、途中で挫折した

ついに、OMVは諦め、もうSambaでもいいや、と言う時点でNASは諦めたわけだが、とにかくファイル共有ができれば良いという方面に転進。もう、何をどうやったか覚えておらず、思い出すまま、最後にメモとして書くが、とにかく固定アドレスでフォルダを共有するところまでこぎつけた。ただし、共有フォルダの名称が意図したものでなく、それ以外にもいくつか不要なフォルダが公開されてしまっているが、何をどうやって直したらよいのかわからず、とりあえず私一人で使うので、実害はないので放置。USBインタフェースは2.0でスピードはお察しだが、特に高速アクセスを必要としているわけではないので、問題ない

Raspi財団オリジナルのケースとOTGケーブルを注文したので、到着次第、Tinyなファイルサーバとして、またひとしきり悦に入る所存

メモ

  • RaspiOS Desktop 32bit版をインストール
  • ディスクマウント用のディレクトリを作成
  • デバイス(/dev/sda)を上記ディレクトリにマウント
  • fstabにマウント情報を設定
  • sambaをインストール
  • /etc/samba/smb.confの内容を書き換え

ケースとOTGケーブルが来たので早速セット

ひと昔、いやふた昔前は、会社のサーバ室に鎮座ましますNTサーバにSambaをインストールして、そこにアクセスしていたものだが、今やFliskの箱よりちょっと大きい位の箱に収まってしまうのだから、凄いことだと思う

ケースに入れる前に、それまでシステム用に使っていたMicroSDカードが32GBのもので、ちよっと勿体なかったので、手持ちの16GBのカードに再インストールした。その時にもSambaが正常に動いてくれるまでにすったもんだあったことを記しておく

2025/02/02
んねぞう

Raspberry PiのNAS化

この正月休みの暇つぶしに、大掃除の終わった昨年の大晦日から、手持ちのRaspberry Pi (Model 4B 4GB)と、よく名前を聞くフリーソフトのOpenmediavaultを使ってNAS(Network Attached Storage)を作って見た。別にNASを使う必要がある訳ではなく、単にNASできた、できたと喜ぶためだけのために。詳細手順はいろいろな人が共有してくれているので、ここでは手順の概要と私が嵌った壺に特化して書いて行く

材料

  1. Raspberry Pi (Model 4B 4GB)(以降RASPI)
  2. 不要となったNote PCから抜き取った2.5in. HDD(250GB,SATA)
  3. USB-SATAアダプタ

手順

  • HDDの初期化
    1. HDDはWindows PCのc:ドライブとして使われていたので、内部はいくつかのパーティションに分かれていた。Windowsの「ディスクの管理」ではパーティションの削除ができなかったので、”diskpart”コマンドを使ってパーティションを削除した
    2. 次に、USBアダプタを使ってこのHDDをRASPIに接続し、RASPI OSの”fdisk”コマンドでデバイス名を確認、パーティションを作成
  • RASPIでのフォーマットとマウント
    1. RASPIではHDDはEXT4と言う形式でなければならないらしいので、”mkfs.ext4″と言うコマンドでフォーマット
    2. マウントポイントとなるディレクトリを”mkdir”コマンドで作成
    3. “mount”コマンドを使ってディスクをマウント
    4. “chown”コマンドを使ってディレクトリのownerを変更
    5. 起動時に自動マウントさせるために”blkid”と言うコマンドを使ってディスクドライブのUUIDをメモし、”/etc/fstab”の中にこのUUIDを書き込む
  • RASPI OSのインストール
    1. Raspberry pi OS LITEのインストールが必要なのだが、64bitフルVersionのOSがインストールされているDesktop環境からいきなりOpenmediavaultのインストールを始めたので怒られた。 Micro SDにRaspberry pi OS LITEをインストールして、RASPIに挿入して起動、インストールした後、PCのDOS コマンドプロンプトでSSHから入らなければならないらしい。以降の作業はすべてリモートの(私の場合はWindows PC)SSH環境からとなり、RASPIの画面は、起動時に割り振られたIPアドレスの確認のため参照するだけ
    2. この先何度も失敗(後になってい分かったのがこれは失敗ではなかった)、試行錯誤して、Micro SDカードへのOS書き込みをして、RASPIに差し込んで、WindowsからのSSHで接続する度に「誰かが悪意を持って侵入しようとしているぞ」と言うかなり強い調子の警告が英語で表示されるのだが、これは前回接続した時の指紋が残っていて、新しく接続した時のものとの不一致のために起こっているものだそうで、このような時は”C:\Users\[user名]\.ssh\known_hosts”の中の一部を削除すれば良いらしい
    3. “sudo apt update”, “sudo apt upgrade”コマンドでのアップデートを実施
  • Openmediavaultのインストール
    1. 下記コマンドでOpenmediavaultをインストール

wget -O – https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

  • Openmediavaultの設定
    1. ブラウザで、RASPIのIPアドレスを指定すると、Openmediavaultの画面が立ち上がり、これに管理者ID/PWを入力してセットアップを開始する
    2. ストレージ>ディスクで表示されている対象のディスクを選択して、消しゴムアイコンを押して「ワイプ」する。ワイプには「クイック」と「セキュア」の2種類を選ぶことができるが、「セキュア」でワイプしたら大変な時間がかかった
    3. ストレージ> ファイルシステムでファイルシステムを追加、フォーマットはEXT4を指定して保存
    4. ストレージ> ファイルシステム> マウントのメニューファイルシステムのマウント
    5. サービス> SMB/CIFS> 設定メニューでWORKGROUPの有効化を指定
    6. サービス> SMB/CIFS> 設定メニューでSMB/CIFSの有効化を指定
    7. ユーザー> 共有フォルダメニューで権限設定
    8. ストレージ> 共有フォルダ> アクセスコントロールリストで権限設定
    9. この後WindowsのExplorerの”ネットワーク”にRASPBERRYPIが見えたのでダブルクリックしたところ”Windowsセキュリティ”なるものからユーザに対応したパスワードを入力しろと言われて、わからないながらいろいろ入力してが「間違っています」と言われ続け、これがためにRASPI OSの入れ替えを何度も繰り返した。これで大晦日の午後がつぶれ、翌元旦の午前中にWebで解決法が分かった。Windowsの「資格情報マネージャー」の「Windows資格情報」から、該当部分のエントリーを削除したところ、Openmediavaultのuser設定で設定したパスワードを使ってアクセスできるようになった。最も躓いたのはRaspi OSでも、Openmediavaultでもなく、結局Windowsだったという落ち

  • Windowsでドライブレターの割り当て

結果

ここまで来たところで1.16GBのファイルをWindowsPCからNASにコピーしたところ、約19秒で完了したので転送速度(Upload)は約660MB/Sだった

懸案として下記2点があるが、もうすでにこれらに取り組む気力はないので、そのうち気が向いたら手を付けることとしたい

  1. RASPIの固定IPアドレス化が必要なのだが、多分私の環境では、ネットワークプロバイダからの貸与品のルータの設定が必要だ。私程度の技量でこれを始めると我が家全体のネットワークがそれこそ弩壺にはまると思うので、触らないようにしておく
  2. 基本的に私のデスクトップPCは有線LAN、RASPIはWiFiでの運用としているのだが、今回は両方有線LAN環境で設定している。RASPIをWiFiで接続したとたんに有線LANで繋いでいるクライアントとの通信を確保するためにサブネットマスクだかルーティングだ何だか知らないものの関係で通信ができなくなり、その解決にまた壺に嵌ることになると思われる

【追記】その後ルータの設定メニューに固定IPアドレス指定メニューが見つかったので、MACアドレスと、それに対するIPアドレスを設定したところ、今のところ固定IPアドレスになっているようだ。ただし有線LAN接続のみの場合。夜、iPadから接続して見たところ、正常に接続できた。【追々記】その後RASPIをWifi接続した時のMACアドレスを調べてルータに設定したところ、有線LANとは別の固定IPアドレスが割り振られた。当然と言えば当然だが、有線LANとWiFiで同じIPアドレスが割り当てられることはない。有線LAN接続したデスクトップPCからの接続も問題なし。このRASPI NASこれをいつまでもLANケーブルを繋いで机の上に置いて置く訳にもいかないので、とりあえずWiFiに繋げて放置して置くことになるか…と言うことで上記2件の懸案はClose

で、冒頭に書いた通り、使い道は特にない

2024/01/01
んねぞう

CPUのベンチマークを見て思ったこと

これまで保有してきたパソコン類の性能比較のために、ベンチマークを取って見たので記録のために掲げる。プラットフォームがWindows、iOS, Chrome OS Flex, Raspberry pi OSと多岐に亘っているのだが、これらに共通して使えるベンチマークツールはOctane 2.0しか知らないので、これで試して見た

機種スコアブラウザ搭載メモリ
core i5 13600K100,651Chrome16GB
iPhone SE2 (Apple A13)52,714Safari3GB
Intel N10047254Chrome12GB
iPad mini 5 (Apple A12)46,771Safari3GB
core i5 3570K43,205Chrome16GB
Celeron N402021,328Chrome4GB
Pentium E580021,047Chrome8GB
iPad 第5世代 (Apple A9)19,626Safari2GB
Pentium E580012,740Chrome2GB
Raspberry Pi 4B9,550Chromium4GB

このスコアが正確に何を意味しているのかは分からないが、少なくとも何かの指標にはなるであろうと思い、掲げる

順位を眺めると概ね感覚に沿っているが、多少意外に思ったのは、現在もブラウザおよびYouTube端末として不満なく使っている第5世代 iPadのスコアが19,626と、Cerelon N4020の21,328と大差なかったこと。i5 3570K辺りと同等だろうと何となく思っていた

Pentium E5800はメモリが2GBと8GBの2通り計測したが、スコアが12,740から21,047と大幅に増大し、メモリの効果が見て取れるのが興味深い

CPUの発売年にばらつきがあるので、何か見えて来ないかとCPUの性能と発売年の散布図を作って見た

しみじみとこの図を眺めていると、下のように3つのグループが私の目に浮かび上がって来た

この2つのグループで共通しているのは、2010年、2012年当時のパフォーマンスのCPUでも現在では全く使い物になっていないかと言うと、決してそうではなく、PentiumクラスのパフォーマンスのCPUはApple A9とかCerelon4020として、7~9年後タブレット端末とかローエンドのWindow ノートPCとして(流石にこれはきついが)デビューしているし、core i5 3570も7~8年後ミドルレンジのAppleA12、A13相当でタブレットやスマートフォンのCPUとして登場している。何が違うかと言うと、スペースや冷却に気を遣う必要のないところから、高密度化の要請、冷却の制限に対応できるように小型化、低発熱化の進化を遂げている所だ。ただし、Celeron N4020に関しては既にWindowsマシンのCPUとしては実用に耐えない状況に陥っており、2023年に登場したN100が事実上のローエンドとして位置づけられると思う。かといって、このN4020レベルのCPUが既に価値を失っているかと言うとそうでもなく、LinuxやChrome OSのプラットフォームとしては十分役立っている(上の図の青い楕円のエリア)

CPUの進化と言うと緑グループのように性能の向上が第一に思い浮かび、良く正常進化と言われるものだろうが、性能は変わらなくても、それを発揮するための小型化と発熱制御の技術が進歩して、当時では考えられなかった使い方ができている。性能ではなく、このような面での進化もあるのだな、と改めて認識させられた

2024/03/05
んねぞう
【追記】2025/2/8 IntelN100のベンチマークと考察を追記した

ひかり回線のGWとRaspberry Pi

連休が始まって間もなくネットワークの接続が不安定なので見ていたら、ひかり回線のGW(Gateway)機器が電源断-再起動を繰り返していた。サポートに電話したら、交換品を送ってきてくれた。これでネットワークは安定したが、nWFHS (nNEZOU Work From Home System)のStatus IndicatorのRaspberry Pi (Zero WH)がつながらなくなった。GWのせいかわからないが、ホストからいくらpingを打っても届かない。これで数日悩んでいる。Raspbrry Pi 4でRaspberry Piのお作法通りに固定IPの設定をして、このSDカードをRaspberry Pi Zero WHに差し込むと全くネットワークから見えなくなる。

2022/05/04
んねぞう

んねぞう 在宅勤務システム(nWFHS)

システム図を改訂

改訂点

  1. Raspberry Pi 4を追加
  2. Status IndicatorをLCDに変更

2021/10/02
んねぞう

ラズパイキーボード

Raspberry Pi公認キーボードを買ってラズパイ 4Bに繋いだ。以前非常用と割り切って小さいキーボードを買って繋げていたが、nWFHSのコントロール用として常用し始めるとやはりキーピッチの小ささと配置になじめず(特にtabキーの異様な小ささとCtrlキーの場所)、他のキーボードを物色し始めていた。Raspberry Pi 400が欲しいなーと思って調べていた時に、公認のキーボードがあり、また今持っている小さいキーボードとほぼ同じ値段にもかかわらずUSB Hub機能もついていたりで、興味をそそられた。ひらがなが刻印されているのも助かる。色はRaspberry Piのトレードカラーの紅白と黒の2種類が出ていて、最後まで迷っていたが、机上の色のコーディネーション(?)上、メインのキーボード、モニタが黒を基調としているので、黒を選んだ

早速繋いでみたが、当然ながら全く問題なし。Windows PCに繋いでしばらく文章を入力してみたが、ストロークが浅くまあまあ値段なりのタッチだ。ただし、微小な筐体の歪みがあるのか、片隅が浮いて、キーを打つたびにかたかた振動がするのが気になる。ラズベリーパイが印刷してあるキーを押したらWindowsのスタートメニューが起動したので、Windowsキーと同じであることが確認できた。これでWindows PCに何か起きた時にも非常用、持ち運び用として使える

セットアップした状態。右の白い箱はRaspberry Pi Picoを入れたFliskのケースで、Mouse Jigglerを動かしている

2021/10/02
んねぞう

トラブルは続けてやってくる

  1. nWFHS

nWFHS (nNezou Work From Home System – んねぞう在宅勤務システム)の主要機能であるRaspberry Pi ZeroによるLED表示ができなくなった。止せば良いのに Pi Zero のアップデートをしたのが悪いらしく、これまでうまく行っていた環境が壊れてしまい、再インストールしても後の祭り。原因を究明する気力もないが、さりとて月曜日からの仕事にないと困るので、下記のように考えた。

LED表示はハードルが高いので、以前ギブアップして取っておいた3.5インチ液晶を表示用として使う。

方法 1 コントロールセンターであるRaspberry Pi 4からZeroにVNC接続して、「仕事中」、「会議中」の旨表示をしたmp4動画ファイルを作成して、vlcプレーヤーで表示させる。

表示できたは良いが、Zero側のCPU負荷が100%に張り付いていて、VNC接続したPi 4側からの停止コマンドを受け付けない。表示を切り替えるためにタスクマネージャーを呼び出してプロセスを停止させる、というなんともダサい恰好になる。→ 断念

方法 2 Windows PCのアニメーション付pptを作成し、Motion GIFで保存し、Zero側で表示させる。pptでGIFを書き出したが、Motion GIFではなかった… → 断念

方法3 方法2のpptで作ったものをjpeg化した静止画をZero備え付けのイメージビューワで全画面表示させる → 一番つまらないが、背に腹は代えられないので採用。下の写真参照。Pi 4からのVNC接続だけでは一定時間経過するとスクリーンセーバーが働いて画面が暗くなるので、Picoで作ったMouse JigglerをコントロールセンターのPi 4に接続して、定期的にマウスポインタを1pxずつ動かすことでスクリーンセーバが働かないようにした。こういう本筋でないところで頭を使うことも多い。なんだか電子工作から遠くなってしまったのが悲しい

2. 中華アンプ壊れた

これまで使っていた中華アンプがお亡くなりになった。調べてみたら2017年の8月に3,000円程度で買ったのが4年間保ったことになるので十分元は取れた。それまでの間、故障したと勘違いして買っていて、そのまま保管していた別のアンプLP-2040+というものがあったので交換した。

またいたずら心を出して分解を始めたのだが、前面と裏面のパネルの固定に特殊なねじが使われていて外せないので、本体とパネルの間にマイナスドライバをねじ込んで、パネルを破断させるという暴挙に出た結果が下の写真。

なぜこんなことをしたのかというと、部品を回収して電子工作に使えないかという下心から。基板を引き出してみた

簡素な基板。Lepyのロゴの上あたりの裏側にトランジスタ(FET?)が張り付けてあり、アルミの筐体と直接接触して放熱されるようになっていた

20kΩのボリュームが1個と100kΩのボリューム2個が、つまみ付きでゲットできた。何に使うか知らないが。また、ジャック類も何かに使えそう。コンデンサとコイルもあるが、これは私にはハードルが高そう

この破壊工作の際に金属の縁で指に小さな切り傷を作ってしまった

本日の教訓

うまく動いているシステムには手を付けるな
金属をねじ切った後、ケガに注意

2021/09/26
んねぞう