UMEHOSHI ITA TOP PAGE    COMPUTER SHIEN LAB

モニタやキーボードなどの取り付け無しで [Raspberry Pi 3 Model A+]をインストール

以下が[Raspberry Pi 3 Model A+]で、 通信用USBは1つしかありませんし、有線LANもありません。
しかし無線LANやBluetooth 4.2の機能を搭載し、最大消費電力も約12.5Wと少ないので 単体で動作するロボット向きです。


概ねキーボードやマウスやディスプレイを付けないで動作させることを前提に作ります。
その代わりWifiに接続させて、PCなどでSSHや仮想デスクトップの遠隔操作で、あたかも直接操作する感覚で制御できるようにします。
(以前に作った [Raspberry Pi Zero WH]で行った時の情報ページはここから参照できますが、 それに比べると公式の書き込みソフトがとても便利になっていました。)

以下の作業で準備するのは以下の5つだけです。

  1. マイクロSDカード ライター


  2. マイクロSDカード(microSDXC)EXCERIA 64GB UHS−I 100MB/s


  3. Raspberry Pi 3 Model A+


  1. USBケーブル(microUSB<--->USB TypeA)
    (電源供給用に使う。通信可能用でもOK)


  2. 電源供給用のモバイルバッテリー
    (GH-BTPC200 20000mAですが、小さい容量でも実験可能)




[Raspberry Pi 3 Model A+]のインストール過程を示します。

ここで使う[Raspberry Pi 3 Model A+]のインストールは、 モニタやキーボードなどのインターフェイスを取り付けないで、Wifi接続が初めから可能となるSDカードを作り、 それを取り付けることで、最初から遠隔操作で、インストールする方法を紹介しています。

Raspberry Pi Imager をダウンロード

Raspberry Pi のダウンロードページを開き、Raspberry Pi Imager をダウンロードします。
「Download for Windows」のリンクでよりダウンロードしたファイルは「imager_1.7.4.exe」でした。
(よって、以下ではこのバージョンの場合のインストール過程を記録したもので、バージョンが変わると、示した通りにならない可能性があります)
「imager_1.7.4.exe」は、ラズパイで使うOSのダウンロードとmicroSDの書き込みを一度に行ってくれるソフトウェアです。
よって起動する前に、 SDカード ライタをPCに接続して、それにマイクロSDカードをセットして置きます。

Raspberry Pi OSの書き込み

SDカード ライタをPCに接続して、それにマイクロSDカードをセットして、そのドライブ文字を確認しておきます。
私のWindows11のPCでは、SDカードのドライブが『USB ドライブ(E:)』と識別されました。
前述のダウロードした「imager_1.7.4.exe」を任意位置に置いて開くと、次の画面Setup画面が出現します。

「install」をクリックします。 (管理者権限を要求する画面で
「このアプリがデバイスに変更を加えることを許可しますか?」が出ますが、確認して「はい」をクリック)
インストーラーがダウンロードされて、しばらくすると、次の画面になります。

「Finish」ボタンで次に進みます。

まず、「OSを選ぶ」ボタンをクリックして、を選びます。

次のイメージになります。

ここで、設定用の歯車ボタンをクリックして、wifiなどに必要な設定をします。


ユーザ名を「suzuki」でパスワードを「abc123」、SSIDを「000740E60153」でパスワードを「abc123xy」にしている例です。
後で、Windowsのsshで接続する場合、ユーザ名ををWindowsのログイン名と同じにする必要があるようです。
他のsshクライアントを使う場合は、別のユーザ名でも良いでしょう。
SSID関連はご自身で使ってアクセスポイントに合わせて設定しなければなりません。

続いて、Wifiの国の指定、ローケール設定を行います。

次のように、タイムゾーンやレイアウトを確認してます。

保存ボタンで戻ります。

次に「ストレージを選ぶ」ボタンをクリックして、 前で確認しておいた『USB ドライブ(●:)』の●文字をを選びます。

ここで間違えると、PCのシステムを壊すことになるので注意です
(最近のインストーラーではミスの選択が起き難くなっています。)
次に「書き込む」ボタンをクリックします。

