LoginSignup
2
1

More than 5 years have passed since last update.

Raspberry Pi をはじめる(Raspberry Pi 3 Model B)

Last updated at Posted at 2019-01-18

モノを用意

ハードウェア

  • RaspberryPi 3 Model B
  • micro SDカード 32GB
  • USBマウス
  • USBキーボード
  • SORACOM Air SIM
  • 3G対応データ通信端末AK-020
  • USBカメラ

OSバージョン

$ cat /etc/debian_version
9.6

ログイン

User name : pi
Password : raspberry

コマンド

シャットダウン

$ sudo shutdown -h now

リブート

$ sudo reboot

ディスク容量・使用量を調べる

全体

df -h

カレントディレクトリ

du -h

SSH接続

PuTTYなどを用いる。ポート22。

WiFi設定

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="XXXX"
        psk="XXXX"
}

$ cat /etc/dhcpcd.conf

WiFiの切断

$ sudo ifconfig wlan0 down

SORACOM Air SIM

SORACOMユーザーコンソールで設定

接続

sudo /usr/local/sbin/connect_air.sh

ソラコムSIMの接続確認

$ifconfig ppp0

バックアップ

同じメーカー、同じ容量よりも大きいSDカードを用いる場合(Raspi本体不要)
1.Win32 Disk ImagerでImage Fileのところでxxxx.imgと指定、SDカードのドライブを選択して、Readボタンを押し、PCに保存します
2.SD Card Formatterを用いてSDカードをフォーマットします
3.バックアップした.imgをWin32 Disk ImagerでSDカードに書き込んでRaspiに差し込めばOKです。

違うメーカー、同じ容量のSDカードを用いる場合(Raspi本体必要)
上記で説明したやり方だと、セクタの数が若干少ないことで、エラーが出たりします。そこで用いるのが、rpi-cloneです。

1.rpi-cloneをインストールします。

$ git clone https://github.com/billw2/rpi-clone.git 
$ cd rpi-clone
$ sudo cp rpi-clone rpi-clone-setup /usr/local/sbin

2.microSDカードをカードリーダー(100均にもある)を用いてRaspiに挿します。認識しているか確認するには下記コマンドを実行します。/dev/sda1をして読み込まれていました。

$ sudo fdisk -l

3.rpi-cloneを実行します

$ sudo ./rpi-clone sda -f
  • Initialize and clone to the destination disk sda?: yes
  • Optional destination ext type file system label (16 chars max): Enter

30分くらい待つとコピーが完了しました。
コピーしたmicroSDカードをRaspiに挿すことで即使えます!

参考まで
- Raspberry PiでIoTなシステム開発:SDカードのバックアップはrpi-cloneでやろう
- RaspberryPiに機能を追加

起動時にプログラムを実行したい

SORACOM SIM接続、IPアドレスの表示とPythonプログラムの実行

pi@raspberrypi:~ $ sudo vi /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sleep 10

# Connect SORACOM SIM
nohup sudo /usr/local/sbin/connect_air.sh > /dev/null 2>&1 < /dev/null &

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

nohup /home/pi/miniconda/bin/python /home/pi/programs/capture.py > /home/pi/programs/`date +\%Y\%m\%d\%H\%M`_backup.log 2>&1 &

exit 0

Pythonのパスの確認

pi@raspberrypi:~ $ which python
/home/pi/miniconda/bin/python

バックグラウンドで実行、ログを残す

nohup /home/pi/miniconda/bin/python /home/pi/programs/capture.py > /home/pi/programs/`date +\%Y\%m\%d\%H\%M`_backup.log 2>&1 &

バックグラウンドプログラムのプロセスの確認

pi@raspberrypi:~ $ nohup python /home/pi/programs/capture.py > /home/pi/programs/`date +\%Y\%m\%d\%H\%M`_backup.log 2>&1 &
[1] 936
pi@raspberrypi:~ $ ps u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
pi         892  1.5  0.4   6140  4060 pts/0    Ss   18:57   0:00 -bash
pi         936 35.5  2.6 145776 23552 pts/0    R    18:58   0:00 python /home/pi
pi         938  0.0  0.3   7740  2968 pts/0    R+   18:58   0:00 ps u

プロセスの確認

pi@raspberrypi:~ $ ps aux | grep python
root       556 52.5  6.8 226900 61292 ?        Sl   19:09   4:31 /home/pi/miniconda/bin/python /home/pi/programs/capture.py
pi        1225  0.0  0.0   4372   532 pts/0    S+   19:17   0:00 grep --color=auto python

プロセスを削除する場合

kill -9 [PID]

cronで定期的になんかする

cronの設定をします。

  • 10分おきにpythonのプログラムを起動
  • 毎日23:55に再起動
$ sudo su root
$ crontab -e

*/10 * * * * /home/pi/miniconda/bin/python /home/pi/program/capture.py > /home/pi/program/log/`date +\%Y\%m\%d\%H\%M`_backup.log 

55 23 * * * /sbin/reboot

ctrl+xしたあとにy押して保存してEnterで終了します。

cronを再起動し、内容を確認します。

$ /etc/init.d/cron restart
$ crontab -l
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1