2026-01-20

RaspberryPi5を使ったリアル波形描画(2) Linux を使ってみる

 



RaspberryPiの OS は Linux である。RaspberryPi でアプリ制作をするにあたっては、Linux でコマンドを打つシーンが多くなる。コマンドを打ちやすくするために、VNC Viewer をセッティングする。

【VNC とは】

VNC(Virtual Network Computing)は、離れた場所にあるパソコンの画面を手元の端末に表示し、キーボードやマウス操作をそのまま遠隔のパソコンに送るためのリモートデスクトップソフト。

Real VNC Viewer(RealVNC Viewer)は、RealVNC 社が提供しているリモートデスクトップ用のビューアソフトで、離れた場所にある PC やサーバーの画面を表示して操作できるツールで、無償で使える。Home(無料)ライセンスでは、個人用途向けに台数制限付き(例:最大 5 台まで)でリモート接続が可能。

現在、RaspberryPi5 は Wi-Fi に繋がっているので、デスクトップPCに VNC Viewer をインストールして、RaspberryPi5 の画面を PC上に表示させる。こうすると、デスクトップPCのキーボードやマウスを使って、RaspberryPi5 をリモートで操作することができる。

(1) PCに「VNC Viewer」をインストールして起動。(こちらの note記事を参照)



これがRaspberryPi5のスクリーンをVPNでディスクトップPCに表示させた様子だ。下側に出ているのはタッチスクリーンのキーボード。RaspberryPi5にキーボードが接続されていないときにタッチスクリーンを使ってキーボード入力できる、親切な設計だ。ただ、VNCでは使わないので、左上のラズベリーメニュー→ Preferences→Control Centre→Display→On-screen Keyboard を Disabled にしておく


コマンドプロンプト画面は、左上のアイコンをクリックすると表示される。最初はかなり小さい画面になっているので、Edit → Style でフォントの大きさや画面サイズを変更した。

【RaspberryPiに登録されているユーザを確認する】

まず最初に、RaspberryPi5 に登録されているユーザーを確認しておく。

コマンドは cat /etc/passwd。結果は次のようになった。

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
 :
colord:x:107:111:colord colour management daemon:/var/lib/colord:/usr/sbin/nologin
hplip:x:108:7:HPLIP system user:/run/hplip:/bin/false
vnc:x:985:985:vnc:/nonexistent:/usr/sbin/nologin
xxsakai:x:1000:1000::/home/xxsakai:/bin/bash

前半はすべて Linux のシステムが使うユーザーで最初から設定されているものだ。vnc はVNCを使うために追加されたユーザーで、xxsakai は Linux のインストールイメージを作ったときに設定したユーザー(自分自身)である。

これで、システム以外のユーザーは 自分だけだということがわかった。

ちなみに、root ユーザーはすべての権限を持った特権ユーザーで、昔は、root ユーザーのパスワードを設定して、root ユーザーになることができたが、Raspberry Pi 5(Raspberry Pi OS)では root ユーザーのパスワードは「最初から設定されていいない」。

なぜ root のパスワードがないのかといえば、Raspberry Pi OS(Debian系)は、root での直接ログインを禁止し、通常ユーザーでログインして、必要なときだけ sudo で管理者権限を使うという設計になっているからである。

Linux のイメージを作ったときに、ユーザーを設定するので、そのユーザーは sudo を使えるようになっている。コマンドラインで確かめてみる。


sudo グループに入っており、sudo コマンドが使えることが確認できた。

【Linux のアップデートについて】

Linux をアップデートするには、次のコマンドを実行する。

sudo apt update
sudo apt upgrade

update:最新情報を取りに行く(変更なし)
upgrade:実際に更新する(変更あり)


update はリポジトリから最新のパッケージ一覧を取得する。update は何も書き換えない。upgrade コマンドで、最新のパッケージをインストールすることになる。

では、upgrade はどれくらいの頻度でやるべきか。推奨は、月1回程度で、何かの作業が終わった後がよい。避けるべきなのは、作業の途中や動作の確認中だ。

Linux は Windows Update のように定期的にパッチを当てるような仕組みがないので、脆弱性が発見されたときなど、手動で upgradeする必要があるが、upgrade することで、今動いていた機能が動かなくなるリスクもまったくないとは言えないので、頻繁にやることはない。

RaspberryPi5 を設置した直後に upgrage を行ったが、かなりの量の更新があった。アップグレードは節目節目、月イチ程度で行った方がよいだろう。

