RaspberryPiにハマっているというか、壊れてもあきらめのつく安い新品のPCを手に入れた感覚で、壊すつもりでちょいちょい触っている。ついに先日3台目を購入。
もう普通にPCのスペックやん!すげー!お!安くなってる!ポチッ!で買った常時稼働用(手前)のRaspberryPi4B-8GBが届いた。ファンが結構うるさいし、色がコロコロ変わるタイプ。あとヒートシンクとファンがゴツい。奥は勉強用の先日買ったやつ。色々勉強して(遊んで)いきます。 pic.twitter.com/KGC5U8cfAs
— Kazushi Motomura (@kazushi_fa) February 6, 2021
ちなみに買ったのはこれです。
ただ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の部分等を編集しないとだめです。
コメントを残す