Posts Tagged ‘Raspberry pi’

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
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として登場している。何が違うかと言うと、スペースや冷却に気を遣う必要のないところから、高密度化の要請、冷却の制限に対応できるように小型化、低発熱化の進化を遂げている所だ

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

2024/03/05
んねぞう

ひかり回線の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個が、つまみ付きでゲットできた。何に使うか知らないが。また、ジャック類も何かに使えそう。コンデンサとコイルもあるが、これは私にはハードルが高そう

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

本日の教訓

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

2021/09/26
んねぞう

Mouse Jiggler

パソコンで一定時間操作がないとスクリーンセーバーが作動して、いちいちパスワードを入れないと作業途中の画面に戻れないので面倒な思いをしている。YouTubeを見ていたら便利そうなツールの紹介があったので、Raspberry Pi Picoで作って見た。ソースは下記。社畜商会様に感謝

【ラズパイPico】マウス・キーボードを自動で操作してみた【Android対応】(社畜商会)

(上のリンクの文字列です) www.youtube.com/watch?v=19OxWjO6gqg

Raspberry Pi PicoをFliskのケースに入れた。中身を処理するのに10日かかった。お腹がおかしくなった

緩衝用、またやたら動かないようにエアキャップの切れ端で巻いてある。本当はグルーで固定すれば 良いのかもしれないが、生来の貧乏根性がそうさせない

例によりリスク回避のためにソースコードを掲載

Mouse Jiggler
# Raspy Picoを繋ぎ、ThonnyでCircuitPythonを選ぶ
# Firmware は https://circuitpython.org/board/raspberry_pi_pico/ から取得

import time
import usb_hid
from adafruit_hid.mouse import Mouse

m = Mouse(usb_hid.devices)

while True:
    m.move(x = 1)
    m.move(y = 1)
#    time.sleep(.04)
#    m.move(x = 1)
#    m.move(y = 1)
    time.sleep(3)
    m.move(x = -1)
    m.move(y = -1)
#    time.sleep(.04)
#    m.move(x = -1)
#    m.move(y = -1)
    time.sleep(3)

このプログラムはマウスポインタをx,y方向それぞれに1px移動して3秒待ち、そして元の位置に戻して3秒待つという動作を繰り返させる。実際のマウス操作には支障はない。微妙な位置にマウスがあってたまたま変なタイミングで押された場合はその限りではないが、あまり起こらないのではないかと思う

使うにあたっては、① PicoをPi 4に接続し、② Thonnyでプログラムを開いて実行させる必要がある。一度起動しておけばThonnyは終了しても大丈夫だが、C/C++で開発すれば実行ファイルを一回叩けば動くのだろうか…

2021/09/20
んねぞう

やる気のない信号機再来-完結編

前回のシステム再構築の後、基板が届いたので、早速基板上に作りつけた。配線が最もシンプルになるように考える。今回はクロスするようなところはなかったので幸いだった。ラズパイのピンソケットを付け、LED、抵抗を穴に差し込んで、足を折り曲げながらはんだ付けの順序を考えて行く

はんだ付けの後、どれ、と電源をつないでみたが、動かない。いろいろ調べてみたら、プログラム上のピン番号が違っていたのがわかり、はんだの付けなおし。また、Raspberry Pi Picoに接続するGPOIのピンが近接しすぎていてはんだの作業性が悪かったので、お互いに少し離したピンに接続。これでようやく動いた。(前の記事のプログラムは変更済)

さて、これをこれからどうしてくれよう。夜、寝室の暗がりの片隅でひたすら点滅している様子も、悪くはないかも知れない

2021/08/21
んねぞう

Raspberry piのタッチスクリーン化失敗

手持ちのRaspberry pi 4にタッチスクリーンをつければ、何か面白いことができるのではないかと考え、買ってみた。説明書が添付されているのだが、この説明書に従ってもタッチスクリーンが動作しない。何度もSDカードのフォーマットとOSのクリーンインストール、ドライバのインストールを繰り返しても動作しない。さらにWifiの固定アドレスの指定ができなくなって、Bluetoothのアイコンが表示されなくなってしまった。これで10日悩んでいる。説明書以外にもWebで調べたりYoutubeを見たりして試しているが、LCDでの画面表示はできるが、タッチスクリーンは頑として動こうとしない。もう何をどうやったか整理して書き記す気力もなくなった