「はい」のボタンで進めます

(書き込みシーケンスの後に確認のシーケンスも行っており、少し時間がかかります。)

ここで書き込みが終わったので、一旦 SDカード ライターの接続を外す手続きで抜きます。

作成したSDカードで、 [Raspberry Pi 3 Model A+]の動作確認と初期設定

前述で作成したSDカードを [Raspberry Pi 3 Model A+]に差し込み、 [Raspberry Pi 3 Model A+]のmicroUSBで、電源を供給します。

モニタが無いので、分かり難いのですが、電源供給後、30秒程度で、立ち上がっているはずです。
Windows11(Windows10でも設定で可能)であれば、コマンドプロンプトで次の操作( 黄色の文字が入力)でRaspberry Piに接続できるはずです。
(SDカードの書き込みの「詳細な設定」で、Windosユーザ名以外のユーザ名を設定した場合でも、 「Tera Term」などのソフトを探して使えばログイン可能です。)
以下は[suzuki]のユーザ名でのwindowsのコマンドプロンプト操作例です。(なお、パスワードのキー入力は見えません)

C:\Users\suzuki>ssh suzuki@raspberrypi.local
The authenticity of host 'raspberrypi.local (240d:1a:cd:c00:d469:4ba8:3330:e7c0)' can't be established.
ED25519 key fingerprint is SHA256:xH7xW/LrKCGhUm1K9iorKBKo/Ccm544vPgpW3LvOKDg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'raspberrypi.local' (ED25519) to the list of known hosts.
suzuki@raspberrypi.local's password:
Linux raspberrypi 5.15.84-v7+ #1613 SMP Thu Jan 5 11:59:48 GMT 2023 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Apr 10 00:50:09 2023 from 240d:1a:cd:c00:968:a271:1d34:18ae
suzuki@raspberrypi:~ $

なお、次のように SSHのECDSAホスト鍵が変更されて「ホストキーの検証に失敗しました」と出ることがあります。
その場合は「ssh-keygen -R raspberrypi.local」で消去して、再度、実行してください。以下はその例です。
C:\Users\suzuki>ssh suzuki@raspberrypi.local
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:DMDJ49yy//QSWutW0T8JoPVN2iIz/2EjZg2ATuDByS4.
Please contact your system administrator.
Add correct host key in C:\\Users\\suzuki/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\suzuki/.ssh/known_hosts:2
Host key for raspberrypi.local has changed and you have requested strict checking.
Host key verification failed.
Host key verification failed.

C:\Users\suzuki>ssh-keygen -R raspberrypi.local
# Host raspberrypi.local found: line 16
# Host raspberrypi.local found: line 17
# Host raspberrypi.local found: line 18
C:\Users\suzuki/.ssh/known_hosts updated.
Original contents retained as C:\Users\suzuki/.ssh/known_hosts.old

C:\Users\suzuki>ssh suzuki@raspberrypi.local
なお、一度ログインできた時に SSHのECDSAホスト鍵が記憶されて、次のログインメッセージは短くなります。
ログアウトは、「exit」です。以下は再度ログインして、「ls」で確認後、次の命令でシャットダウンさせています。
「sudo /sbin/shutdown -h now」の入力後raspberrypiのLEDの点灯の点滅が無くなってから、USBの電源供給を止めてください。
以上を実行した場合の画面例を以下に示します。(パスワードのキー入力は見えません)
suzuki@raspberrypi:~ $ exit
logout
Connection to raspberrypi.local closed.

C:\Users\suzuki>ssh suzuki@raspberrypi.local
suzuki@raspberrypi.local's password:
Linux raspberrypi 5.15.84-v7+ #1613 SMP Thu Jan 5 11:59:48 GMT 2023 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Apr 10 22:08:58 2023 from 240d:1a:cd:c00:6990:1007:216d:64e0
suzuki@raspberrypi:~ $ ls
Bookshelf  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
suzuki@raspberrypi:~ $ sudo /sbin/shutdown -h now
Connection to raspberrypi.local closed by remote host.
Connection to raspberrypi.local closed.

C:\Users\suzuki>