【Linux でよく使うコマンド】

📌 ファイル・ディレクトリ操作(最重要)

コマンド説明
lsファイル一覧表示
ls -l詳細表示
ls -a隠しファイル含め表示
pwd今いるディレクトリ
cdディレクトリ移動
mkdirフォルダ作成
rmdir空フォルダ削除
cpコピー
mv移動・名前変更
rm削除(注意)
rm -rフォルダ削除(注意)
fileファイル種別確認

📌 ファイル内容の確認・編集

コマンド説明
cat内容を全部表示
lessページ送りで表示
head先頭表示
tail末尾表示
tail -f追記をリアルタイム表示
nano簡易エディタ
vi / vim高機能エディタ
wc行数・文字数カウント

📌 検索・抽出(慣れると超便利)

コマンド説明
grep文字列検索
findファイル検索
locate高速検索(事前DB)
awk列処理
sed文字置換
sort並び替え
uniq重複除去

📌 システム・状態確認

コマンド説明
topプロセス監視
htop見やすい top
psプロセス表示
df -hディスク空き
du -h使用量
free -hメモリ
uptime稼働時間
uname -aカーネル情報
lsblkストレージ構成

📌 ネットワーク

コマンド説明
ip aIPアドレス
ip rルーティング
ping通信確認
ss -lntupポート確認
curlHTTP取得
wgetファイル取得
nmcliNetworkManager操作

📌 ユーザー・権限

コマンド説明
whoami自分
idUID/GID
groups所属グループ
sudo管理者権限
passwdパスワード変更
suユーザー切替
chmod権限変更
chown所有者変更

📌 パッケージ管理(Debian系)

コマンド説明
apt update更新情報取得
apt upgrade更新
apt installインストール
apt remove削除
apt autoremove不要削除
apt search検索
apt show詳細

📌 圧縮・展開

コマンド説明
tarアーカイブ
gzip / gunzipgzip圧縮
zip / unzipzip
xz高圧縮

📌 便利・覚えておくと楽

コマンド説明
history実行履歴
clear画面消去
alias別名
watch定期実行
time実行時間
which実体確認
manマニュアル

今回は、これくらいにしておく。

2026-01-13

RaspberryPi5を使ったリアル波形描画(1) イントロダクション


2018年にRaspberryPi3を使ったリアル波形描画の記事を10回に渡って書いた。7年半たって、RaspberryPiも進化し、ソフトウェアのプラットフォームとして使っていた Qt もバージョンが上がっている。

そこで、今回よりあらためてRaspberryPi5をベースにして、心電図モニタを想定したシステムを構築しつつ、どのようなソフトウェアアーキテクチャを医療機器に採用するとよいかについて解説していきたい。

RaspberryPi とは

Raspberry Pi(ラズベリーパイ)は、クレジットカードサイズの小型コンピュータで、低価格ながら本格的なPCと同等の機能を備えています。Linux(Raspberry Pi OS)が動作し、キーボードやモニタを接続すれば、Web閲覧、プログラミング、サーバ構築など幅広い用途に利用できます。最大の特徴は、基板上に備えられたGPIOピンを使って、LEDやセンサー、モーターなどのハードウェアを直接制御できる点です。これにより、ソフトウェアと電子工作を組み合わせたIoTや制御システムの試作が容易に行えます。省電力で常時稼働にも向いており、自宅サーバや実験用マシンとしても人気です。学習用途から実務のプロトタイプまで幅広く活用できる点が、Raspberry Piの大きな魅力です。

RaspberryPiを 使う理由は、ボードコンピュータとして汎用性が高く、安価で、LANや HDMI、USB、SDカード、Wi-Fiが標準装備されており、入手も容易なので壊れてすぐに交換が可能なのがよいからだ。ラズパイは教育やホビー、カスタマイズできるシステムとして広く普及していて、コンピュータプログラミングの入門機としても適している。

7年前にはRaspberry Pi 3 Model B+ をプラットフォームに使った。今ではRaspberryPiも、ずいぶんラインナップが増えた。

RaspberryPi が特によいのは、デフォルトで Wi-Fi を搭載しているところだ。Wi-Fi を搭載するには、各国の無線規制をクリアする必要がある。日本では技適(技術基準適合認定)を受ける必要があり、20~50万円の費用がかかる。各国で同様の認定が必要なため、世界中でWi-Fiを使えるようにするのは、かなり大変なことだ。RaspberryPi はそういった汎用インタフェースを世界中で同じ仕様で使えるようにしているところがすごい。

