RaspberryPiを買ったらすること

RaspberryPiにハマっているというか、壊れてもあきらめのつく安い新品のPCを手に入れた感覚で、壊すつもりでちょいちょい触っている。ついに先日3台目を購入。

ちなみに買ったのはこれです。

ただRaspberryPiを買ったら何をするか、いつも初期設定を忘れて苦労するのでメモしておく。もちろんOSコピーした方が早い。

目次

前提

  • RaspberryPiでRaspbianが起動できる(いつも面倒でキットを買ってしまう)ところからのメモ
  • 起動後にWifiの設定もしくはEthernetに接続している
  • 本当はユーザ名やポート番号を変えた方がいい
  • ローカルIPは固定した方が便利

RaspberryPiにSSHアクセスする

RaspberryPiのIPアドレスを確認する

ラズパイを起動して以下のコマンドでIPアドレスを確認する。

ifconfig

このコードを入力すると例えばこんな感じの情報がでる。

pi@raspberrypi:~ $ ifconfig
eth0: flags=XXX<UP,BROADCAST,MULTICAST>  mtu XXXX
        ether XX:XX:XX:XX:XX:XX  txqueuelen XXXX  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=XX<UP,LOOPBACK,RUNNING>  mtu XXXXX
        inet XXX.XX.XX.XX  netmask XXX.XX.XX.XX
        inet6 ::1  prefixlen XXX  scopeid XXXX<host>
        loop  txqueuelen XXXX  (Local Loopback)
        RX packets XXXXX  bytes XXXXXXXX (XX.X MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets XXXXX  bytes XXXXXXXX (XX.X MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=XXXX<UP,BROADCAST,RUNNING,MULTICAST>  mtu XXXX
        inet 192.168.XX.XX  netmask XXX.XXX.XXX.X  broadcast XXX.XXX.XX.XXX
        inet6 XX:XX:XX:XX:XX:XX prefixlen XX  scopeid XXXX<link>
        inet6 XXXX:XX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX  prefixlen XX  scopeid 0x0<global>
        ether XX:XX:XX:XX:XX:XX  txqueuelen XXXX  (Ethernet)
        RX packets XXXXX  bytes XXXXXXXX (XX.X MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets XXXXX  bytes XXXXXXXX (XX.X MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

これのwlan0のあたりにある192.168.XX.XXがIPアドレス(ローカル)。これをメモしておく。

SSHによる接続の確認

さきほど確認したIPアドレスを使ってラズパイ以外のPCから接続をテスト。WindowsだとGitBashを使ってます。

以下を入力。192.168.XX.XXの部分は先ほど確認したIPアドレス。

ssh pi@192.168.XX.XX

ちゃんと接続できると以下のような表示がでる。

kazushi@PC MINGW64 /
$ ssh pi@192.168.XX.XX
pi@192.168.XX.XX's password:
Linux raspberrypi 5.10.11-v7l+ #1399 SMP Xxx Xxx XX XX:XX:XX GMT 2021 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: Xxx Xxx XX XX:XX:XX 2021

SSH公開鍵認証を設定する

これやんないと普段使ってるVSCodeからのアクセスが面倒なので設定しておく。

鍵の生成

PC側の端末で以下のコマンドを実行(WindowsならGitBushとか)する。

ssh-keygen -t rsa

実行すると鍵の名前をきかれるので「id_rsa_raspi」などと設定する。パスワードは設定しないでおく。(本当はしたほうがいい)

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/kazushi/.ssh/id_rsa): id_rsa_raspi
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_raspi
Your public key has been saved in id_rsa_raspi.pub
The key fingerprint is:
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXX kazushi@PC
The key's randomart image is:
+---[RSA 3072]----+
|.X*B+E.          |
|==@o+. .         |
|+.==.+  .        |
|.o.oB  .         |
|.o.o o  S        |
|..  o            |
|oo.+             |
|o.Bo+            |
| oo=o+           |
+----[SHA256]-----+

sshディレクトリを作成

作った鍵をラズパイに送る。再びsshでラズパイに接続して、「.ssh」ディレクトリを作成。

mkdir ~/.ssh

鍵をラズパイにコピー

作った鍵をPCからラズパイに送る。

cd /c/Users/kazushi/.ssh/ #PCの鍵が保存されている場所に移動
scp id_rsa_raspi.pub pi@192.168.XX.XX:/home/pi/.ssh

sshでラズパイにアクセスして、公開鍵のパーミッションを変更しておく。

cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh

configファイルを作成する

アクセスしやすいようにconfigファイルを作成しておく。PC側で以下のcongifファイルを作成する。

cd /c/Users/kazushi/.ssh/
echo > config

「config」というファイルが生成されるので、その中に以下の設定を入れておく。ちなみにこの操作は他にSSH設定しているマシンがあれば当然いらない。

Host pi
  Hostname 192.168.XX.XX
	User pi
	Port 22
	IdentityFile ~/.ssh/id_rsa_raspi

ちゃんと設定できていれば以下のコマンドでSSHでラズパイに入れる。

ssh pi

BerryCondaのインストール

ラズパイでのAnaconda環境を整えておく。

ラズパイのアップデート

とりあえずラズパイをアップデートしておく。

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo reboot

Berry Condaのインストール

以下のコマンドでBerryCondaのインストーラーをとってくる。

wget https://github.com/jjhelmus/berryconda/releases/download/v2.0.0/Berryconda3-2.0.0-Linux-armv7l.sh

以下のコマンドを実行。

chmod +x Berryconda3-2.0.0-Linux-armv7l.sh
./Berryconda3-2.0.0-Linux-armv7l.sh
echo ". /home/pi/berryconda3/etc/profile.d/conda.sh" >> ~/.bashrc
sudo reboot

後は好きに環境を設定する。

結構ひっかかるのがbasemapのインストール。以下で解決したけど、そろそろ移行しないといけないかも。

pip install https://github.com/matplotlib/basemap/archive/master.zip

GithubのSSHアクセス設定

これがないと始まらないので設定しておく。ラズパイにSSHでアクセスして、今度はラズパイ側で鍵を生成する。

cd ~/.ssh
ssh-keygen -t rsa

鍵の名前は適当に「id_rsa_github」などと設定する。同じくパスワードは設定しないでおく。(本当はしたほうがいい)

鍵の中身をコピーしておく。直接クリップボードにコピーするやり方もあるが、結局いつもcatで確認している。

cat ~/.ssh/id_rsa_github.pub

githubに公開鍵を設定

こちらにアクセスして、Githubの設定を開く。

「NewSSH keys」というボタンを押すと以下の画面が出るので、「Title」には適当な名前(RaspberryPiとか)を入れて、「key」の欄には先ほどcatで確認した内容を入力して保存(Add SSH key)する。

Githubへのアクセスの確認

以下のコマンドを実行してアクセスを確認する。

ssh -T git@github.com

以下のような感じで返ってきたら成功。

Hi kazushi-fa! You've successfully authenticated, but GitHub does not provide shell access.

Gitの設定

gitの基本設定だけやっておく。以下のコマンドで設定。

git config --global user.name "名前"
git config --global user.email "メールアドレス"

SAMBAの設定

地味に便利だったりするので一応設定しておく。以下を実行。

sudo apt install samba samba-common-bin

なにか聞かれるが、とりあえず「No」を選択。

USBに外付けストレージをさして、以下を実行

sudo mkdir /media/pi/XXX/public
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup

設定ファイル(/etc/samba/smb.conf)末尾に以下を追加。

[raspberry_pi]
comment = Share
path = /media/pi/XXX/public
public = yes
read only = no
browsable = yes
force user = pi

Windowsのエクスプローラー等でアクセスできるか確認する。(¥¥192.168.XX.XX)

おわりに

全部そのままコピペしても動かないです。各環境に合わせてXXXの部分等を編集しないとだめです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です