なお、『sudo reboot』の実行で再起動できます。

初期起動後の初期設定 や確認

アップグレードするまでを示します。
次の操作で、設定ツールを起動します。
pi@raspberrypi:~ $ sudo raspi-config
これで、Raspberry Pi Software Configuration Tool (raspi-config)が表示されます。
                          1 System Options       Configure system settings                                           
                          2 Display Options      Configure display settings                                          
                          3 Interface Options    Configure connections to peripherals                               
                          4 Performance Options  Configure performance settings
                          5 Localisation Options Configure language and regional settings                           
                          6 Advanced Options     Configure advanced settings                                         
                          8 Update               Update this tool to the latest version                              
                          9 About raspi-config   Information about this configuration tool                           
                                 <Select>                                  <Finish>  
↑や↓で選択してtabキーで <Select> や  <Finish> を選択してSPACEで確定します。
これで、Interface Options を選択、Selectを選択実行させ、Finishを選択実行して戻ります。
その中で、VNC Server to be enabledでYesにすることで、仮想デスクトップのサーバを起動させます。
これで、Update を選択、Selectを選択実行させ、Finishを選択実行して戻ります。
pi@raspberrypi:~ $ sudo apt-get upgrade
この実行後で、バージョンを以下のように確認した例です。
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.15.84-v7+ #1613 SMP Thu Jan 5 11:59:48 GMT 2023 armv7l GNU/Linux
DHCPからのIPアドレスが割り振り状態を、ifconfigで確認した例です。
pi@raspberrypi:~ $ ifconfig
lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 24  bytes 2604 (2.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 2604 (2.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163  mtu 1500
        inet 192.168.0.16  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::2594:1f2d:7e25:230d  prefixlen 64  scopeid 0x20
        inet6 240d:1a:cd:c00:a61e:48ed:26f:a6e6  prefixlen 64  scopeid 0x0
        ether b8:27:eb:63:d7:80  txqueuelen 1000  (Ethernet)
        RX packets 115326  bytes 162722726 (155.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 46691  bytes 4241557 (4.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

suzuki@raspberrypi:~ $
Wifiに関するファイルの確認例で、nanoと言う名前のシンプルなエディタで確認しています。
pi@raspberrypi:~ $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
その内容の例です。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="000740E60153"
        psk=7b648a0a819f13f67b5bafd6366a00726fb364aae5415a76fd099bbef8596ad0
}

Raspberry Pi 3 Model A+を仮想デスクトップで使えるようにする

上記設定で、VNCサーバはすでに動いているはずです。
よって、、VNCクライアントソフトを用意すれば、それでRaspberry Piのデスクトップ操作がすぐできます。
私の場合は、RealVNCのViewerを既に使っています。
(これは、https://www.realvnc.com/en/から入手、インストールできるでしょう。)
以下のイメージは、VNC Viewer 6.20を使って、Raspberry Piのデスクトップ画面を見たイメージです。
最初の接続は、Fileメニューから[New Conection..]を選択して、 VNCServer接続アドレスと「raspberrypi.local」とName「RaspberryPi3MAP」の入力です。

接続先のRaspberry Piのユーザ名、パスワードの入力です。

次のように表示されます。次のイメージは、Windows11のデスクトップの中で動作するRaspberry Piの仮想デスクトップ画面です。

ここで、ブラウザを表示させようとしましたが、ブラウザ画面が点滅して正しく開けませんでした。
Raspberry Piを外部モニタにHDMI接続していない場合に発生するようです。
「sudo nano /boot/config.txt 」のコマンドで、下記の左のコメントを外して右のようにするよ良いようです。
#hdmi_force_hotplug=1」を「hdmi_force_hotplug=1」に修正して、 Raspberry Piを再起動させます。

再び、RealVNCのViewerを開いて、「RaspberryPi3MAP」を起動させます。 次のようにブラウザが開いて、操作できればOKです。


ですが、遅すぎて通常の運用には使えないと感じました。
(以前にRaspberry Pi 4を使った場合は、ストレスがない運用ができたのです・・)
よって、Raspberry Pi 3では、基本的にSSHで遠隔操作するのが良いでしょう。