Help us understand the problem. What is going on with this article?

[2019年]raspberry pi初期設定(pipenv導入まで)

More than 1 year has passed since last update.

0.確認事項

ログインpassword, ネットワーク設定は初回起動時に設定済みとします。
使用機器は以下の通りです。

・Windows10 Home
・Raspberry Pi 3 Model B+ (2018)

$ llsb_release -a

No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.6 (stretch)
Release:        9.6
Codename:       stretch

1. SSH,VNC接続設定

ローカルPCからraspberry piを操作できるようにSSH,VNC接続環境を整えます。

Raspberry Pi へのリモート接続 を参考にします。

1.タスクバーから '設定>raspberry piの設定>インターフェイス タブを選択
以下のようにSSH,VNCを有効にチェックし、OKを押します。
2019-02-10-120846_822x409_scrot.png

2.ローカルからssh接続する
raspberry piでLxTerminalを開きifconfigコマンドでraspberry piのipアドレスをメモしておきます。

$ ifconfig
wlan0: inet 192.168.1.12  netmask 255.255.255.0  broadcast 192.168.1.255

ローカルPCから、以下コマンドを実行することでraspberry piへ接続します。

$ ssh pi@192.168.1.12

3.ローカルからVNC接続する
VNC ViewerをローカルPCにインストールします。
vnc viewer

VNC Viewerを起動しraspberry piのipアドレスで接続設定を行います。
認証画面でraspberry piのユーザID、ログインpasswordを入力して接続します。
以下の画面が出れば成功です。
vnc login

2.ipアドレスを固定する

Raspberry PiのセットアップからPython実行環境構築とイメージファイルバックアップまで
⑥IPアドレスを固定するを参考にします。

1.dhcpcd.confを編集して固定する

$ sudo vi /etc/dhcpcd.conf #viエディタで設定ファイルを編集
dhcpcd.conf
interface wlan0  #有線なら「eth0」無線なら「wlan0」
static ip_address=192.168.1.12 #Raspberry PiのIP
static routers=192.168.1.1 #ルーターのIP
static domain_name_servers=192.168.1.1 #ルーターのIP

Ctrl+X → Y → Enter で保存して閉じる

$ sudo service dhcpcd reload #設定を反映する
$ sudo reboot #再起動

3.ソフトウェアを最新化する

以下コマンドでraspberry piの各ソフトウェアを最新化します。

$sudo apt update
$sudo apt upgrade
$sudo apt install rpi-update
$sudo rpi-update
$sudo reboot

4.OSをバックアップする

USB Image Toolを使用してOSをバックアップします。
USB Image ToolはSDカードをまるごとイメージファイルとしてバックアップしてくれるソフトです。
使い方は簡単です。

1.バックアップする
ローカルPCにraspberry piのOSが入ったSDカードを接続してUSB Image Toolを起動します。
screen1.PNG
Backupボタンを押して任意のフォルダにイメージを保存します。

2.リストアする時
・Resetボタンを押して、SDカードを初期化します。
・Restoreボタンを押して保存したイメージファイルをリストアします。

5.sambaのインストール

sambaを使いローカルPCとraspberry piでファイル共有できるようにします。

$sudo apt-get install samba
$sudo vi /etc/samba/smb.conf #設定ファイルの編集

先頭行に以下を追加

smb.conf
[global]
workgroup=WORKGROUP
dos charset = CP932
unix charset = utf-8
hosts allow = 192.168.  #192.168.xx.xxのipのみアクセス許可
max log size =50
log file = /var/log/samba/log.%m
security=user
passdb backend=tdbsam

[share]
comment =share directory
browseable=yes
writable=yes
path=/home/pi 

ローカルPCのネットワークアドレスに\\192.168.1.12\shareと打つことでraspberry piのホームディレクトリにアクセスが可能になります。

6.pyenv,pipenvをインストールする

raspberry piのpython実行環境は以下の通りです。
raspberry piでpython3.6以上を使用する場合pyenvのインストールが必要になります。
pipenvはプロジェクトごとにpython仮想環境を構築するアプリケーションです。

$python -V
Python 2.7.13
$python3 -V
Python 3.5.3

1.pyenvインストール
raspberry piで以下を実行します。

$ sudo apt install git
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ exec $SHELL
$ sudo reboot
#依存関係のあるライブラリをインストール
$sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
$sudo apt-get install libffi-dev

pyenvでpython3.7.0をインストールします。

$source ~/home/pi/.bash_profile #pyenvが読み込めない場合に実行
$pyenv install 3.7.0 #python 3.7.0をインストール
$pyenv global 3.7.0 #Python 3.7.0をデフォルトのインタプリタとして設定

以下になっていれば成功

$python3 -V
python 3.7.0

2.pipenvのインストール

$pip install --upgrade pip
$pip install pipenv

pipenv使い方

$mkdir ./project1 #プロジェクトごとにディレクトリを作成
$cd ./project1
$pipenv install --python 3.7.0 #3.7.0で仮想環境構築 ローカルにpipfile, pipfile.lockが生成

$pipenv install <package_name> #仮想環境にパッケージのインストール
#または
$pip shell #仮想環境を実行
(project1)$ pip install <package_name> #仮想環境にパッケージのインストール

おわり

以上でraspberry piの初期設定は終了です。
あとはお好きなタイミングでOSのバックアップを取ればいいかと思います。
お疲れ様でした。

meznat
Python,VBA,RaspberryPiなど。 個人でツール作ったりしてます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away