Raspberry Piのセットアップから【Python環境のインストール】まで

はじめに

Mac環境の記事ですが、Windows環境も同じ手順になります。環境依存の部分は読み替えてお試しください。

目的

この記事を最後まで読むと、次のことができるようになります。

No. 概要 キーワード
1 OSインストール Raspberry Pi OS
2 Wi-FiステルスSSID設定
3 固定IPアドレス設定
4 SSH接続
5 VNC接続
6 Python環境インストール pyenv
7 FTPインストール vsftpd

実行環境

環境 Ver.
macOS Catalina 10.15.6
Raspberry Pi OS (Raspbian) 10
Raspberry Pi Imager 1.4
pyenv 1.2.20
Python 3.7.3

関連する記事

1. OSインストール

SDカード確認(macOS)

command.sh
~% diskutil list

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
...

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
...

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.9 GB    disk2
   1:             Windows_FAT_32 boot                    268.4 MB   disk2s1
   2:                      Linux                         31.6 GB    disk2s2

SDカード初期化(macOS)

command.sh
~% diskutil eraseDisk FAT32 RPI /dev/disk2

Raspberry Pi Imagerインストール(macOS)

command.sh
~% brew cask install raspberry-pi-imager

インストール

  1. Raspberry Pi Imager起動 > OSイメージ選択 > SDカード選択 > WRITE

2. Wi-FiステルスSSID設定

パスワード暗号化

command.sh
~$ wpa_passphrase {ssid} {password}

network={
    ssid="{ssid}"
    #psk="{password}"
    psk={psk}
}

Wi-Fi設定

command.sh
~$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
command.sh
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

+ network={
+     ssid="{ssid}"
+     scan_ssid=1
+     psk={psk}
+ }
command.sh
^O
^X
command.sh
~$ sudo reboot

3. 固定IPアドレス設定

デフォルトゲートウェイ確認(macOS)

command.sh
~% netstat -rn

Routing tables

Internet:
Destination        Gateway            Flags        Netif Expire
default            {default gateway}  UGSc         en0
...

DNSサーバー確認(macOS)

command.sh
~% cat /etc/resolv.conf

nameserver {primary dns}
nameserver {secondary dns}

IPアドレス設定

command.sh
~$ sudo nano /etc/dhcpcd.conf
command.sh
# fallback to static profile on eth0
#interface eth0
#fallback static_eth0

+ interface wlan0
+ static ip_address={ip address}/24
+ static routers={default gateway}
+ static domain_name_servers={primary dns}
+ static domain_search=
command.sh
^O
^X
command.sh
~$ sudo reboot

4. SSH接続

SSH有効設定

command.sh
~$ sudo touch /boot/ssh
command.sh
~$ sudo nano .bashrc
command.sh
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
+ alias ll="ls -la"
command.sh
~$ echo -e 'if [ -f ~/.bashrc ]; then\n  . ~/.bashrc\nfi' >> ~/.bash_profile
command.sh
~$ sudo reboot

SSHホスト鍵削除(macOS)

command.sh
~% ssh-keygen -R {ip address}
~% ssh-keygen -R raspberrypi.local

SSH接続(macOS)

command.sh
~% ssh pi@{ip address}
command.sh
~% ssh pi@raspberrypi.local

5. VNC接続

VNCインストール

command.sh
~$ sudo apt-get update
~$ sudo apt-get upgrade
~$ sudo apt-get install tightvncserver

VNC起動

command.sh
~$ tightvncserver

VNC接続(macOS)

  1. Finder > 移動 > サーバへ接続
  2. vnc://{ip address}:5901 or vnc://raspberrypi.local:5901入力 > 接続

6. Python環境インストール

ライブラリインストール

command.sh
~$ sudo apt update
~$ sudo apt upgrade
~$ sudo apt install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev

pyenvインストール

command.sh
~$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
~$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
~$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
~$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
~$ source ~/.bash_profile

Pythonインストール

command.sh
~$ pyenv install -l
command.sh
~$ pyenv install {version}

pyenv install  3.7.5

Python切り替え

command.sh
~$ pyenv global {version}

7. FTPインストール

FTPインストール

command.sh
~$ sudo apt-get install vsftpd
~$ sudo systemctl enable vsftpd
~$ sudo systemctl start vsftpd
~$ sudo systemctl status vsftpd

FTP設定

command.sh
~$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.org
~$ sudo nano /etc/vsftpd.conf
command.sh
# Uncomment this to enable any form of FTP write command.
- #write_enable=YES
+ write_enable=YES

# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
- #local_umask=022
+ local_umask=022

# ASCII mangling is a horrible feature of the protocol.
- #ascii_upload_enable=YES
- #ascii_download_enable=YES
+ ascii_upload_enable=YES
+ ascii_download_enable=YES
command.sh
^O
^X
command.sh
~$ sudo systemctl restart vsftpd
~$ sudo systemctl status vsftpd

コメントを残す

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