Raspberry Pi Foundation(ラズベリーパイ財団)は「未来のエンジニアを育てるために、世界一身近なコンピュータを作った教育団体」で、エンジニア教育への貢献は非常に大きいと思う。

Raspberry Piシリーズ 性能比較(主要モデル)

モデルCPUメモリ特徴・性能感
Raspberry Pi Zero 2 WQuad-core ARM Cortex-A53(1.0GHz)512MB超小型・超低消費電力。軽量な制御・IoT向け
Raspberry Pi 3 Model B+Quad-core Cortex-A53(1.4GHz)1GB入門用。Linux学習や簡易サーバ向け
Raspberry Pi 4 Model BQuad-core Cortex-A72(1.5GHz)2/4/8GB実用性が大幅向上。デスクトップ用途も可
Raspberry Pi 5Quad-core Cortex-A76(2.4GHz)4/8GB処理性能が飛躍的に向上。小型PC並み

RaspberryPi 5 は1万7千円とちょっと高めだったが、Raspberry Pi 3 Model B+ に比べてどのくらい性能が上がったのかも体感してみたかったので、RaspberryPi 5を購入することにした。


リアルタイム波形描画を行うには、LCDディスプレイが必要なので10インチのLCDディスプレイにRaspberryPiを背負わせることができるキットを選定した。これにRaspberryPi5とSDカードを合わせて購入した。


購入製品のリスト

RaspberryPiは、電源アダプタや HDMIケーブルなどは同梱されていないので、必要な電源アダプタなどの周辺機器がセットになったLCDキットなどはいろいろ販売されている。タッチパネル付きのLCDや電源がセットになっていたのでXBONFIRE のLCDキットを選んだ。


最初の組み立て

RaspberryPiは、前職で新人技術者教育に使っていたことがあって、汎用性は高いもののSDカードとの相性が悪いと立ち上がらないこともよくあり、「一発では動かない」というイメージがあった。そして、案の定、一発ではうまく動かなかった。

まず、RaspberryPiを起動させるためには、SDカードにLinuxのイメージを書き込む必要がある。このようなセットアップ手順はいろいろなサイトで紹介されているので、今回はこちらのnoteの記事を参考にさせてもらった。

「Raspberry Pi Imager」をRaspberryPi財団のサイトからダウンロードして、自分の Window PCにインストールして、Linuxの起動イメージをSDカードに書き込む。起動ディスクだから、コピペでは動かないので、専用のアプリでイメージを書き込む必要がある。RaspberryPiに挿入するSDカードはmicroSDだが、SDカードアダプタがついていたので、アダプタ経由でPCに刺してOSのイメージを書き込んだ。Raspberry Pi Imager では初期の設定を編集することができて、次のような項目を設定することができる。
  • ホスト名
  • ユーザ名
  • パスワード
  • Wi-FiのSSIDとパスワード、Wi-Fiの使う国(JP)
  • タイムゾーン(Asiia/Tokyo)
  • キーボード設定(JP)
これらをRaspberryPi本体で設定しようとすると、キーボードやディスプレイが必要になるので、この段階で設定できるようになっているのはとても親切だ。

そして、SSH(Secure Shell、ネットワーク越しに、別のコンピュータを安全に操作するための通信プロトコル)の設定(今回はパスワード認証)を行う。

RaspberryPiを立ち上げた後に Wi-Fi経由で自分のPCからSSHで通信する必要があるので、これをやっておく必要がある。

SDカードにイメージを書き込み、RaspberryPi本体にmicroSDカードを差し込んで、電源(USB TypeCから給電する)を入れると、RaspberryPiが立ち上がる。

今回LCDのキットがあるので、LCDキットの基盤にRaspberryPi5をセットして、電源を投入したのだが、LCDディスプレイには「No Input Image」が一瞬表示されて画面が消えてしまう。

「ああ、やっぱり一発では動かなかったか」と落胆しつつ、LCDキットの取説の一番後ろに書いてあったユーザサポートにメールしてみる。12時間以内に返信するとあった。

状況の説明と写真を送ったところ、ていねいな返信がきていろいろアドバイスを教えてくれた。困った時にはAIがヒントをくれるが、生身の人間のサポートがあると安心できる。

