UMEHOSHI ITA TOP PAGE COMPUTER SHIEN LAB
以下が[Raspberry Pi 3 Model A+]で、 通信用USBは1つしかありませんし、有線LANもありません。
しかし無線LANやBluetooth 4.2の機能を搭載し、最大消費電力も約12.5Wと少ないので
単体で動作するロボット向きです。
概ねキーボードやマウスやディスプレイを付けないで動作させることを前提に作ります。
その代わりWifiに接続させて、PCなどでSSHや仮想デスクトップの遠隔操作で、あたかも直接操作する感覚で制御できるようにします。
(以前に作った [Raspberry Pi Zero WH]で行った時の情報ページはここから参照できますが、
それに比べると公式の書き込みソフトがとても便利になっていました。)
以下の作業で準備するのは以下の5つだけです。
ここで使う[Raspberry Pi 3 Model A+]のインストールは、
モニタやキーボードなどのインターフェイスを取り付けないで、Wifi接続が初めから可能となるSDカードを作り、
それを取り付けることで、最初から遠隔操作で、インストールする方法を紹介しています。
Raspberry Pi のダウンロードページを開き、Raspberry Pi Imager をダウンロードします。
「Download for Windows」のリンクでよりダウンロードしたファイルは「imager_1.7.4.exe」でした。
(よって、以下ではこのバージョンの場合のインストール過程を記録したもので、バージョンが変わると、示した通りにならない可能性があります)
「imager_1.7.4.exe」は、ラズパイで使うOSのダウンロードとmicroSDの書き込みを一度に行ってくれるソフトウェアです。
よって起動する前に、
SDカード ライタをPCに接続して、それにマイクロSDカードをセットして置きます。
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+]に差し込み、
[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:~ $
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
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>
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で確定します。
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/LinuxDHCPからのIPアドレスが割り振り状態を、ifconfigで確認した例です。
pi@raspberrypi:~ $ ifconfig lo: flags=73Wifiに関するファイルの確認例で、nanoと言う名前のシンプルなエディタで確認しています。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:~ $
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 }
上記設定で、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で遠隔操作するのが良いでしょう。