本体と付属品。右手前の2つは、LCDディスプレイとRasbperry pi 3と4それぞれのHDMIジャックを連結するための基板。この他にドライバやドキュメントが入ったDVD、紙の説明書2枚

裸のRaspberry pi 4Bの基板に取り付けたところ

Physical Computing Lab社製の金属製のケースに入れても接続できる

画像がぼやけてわかりにくいかも知れないが、他の金属製のケースと違いケースにフィンがないため、本体とLCDの間に干渉物がなく、すっきりとTinyに収まってくれるのは気に入っている。本体とLCDはGPIOのソケット、HDMIの接続基板で固定され、またRaspberry piの基板上のUSBや有線LANのジャックとLCDの基板が接触する形になり、3点支持で結構安定している。ただし金属製の筐体のため、Wifiの電波が裸の時よりも弱くなって、今私が座っている場所ではほとんど使い物にならない。設計にあたっては開口部を大きく取るようにしたとのことだが、限界があるようだ

取り敢えず起動して、画面が映っているところ。Bluetoothのアイコンがタスクトレイからなくなっている

結局今のところ何の収穫も得られていない。逆に今回の策動で、64GBのMicro SDカード1枚、そしてUSB有線接続の小型キーボードがなぜか増えてしまっている。Bluetooth、Wifiの電波が頼りなく、そして固定アドレス設定がうまく行かない状態では、SSHやVNC接続もままならず、有線接続のキーボードが命綱なので、デスクトップPCのキーボードを差し替えながらではやっていられなくなって買ってしまった

今回の課題

  • タッチスクリーンが動作しない(根本的問題)
  • なぜかBluetoothのアイコンが消えた
  • 固定IPアドレス設定ができない
  • HDMIジャックが2つあるのに2つ目のモニタが使えない

それでもこのLCD付きの本体、電源アダプタ、マウス、キーボード一式をちょっとしたポーチに入れて持ち歩き、ひょいと取り出してセットアップして使い出す、というシーンを想像すると、こんな小さな筐体でそれなりのコンピューティングパワーを発揮することに周りがどう反応するか楽しみになる。実用上はどうかわからないけど

もう何度目になるかわからないOSのクリーンインストールをして、セッティングした写真を撮って、気が向いて再挑戦するまでこのLCDは保管だ

7月に私の属している写真クラブの写真展が予定されていて、会場にもし偶然HDモニタがあったら、これを使ってサイネージを行ってみるのも面白いかなと思っている

2021/06/12
んねぞう

PCのCPU温度モニタリング

在宅勤務で、リビングにいる家族に自分のステータスを知らせるシステム(んねぞう在宅勤務システム)を運用している。”システム”といってもRaspberry pi zeroに64ドットLEDマトリクスでの表示機能とブザーを付けたものだが、これをデスクトップPCからPower shellでコントロールしている。このパソコンは数年前にマザーボードを交換して以来何もメンテナンスしていないのだが、どうもデスクトップPC上でPowershellが立ち上がっていないとこのシステムは制御不能になるらしいので連続運転している。この暑さでどの程度大変なのか心配で、このCPU温度を何とかモニタできないかと、Raspberry piを使ったシステムを調べていた。よくあるのは気温とか水温を測るものだが、CPUの温度を測る方法(特にセンサの取り付け方法)についての情報がない。Webで調べてもRaspberry pi自身のCPU温度を測る(と言うかモニタする)情報はあるが、他人様のCPU温度を測る方法は皆無だった。もう少し範囲を広げて物体の表面の温度を測るのにはどうしたらよいか調べているとサーミスタを使う方法があった。これはサーミスタのアナログ電圧をデジタルに変換するためDA変換のICを使う必要があるようだ。回路図もいまいちよく分からない。待てよ、これってパソコンで自分のCPU温度をモニタする方法があるのでは、と思い調べたらCore Tempというフリーソフトがあった…結局パソコンで自分をモニタすればいいじゃん、というお話。Raspberry piのうまい使い方がないかと探し回った結果、ボツになったとさ

2020/09/12
んねぞう