RaspberryPiをネジ止めする4箇所のネジ穴があるのだが、ネジ受けの頭に薄い茶色のフィルムが貼られていてそれを剥がせという指示があった。実際、RaspberryPiの基盤をネジ止めしようとしたらネジがうまく入らなかったのでネジ止めできなかったのだが、そういう理由だったようだ。老眼になると細かいところがよく見えないのでフィルムがあることに気が付かなかった。

このLCDキットは、USB-TypeCコネクタとHDMIコネクタに変換アダプタを接続して、LCDキットの基盤のコネクタに刺すような構造になっている。基板側のコネクタがロックのない2列のコネクタでよく見ないと一列ズレて刺してしまう。どうも、最初にうまくいかなかったのは一列がズレてコネクタが刺さっていたからのようだ。RaspberryPiの取り付け位置もフィルムのせいでピタッと合っていなかったこともズレの原因だった。

茶色のフィルムを剥がして、慎重にコネクタの位置を確認しながら接続し、電源を投入したところ、RaspberryPiの初期画面が表示された。

その後、Wi-Fiの接続ができず、タッチパネルを使って、RaspberryPiのWi-Fiをオンにしたり、Wi-FiのSSIDやパスワードを再設定したりし、sshの設定をやり直したりした。

chatGPTに現状の症状を伝えながら、一つずつ問題をクリアすることで、PCからRaspberryPiにWi-Fi経由で接続することができた。

最初の段階ですんなり行かなかったが、焦らずに少しずつすすめていこうと思う。


2026-01-06

会計ソフトとの7ヶ月間に渡る格闘

2025年3月に定年退職して、2ヶ月の準備期間を経て、6月に個人事業主として起業した。

青色申告して60万円の控除を得るために、会計ソフトの freee会計 を契約して日々の入出金を記録して、先日2025年の会計を無事閉じることができた。


ここに至るまで、複式簿記の知識がゼロだったので、いろいろとわからないことがあり、非常に苦労した。何が大変だったのかをここに書き留めておきたいと思う。


■会計の期間と起業日について

会計の期間は1月1日から12月31日の一年間が基本だ。しかし、起業日が6月1日だったので、1月から5月までの期間は起業前となる。このシチュエーションは起業の最初の年だけなので、そのような設定を freee会計上ですることができない。

起業前の開業にかかった費用は、開業費として経費計上できることは知っていたので、起業前に準備したPCなどの費用は集計して、領収書も全部取っておいた。

銀行口座とクレジットカードは、個人の口座と事業の口座を分けたかったので、素早く作れるfreee ライフカードと楽天銀行で、個人事業主としてのクレジットカードと銀行口座を作った。

開業費として買うものは freeeライフカードで購入して、楽天銀行の口座から引き落とされるようにした。楽天銀行には、元入金として事業資金を振り込んでおいた。

freee会計では、登録した銀行口座やクレジットカードから、API経由でデータを取り込んでくれて、その情報をもとにして複式簿記の取引を記録できる。

当然、freeeライフカードと楽天銀行は登録したので、データがfreee会計に取り込まれる。1月から5月の間に開業費として使ったカード情報も取り込まれてしまうのだが、起業前なので無視としていた。

ところが、この間に使ったクレジットカードの費用は、freee会計上、銀行引き落としとしての振替を登録しない限り、永遠に残ってしまう。これはとても気持ちが悪い。

後からわかったのは、1月から5月までに freeeライフカードで使った費用は、「開業費」として登録しておけばよかったのだ。結局、年が明けてから、1月から5月にfreeeライフカードで購入したものは無視ではなく、開業費として登録して、freee ライフカードの登録残高はゼロ円にすることができた。

開業費としてリストしてあったもののうちfreeeライフカードで購入したものの金額は削除した。

■クレジットカードと銀行口座について

クレジットカードでサブスクリプションの支払いなどをすると、クレジットカードと利用履歴は数日遅れて登録され、一ヶ月くらいおくれて銀行口座からまとめて引き落とされる。

これはfreee会計上、非常に面倒くさい。クレジットカードの利用情報を一旦取引として登録し、未決済状態にしておいて、銀行口座から引き落とされたときに振替処理をして決済する。

タイムラグがあるのと、銀行の引き落としは一ヶ月のクレジット利用をまとめられてしまうので、記入漏れがあると会計上でズレが生じてしまう。ズレがあると、なんとも気持ちが悪い。

