起動したら自動で何かをするRaspberry Piを簡単に作る

 Raspberry Piはマイコンの一つです。
Teach, Learn, and Make with Raspberry Pi – Raspberry Pi
Raspberry Pi – Wikipedia
 マイクロなコンピュータであり、その使い方の一つに何かしらのセンサーを接続してデータを取得する、というものがあります。Raspberry Pi本体のサイズが手のひらサイズでありセンサーを起動したまま、どこかに置く、動かすといったことに苦労しません。せっかく持ち運びが容易なのですからRaspberry Piには単独で完結してもらいたいです。そのため本体だけで動くように、起動したら自動で何かをする様に設定するととても便利になります。
 設定の仕方は次のスライドが詳しいです。
 あなたのお家に眠るラズパイを救出したい – Speaker Deck
 このスライドはRaspberry PiとPCをSSH接続するまでの手順書です。これを読みながら設定を整えれば数分でSSHを繋げられます。スライド中に出てくる無線LAN接続用ファイル生成ページwpa_supplicant.conf作成は気持ち引っかかりやすい部分があります。
 それは次の画像の赤丸で囲った追加ボタンを押して現在作られる予定のファイル情報を更新する部分です。画像の入力欄にはSSID:aaaaとありますが、この状態でファイルを生成してもaaaaにつなげるための設定は作られません。

 これでSSHで接続できるところまで行けました。大体簡素なLinux系のOSが入っています。自動でプログラミングを立ち上げるにはsystemdという仕組みを使います。
systemd – Raspberry Pi Documentation
 好きに実行したいプログラム(例えばセンサーから値を取得してとあるサーバに流すとか)を書いて配置。最後に次の様に記述したhoge.serviceを/etc/systemd/systemに配置。

[Unit]
Description = My service

[Service]
ExecStart=起動したいプログラムの実行コマンド
Restart=always
Type=simple

[Install]
WantedBy=multi-user.target

 配置が完了したらsystemctl enable hoge.serviceとコマンドを実行してサービスを制御に登録.これだけで電源を入れる度にExecStart=以下のコマンドがsimpleにフォアグラウンドで実行されます。もし実行されているコマンドが終了してもalways再起動します。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG