# Raspberry Pi 現在最新版 Pi3 (2017/10/14) ## セットアップ 現在 2017/10/14 - Raspberry Pi 3 Model B V1.2 - 3ple Decker キット - Raspberry Pi カメラモジュール - Raspbian : - RASPBIAN STRETCH LITE (Release date:2017-09-07) - ミラーからダウンロードがお勧め(高速) (http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_lite/images/) - OSをSDに書き込み : - [Win32DiskImager](https://sourceforge.net/projects/win32diskimager/files/latest/download) ## 搭載機能 - ロケーションの変更 - ユーザ名とパスワード変更 - wifiの接続 - ssh - SORACOM 3G接続セットアップ - 定期SDバックアップ(cron 毎週1回) - 定期カメラ撮影(cron 4:00-23:00) - 定期awsアップロード(cron) ```bash ひとまずアップデートしておく $ sudo apt-get -y update && sudo apt-get -y upgrade ``` ### ロケーションの変更 ``` date sudo cp /etc/localtime /etc/localtime.org sudo cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime date ``` ### 日本語キーボードへの変更 ``` 設定ファイル (/etc/default/keyboard) を書き換えて、キーボードを変更します。 英語104キーボードの場合 XKBMODEL="pc104" XKBLAYOUT="us" XKBVARIANT="" XKBOPTIONS="" sudo reboot ``` [キーボードの種類](http://qa.elecom.co.jp/faq_detail.html?id=5262) ###ユーザ名変更 ```bash ユーザ名変更 https://jyn.jp/raspberrypi-username-change/ 仮のユーザを追加する # 仮のユーザ(tmp)を作成する(-Mオプションが付いているのでホームディレクトリが作成される心配はありません) sudo useradd -M tmp # tmpユーザをsudoグループに追加(sudoが使える様に) sudo gpasswd -a tmp sudo # (一応)tmpユーザのパスワードを設定 sudo passwd tmp # 一旦ログアウトする exit 次は仮ユーザで接続してユーザ名を変更します。 ユーザ名を変更する 次は先程作成した仮ユーザ(tmp)でSSHから接続しましょう。 その後、Piユーザのユーザ名、グループ名を変更します(例としてpi->adminに変更します) # usermod -lでユーザ名をpiからadminに変更 sudo usermod -l admin pi # usermod -dでホームディレクトリを/home/piから/home/adminに変更 sudo usermod -d /home/admin -m admin # groupmod -nでpiグループをadminグループに変更 sudo groupmod -n admin pi # ログアウト exit これでpiユーザはadminユーザに生まれ変わりました(ファイルなどもそのまま引き継がれています) パスワードを変更 最後に、仮のユーザを削除してパスワードを変更しましょう。 adminユーザでログイン(パスワードはpiと同じ) # 仮ユーザを削除(多分警告的なのが出るかと思いますが、構わず削除して下さい) sudo userdel tmp # adminユーザのパスワードを変更 sudo passwd admin ``` ###wifiの接続 ```bash wifiの接続 $ sudo sh -c 'wpa_passphrase <> <> >> /etc/wpa_supplicant/wpa_supplicant.conf' wifi設定の確認 $sudo cat /etc/wpa_supplicant/wpa_supplicant.conf country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="hoge-fuga" #psk="xxxxxx" <-消しておく psk=eca950... } 再起動 $ sudo reboot ipアドレスの確認 $ ip addr ``` ###SSHの接続 ```bash $ sudo raspi-config >6 INterface Options > P2 SSH > enable ``` ###SORACM AIR 3Gのセットアップ https://dev.soracom.io/jp/start/device_setting/ - USBモデム(エイビット AK-020) - SIM : SORACOM AIR ``` $ sudo apt-get update $ sudo apt-get install -y usb-modeswitch wvdial $ curl ‒O http://soracom-files.s3.amazonaws.com/connect_air.sh $ chmod +x connect_air.sh $ sudo mv connect_air.sh /usr/local/sbin/ $ sudo /usr/local/sbin/connect_air.sh ``` ``` バックグラウンド起動 $ sudo wvdial & 停止 $ fg ctrl+c ``` wifiを向こうかし3Gで接続できているかを確認する。 ``` Wifi無効化 以下のコマンドを実行して、ラズパイを再起動すればwifiを無効化できます sudo iwconfig wlan0 txpower off Wifi有効化 再び有効化したいときは以下のコマンドを実行して再起動 sudo iwconfig wlan0 txpower auto 3Gでのネットワーク接続の確認 ping www.google.co.jp ``` ####SORACM AIR 3Gの自動起動 自動起動にはsupervisorを使う。 ``` sudo apt-get install supervisor 実行するスクリプトを配置 $ mkdir -p ~/temp/soracom $ cd ~/temp/soracom $ curl ‒O http://soracom-files.s3.amazonaws.com/connect_air.sh $ chmod +x connect_air.sh $ sudo mkdir /opt/soracom $ sudo cp connect_air.sh /opt/soracom/ supervisorの起動設定 sudo vi /etc/supervisor/conf.d/soracom.conf [program:soracom] directory=/opt/soracom command=sh /opt/soracom/connect_air.sh redirect_stderr=true stdout_logfile=/var/log/supervisor/soracom.log user=root autostart=true autorestart=true supervisorの有効化 $ sudo supervisorctl reread soracom: available $ sudo supervisorctl add soracom $ sudo supervisorctl status $ sudo tail /var/log/supervisor/soracom.log ``` ## 参考 - [IoTを使って畑を監視する](https://tech.recruit-mp.co.jp/iot/farm-monitoring-with-iot/) - [SORACOM Developers 各種デバイスで SORACOM Air を使用する](https://dev.soracom.io/jp/start/device_setting/) ## 定期バックアップ ### Rasberry Piでrpi-cloneを使ってバックアップ - http://tomosoft.jp/design/?p=8721 - https://arakan60.mydns.jp/04kousaku/21-18sdcardbackup.php 基本 ``` cd /mnt mkdir /mnt/usb0 mkdir /mnt/usb1 mount /dev/sda1 /mnt/usb0 mount /dev/sda2 /mnt/usb1 df -h ``` マウント関連コマンド ``` lsusb sudo fdisk -l df -h ``` [年末なのでRaspberry Piも手入れをしましょう 〜 UpdateとBackup 〜]( https://qiita.com/tsukaman/items/240888d360cc58ac2a04) どうも[rpi-clone](https://github.com/billw2/rpi-clone)がよさそう。オプションをつければ対話なしでいけそう。 ``` $ git clone https://github.com/billw2/rpi-clone.git $ cd rpi-clone $ sudo cp rpi-clone rpi-clone-setup /usr/local/sbin $ rpi-clone sda -f2 ``` ``` # sudo apt-get install -y postfix (必要) sudo crontab -e 毎日朝5時に実行 0 5 * * * sudo rpi-clone sda -q sudo /etc/init.d/cron restart ログ tail -f /var/mail/fi tail -f /var/log/cron ```