また、三井住友カードが個人事業主向けにビジネスオーナーズという、屋号付きの口座を作れることがわかった。三井住友カードではVポイントがつくので、クレジットカードはこちらに切り替えることにした。

また、三井住友銀行も個人事業主用に屋号付きの口座を作れることがわかったので口座を作った。

また、デビッドカードを使えば、銀行口座から即引き落とされて、すぐに取引登録できるので、ほとんどすべての購入をデビットカードにすることにした。これで取引と決済のタイムラグをなくすことができる。

ちなみに、デビットカードが使えないケースが稀にあって、その場合はしようがないので三井住友カードを使うようにして、三井住友カードの決済を三井住友銀行の口座から引き落とすようにした。

楽天銀行は口座を作るのは簡単だったが、月末月初にAPIが集中するためか、手動同期ができなくなるのと、PCでログインしようとすると、毎回、生年月日とメールアドレスに送られてくるコードを入力しなければならず、使い勝手が悪いので使うのをやめた。

Microsoft Office Businessをデビットカードで契約しようとしたら、どうしてもうまく行かず、Microsoftに問い合わせたところ、まず、セキュリティ強化のため、デビットカードの設定をNGにしていると言われ、解除してもらったのに、うかくいかず、銀行口座開設時に設定した屋号を正確に入力することでやっと設定ができた。

■開業費の減価償却

開業前に使った費用は、好きなときに減価償却できるルールらしいが、freee会計では何年かの均等割でしか償却ができなかった。

■日帰り出張時の昼食代

日帰り出張時の昼食代は経費にできるものと思っていたが、ChatGPTに聞いてみたところ、経費にはできないとのことだった。宿泊を伴う出張時の食事代は経費にできるらしい。

■家事按分

インターネット代など、プライベートと事業で共用する費用は、ちゃんと根拠を説明すれば、家事按分としてある一定の割合を事業経費にできる。

■請求と振り込み

毎月の事業契約では、月末に役務が終了して、翌月請求し、翌月末に振り込みされるというパターンがある。この場合、仕事をしてから、対価が振り込まれるまで最長二ヶ月かかる。この感覚がなかなかなれなかった。また、12月の業務については、1月に請求書を発行するのだが、会計としては、12月末時点で売掛金として登録する必要があることがわかった。役務が発生したときを基準にする必要があるのだそうだ。

■AmazonBusiness

AmazonBusiness口座をfreee会計に登録すると、何を購入したのかが詳細に登録されるので便利だ。AmazonBusinessの引き落としも、デビットカードにしておけば、タイムラグも少ない。ただ、AmazonBusinessは荷物が届いた時点で情報が登録されるため、デビッドカードでの引き落としの方が先に登録されることがある。AmazonBusinessで取引登録して、デビットカードの銀行口座で振替しないといけないので、一つ手間が増えるが、何を買ったのかの情報が詳細なので、AmazonBusiness口座は利用している。

■個人事業主借り、個人事業主貸し

プライベート資金を事業用に使った場合は、個人事業主借り、事業の資金をプライベート側に回す場合は個人事業主貸しになる。出張時にPASMOを使ったときなどは個人事業主借りとして取引登録する。

■セミナー講師実施時の交通費

リアルセミナーで講師をしたとき、交通費が実費精算だった。事前に交通費を調べて往復分を講師料と一緒に請求書で請求した。この取引登録が難しかった。

講師費用は消費税ありで、売掛金からの売上高になり、交通費は消費税なしで未収入金からの雑収入とした。ここに行き着くまで ChatGPTと何回もやり取りしたやっと腹落ちした。

■インボイス制度、消費税

以前は1000万円未満の個人事業主は消費税込みで受け取った費用に対して、消費税を納付する必要がなかったが、インボイス制度が始まって、消費税を納付しなければならなくなったようだ。そのためインボイス登録番号を取って、簡易課税の事業者として登録した。

■感想

freee会計を使ってみて、いろいろ勉強した。freeeや会計士の人のYouTubeの動画でも勉強したし、一番教えてもらったのは ChatGPTだった。ただ、ChatGPTはもっともよいアドバイスをしてくれるとは限らないので、一旦言われた通りにやってみて、後から修正することも多々あった。複式簿記の仕組みがやっと理解できてきたので、2026年はあまり迷うことなく、取引を登録できると思う。