【技術メモ】Raspberry Pi 〜[01]土台環境構築編〜
2018/12/24 カテゴリ:技術と | RaspberryPiと

IoTでも注目されているRaspberry Pi。色々なものを作ってみよう!ということで、主に自分のメモ用に残す体験記シリーズです。(2019/03/22更新)
■ 当ページの「はじめに」
本当の初歩のお話(Raspberry Piって何?とか)やOSインストールの詳細な内容は割愛です。詳細なサイトがたくさんありますのでそちらをご参照くださいませ。
基本的な設定やハマり全般に関するメモです。
SSHで操作しますので、X Windowまわりについてはほぼ触れていません。
(なお、当ページは随時更新していきます。ページ下部の「履歴」を参照ください。)
■ 00. 目次
01. 動作確認環境
02. MicroSDにデータをセットアップ
03. Raspbianのインストール
04. SSHで接続する準備
11. 電源周りの操作
12. パッケージ、ファームウェアなどのバージョン管理
13. プロセス管理
21. パッケージいろいろインストール
22. コマンドのエイリアス設定(bash)
23. cronの設定
24. NASとの接続
71. GPIO周りの制御
99. トラブルメモ(全般)
■ 01. 動作確認環境
本体:Raspberry Pi 3 Model B+ / Raspberry Pi ZERO WH
OS:Raspbian 9.6系
■ 02. MicroSDにデータをセットアップ
・NoobsをWebからダウンロード
https://www.raspberrypi.org/downloads/noobs/
・MicroSDにコピー(新しいMicroSDの場合)
MicroSDカードのフォーマットはMS-DOS(FAT)とすること。Macの場合は、ディスクユーティティでMS-DOSでフォーマットすればOK。
ダウンロードして解凍したフォルダ直下のファイルを全てコピー。
※32GBのSDカードまでFATでいけるはず。
・MicroSDにコピー(RaspberryPiで使っていたものを再利用、の場合)
パーティションが切られているため、専用のアプリでのフォーマットが必要です。
SDメモリカード フォーマッター
■ 03. Raspbianのインストール
詳細は割愛、ポイントだけ。(ディスプレイとマウス、キーボードを接続して作業。)
・WiFiの設定を先に実施。
・日本語を選択。
・その後、OSはRaspbianを選択してインストール。
■ 04. SSHで接続する準備
・IPアドレスの設定
IPで接続にいきますので、固定IPを割り振ります。
# 編集ファイルは /etc/dhcpcd.conf
sudo vi /etc/dhcpcd.conf
# IPアドレスを設定
# サブネットマスクはIPアドレスの後ろに/で記載すればOK
SSID xxxxxx
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
static domain_search=192.168.0.1
noipv6
# 設定したIPアドレスの確認
ip a
ifconfig
・SSHを有効化
sudo raspi-config
# Interfacing Opitions > SSH > はい
# で設定
これで、SSH経由でRaspberry Piを操作できるようになりました。
■ 11. 電源周りの操作
# 再起動(方法1)
sudo reboot
# 再起動(方法2)
sudo shutdown -r now
# シャットダウン
sudo shutdown -h now
■ 12. パッケージ、ファームウェアなどのバージョン管理
- OS、ファームウェア操作
# OSのバージョン確認
cat /etc/debian_version
lsb_release -a
uname -a
# OSのディストリビューションを最新化
sudo apt-get dist-upgrade
# Raspberry Piのファームウェア直近化
sudo rpi-update
- パッケージ操作
# パッケージリストを最新化
sudo apt-get update
# パッケージをアップデート
sudo apt-get upgrade
■ 13. プロセス管理
# 稼働中プロセスの確認(デーモンも含む)
ps ax
# 数が多いので、絞り込みはパイプでつないで処理を
ps ax | grep xxx
# プロセスの強制終了
# 上記で確認した PID TTYの数字を指定して強制終了
sudo kill -9 xxx
# 例) PID TTY が 12345 番
sudo kill -9 12345
■ 21. パッケージいろいろインストール
# ※インストール必須ではないです。
sudo apt-get install vim
■ 22. コマンドのエイリアス設定(bash)
エイリアスがないと面倒で操作していられないので、自分がよく使うものを設定。
# 記述先は ~/.bashrc
vi ~/.bashrc
# エイリアスを記述。=の間に半角スペースは入れないように。
alias ll='ls -l'
alias lla='ls -la'
# 即時反映
source ~/.bashrc
■ 23. cronの設定
- cron設定
定期的に同じ処理をさせるにはcronを使うのが楽です。
# 処理内容を編集
# -u を省略すると、編集するユーザの権限での実行となる
crontab -e
# 実行したい繰り返しタイミング、起動コマンドを記述します。
# 「分」「時」「日」「月」「曜日」「実行コマンド」の順に記述します。
# 例) 10分おきに $HOMEにある run.sh を実行したい場合
*/10 * * * * ~/run.sh
# 例) 19時に $HOMEにある run.sh を実行したい場合
* 19 * * * ~/run.sh
# 登録した内容の確認
crontab -l
# 登録した内容を削除
crontab -r
# 適用するために cron サービス再起動
sudo /etc/init.d/cron restart
- cronのログを出力するには
ログ管理機能のrsyslogを利用します。
# ログ出力設定の変更
sudo vi /etc/rsyslog.conf
# cron.* の出力部分のコメントを外します。(デフォルトでは出力しないようになっているみたいです。)
# rsyslogを再起動、念のためcronも再起動
sudo /etc/init.d/rsyslog restart
sudo /etc/init.d/cron restart
■ 24. NASと接続
SMBサービスが起動しているNASへの接続方法です。
下記は手動での接続です。
マウントするディレクトリを先に構築しておき、そこにNASを接続するイメージです。
# マウントポイントを作成(初回のみ)
mkdir /mnt/xxx
# マウント
sudo mount -t cifs //xxx.xxx.xxx.xxx/path /mnt/xxx -o user=xxx
# 書き込みもできるようにマウント
# CIFS接続だとrootで接続されてしまい、sudo しないと書き込みできなくなってしまう
# 以下のようにuid、gidを指定してやると書き込みもできるようになる
# 現在ログイン中ユーザのuid、gidは id とたたくと確認できる
sudo mount -t cifs //xxx.xxx.xxx.xxx/path /mnt/xxx -o user=xxx,uid=1000,gid=1000
# アンマウント
sudo umount /mnt/xxx
■ 71. GPIO周りの制御
Raspberry Piの特徴でもある、GPIO。
その、GPIO周りの制御方法です。
# GPIOの状態を確認
# 出力結果の左側が基盤側、右側が外側です
gpio readall
# GPIOのモードを変更(ピンごとのIN/OUTを変更)
# gpio -g mode [ピン番号] [in/out]
# [ピン番号]は、gpio readall で確認できる「BCM」の番号
# 「BCM」3番を「out」に変更したい場合
gpio -g mode 3 out
■ 99. トラブルメモ(全般)
- 容量があふれた!!【解決】
現象:
パッケージをインストールしていたら、ディスクが100%になりあふれてしまいました。
Raspberry Piは余っているSDカードを流用することも多いため、小さなSDカードを無理くりつかうことも多いです。
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 5585732 5357152 0 100% /
対処:
消せるものを消す、しかないのですが。。各種コマンドです。
# ディスク容量を確認
df -h
# 指定したディレクトリの容量を確認
# 例) ルート直下
du -sh /*
# 不要なパッケージを削除
# ※自分の備忘です。必要なものまで削除しないようにご注意ください。
sudo apt-get purge wolfram-engine
sudo apt-get purge sonic-pi
sudo apt-get purge scratch
sudo apt-get remove --purge libreoffice*
# 消した後のゴミ掃除
sudo apt-get clean
sudo apt-get autoremove
- 画面がチカチカする【未解決】
現象:
Raspberry Pi ZERO WH、WiFiをONにすると何故かディスプレイがちらつく。(画面がついて、消えて、ついて、消えてを繰り返す。)
原因:
不明。
SSHで操作する、かつ別用途用の本番機として購入したZERO WH。HDMIの相性の問題かな?とも思いましたが、WiFi自体は安定していて切れることはないので、とりあえず放置です。

このエントリーをはてなブックマークに追加">

■ 履歴
2018/12/24 新規作成
2019/01/05 FATの32GB制約を追記
2019/02/24 GPIO周りの制御を追記
2019/03/22 マウント時に書き込みもできるようオプションを追記
2019/03/22 「13.プロセス管理」を追記
■ 【技術メモ】Raspberry Piシリーズ
・【技術メモ】Raspberry Pi 〜[01]土台環境構築編〜 ※当ページ
・【技術メモ】Raspberry Pi 〜[02]電子ペーパー+Netatmoで温湿CO2計パネルを作成♪〜
・【技術メモ】Raspberry Pi 〜[03]お帰りなさいカメラ〜 ※作成中
■ 他の記事
>> Next
・【技術メモ】Raspberry Pi 〜[02]電子ペーパー+Netatmoで温湿CO2計パネルを作成♪〜
<< Back
・脱!コントロールセンター!!「ショートカットApp」がツカエル
・macOS Mojave(10.14)にバージョンアップ!ざっと稼働確認
・iPhone XS Maxへの移行!!大きいことはいいことだ(移行手順付き)
・Xperia Ear Duo(XEA20)がフリーズ?
・回転するバンカーリング?ダメだこりゃ・・・
Top | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009
Macと | 書籍と | 考えと | iPhoneと | 障害対応と