Raspberry Pi設定メモ
自分のRaspberry Piにした設定等を残しておくメモ(随時更新)
- 環境
- MacでRasbianインストール
- Raspbianインストール後にssh接続
- GrovePiをインストール
- wifi
- 固定IPアドレス設定
- NTPサーバの変更
- timezon
- RAM領域を作成
- ログ関連
- cron
- SQLAlchemyのインストール
- SORACOM Airの設定
- systemd
環境
- Raspberry Pi 3 Model B
- Debian 8.0(コードネーム: jessie)
MacでRasbianインストール
Raspbianインストール後にssh接続
- キーボード、ディスプレイがない場合は、SDカードをPCに接続し、「/boot」配下に「ssh」を配置
- SDカードをRaspberry Piにいれ、起動
- LANケーブルを接続して以下で接続
$ ssh pi@raspberrypi.local
- 公開鍵認証を設定
- ホスト名はデフォルトの「raspberrypi」
# 自PC $ ssh-keygen -t rsa $ $ scp ~/.ssh/id_rsa.pub pi@raspberrypi.local:/home/pi $ vi ~/.ssh/config # 以下を追加 Host raspberrypi HostName raspberrypi.local user pi IdentityFile ~/.ssh/id_rsa # Raspberry PI $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys # 自PCからログイン! $ ssh raspberrypi
GrovePiをインストール
# gitをインストール $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install git $ cd # clone $ git clone https://github.com/DexterInd/GrovePi.git # install $ cd GrovePi/Script $ sudo curl -kL dexterindustries.com/update_grovepi | bash $ sudo shutdown -r now $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- 04 -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- $ # Firmwareアップデート $ cd GrovePi/Firmware $ sudo ./firmware_update.sh
wifi
sudo sh -c 'wpa_passphrase SSID PASS >> /etc/wpa_supplicant/wpa_supplicant.conf'
固定IPアドレス設定
$ sudo vi /etc/dhcpcd.conf # 以下を追加し保存 interface eth0 static ip_address=192.168.0.10/24 # static routers=192.168.0.1 # static domain_name_servers=8.8.8.8
https://qiita.com/MarieKawasuji/items/b088ffb252a92eee8f5d
network のIFはこちらを変更
$ sudo vi /etc/network/interfaces
NTPサーバの変更
$ cd /etc/systemd/ $ pwd /etc/systemd $ ls -la total 44 drwxr-xr-x 5 root root 4096 Sep 7 14:47 . drwxr-xr-x 83 root root 4096 Sep 7 16:38 .. -rw-r--r-- 1 root root 1014 Jul 5 20:31 journald.conf -rw-r--r-- 1 root root 1022 Jul 5 20:31 logind.conf drwxr-xr-x 2 root root 4096 Sep 7 14:59 network -rw-r--r-- 1 root root 642 Jul 5 20:31 resolved.conf drwxr-xr-x 16 root root 4096 Sep 7 15:13 system -rw-r--r-- 1 root root 1601 Jul 5 20:31 system.conf -rw-r--r-- 1 root root 607 Jul 5 20:31 timesyncd.conf drwxr-xr-x 2 root root 4096 Jul 5 20:31 user -rw-r--r-- 1 root root 1130 Jul 5 20:31 user.conf $ sudo vi timesyncd.conf 【timesyncd.conf】 ・「NTP」「FallbackNTP」をアンコメントし、以下の内容とする [Time] NTP=ntp.nict.jp FallbackNTP=0.jp.pool.ntp.org 1.jp.pool.ntp.org 2.jp.pool.ntp.org 3.jp.pool.ntp.org
timezon
$ timedatectl status Local time: Thu 2017-09-07 16:55:40 UTC Universal time: Thu 2017-09-07 16:55:40 UTC RTC time: n/a Time zone: Etc/UTC (UTC, +0000) Network time on: yes NTP synchronized: no RTC in local TZ: no # Network time on が「no」の場合は同期を有効にする $ timedatectl set-ntp true # timezone の変更 $ timedatectl list-timezones | grep Asia/Tokyo Asia/Tokyo $ sudo timedatectl set-timezone Asia/Tokyo $ timedatectl status Local time: Fri 2017-09-08 01:59:33 JST Universal time: Thu 2017-09-07 16:59:33 UTC RTC time: n/a Time zone: Asia/Tokyo (JST, +0900) Network time on: yes NTP synchronized: no RTC in local TZ: no
RAM領域を作成
# 現状(変更前)を確認 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 30G 8.9G 20G 32% / devtmpfs 426M 0 426M 0% /dev tmpfs 430M 0 430M 0% /dev/shm tmpfs 430M 6.0M 425M 2% /run tmpfs 5.0M 8.0K 5.0M 1% /run/lock tmpfs 430M 0 430M 0% /sys/fs/cgroup /dev/mmcblk0p1 63M 22M 42M 35% /boot tmpfs 86M 0 86M 0% /run/user/1000 $ # fstabを変更 $ sudo vi /etc/fstab # 以下4行を追加し保存 #### ramdisk tmpfs /tmp tmpfs defaults,size=32m 0 0 tmpfs /var/tmp tmpfs defaults,size=16m 0 0 tmpfs /var/log tmpfs defaults,size=32m 0 0 # 設定を反映のため再起動 $ sudo shutdown -r now # 「/var/log」「/var/tmp」「/tmp」が「tmpfs」になっていることを確認 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 30G 8.9G 20G 32% / devtmpfs 426M 0 426M 0% /dev tmpfs 430M 0 430M 0% /dev/shm tmpfs 430M 6.0M 425M 2% /run tmpfs 5.0M 8.0K 5.0M 1% /run/lock tmpfs 430M 0 430M 0% /sys/fs/cgroup tmpfs 32M 196K 32M 1% /var/log tmpfs 16M 0 16M 0% /var/tmp tmpfs 32M 8.0K 32M 1% /tmp /dev/mmcblk0p1 63M 22M 42M 35% /boot tmpfs 86M 0 86M 0% /run/user/1000 $
ログ関連
Raspberry Pi(Raspbian)にやっといたほうがいい設定(マイクロSDカードの延命:swapやlog)
cron
# 1分ごとに実行 $ crontab -e # 以下を追加し保存 */1 * * * * python3 /home/pi/test.py
SQLAlchemyのインストール
SQLAlchemy - The Database Toolkit for Python
pipでインストールするとエラーとなってしまいできなかったので、ディストリビューションを使用してインストールしたときのメモ
# Pythonの仮想環境へインストールする場合はactivateしておく $ cd /usr/local/src # ファイルをダウンロード $ sudo curl -L -O https://files.pythonhosted.org/packages/da/ef/f10a6892f8ff3c1fec1c25699a7379d1f72f291c8fa40b71c31cab3f779e/SQLAlchemy-1.2.6.tar.gz $ $ sudo tar zxvf SQLAlchemy-1.2.6.tar.gz $ cd SQLAlchemy-1.2.6/ # インストール $ python setup.py install # 確認 $ pip freeze | grep SQLAlchemy SQLAlchemy==1.2.6 $
SORACOM Airの設定
wvdial
https://dev.soracom.io/jp/start/device_setting/#raspi_usbdev.soracom.io
pppd
もしAK-020以外のUSBも挿して認識されない場合
AK-020 と他の USB デバイスを Raspberry Pi に取り付けると、AK-020 が認識されない
systemd
# serviceファイル $ /etc/systemd/system/xxx.service # 起動 $ sudo systemctl start xxx # 状態確認 $ sudo systemctl status xxx # 自動起動設定 $ sudo systemctl enable xxx