top of page


皆さんこんにちは、D2-PLANの宗一郎です。


今回ご紹介するのRaspberry Pi Zero WHを用いた温湿度を定期的LINE通知編です。


これからIoTをかじろう、ラズパイ買ってみようと考えている方、


また既にラズパイを買ってみたという方には為になれば幸いと思います。






 

『使いこなせラズパイ企画!』


この企画は誰だって買えるRaspberry Piを使用したIoT化を目指し初歩的な電子工作から高度なIoTにもチャレンジしていく企画です。特に田舎、地方に特化したIoT活用方法を考えながら進め少しでも現場で使えるIoT化ができればと思っています。私自身ラズパイは初心者なのでブログを通して成長して行ければと思います。



 

本題 

『Raspberry Pi Zero WHで温湿度を定期的にLINE通知』

 
  1. 購入から温湿度の測定まで

  2. 温湿度をLINE通知するまで

  3. 温湿度を定期的にLINE通知

 




ラズパイ購入から温湿度の測定まで

 

前々回までの記事です。必要な方はチェックしてみてください。

  1. Raspberry Pi Zero WHって?

  2. Raspberry Pi Zero WHの初期設定

  3. 必要なもの

  4. 事前にSSHとVNCの設定

  5. 配線方法

  6. 必要パッケージのインストール

  7. 温湿度取得プログラムの準備と実行









温湿度をLINE通知するまで

 

前回までの記事です。必要な方はチェックしてみてください。

  1. LINEアクセストークンの発行

  2. ラズパイからLINE宛にメッセージ送信

  3. ラズパイからLINE宛に温湿度を送信











温湿度を定期的にLINE通知

 

前回までに温湿度をLINEに通知するところまでを実行することができましたが、今回は更なる汎用性をを深めるために、定期的な通知の自動化を行ってみます。


定期的な通知が必要な場面は様々なだと思います。

例えば、

・ハウスの中の温度湿度を管理したい。

・ペットの部屋の温度を遠隔で常時確認したい。


などなど農業などはもちろん、家庭の中でも活用できるところは沢山あると思います。



それでは実際に定期的な通知の方法に入ります。


定期的な通知を行うには様々なやり方がありますが、もっともポピュラーな方法である、cronコマンドを使います。

cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。cronを活用することでスプリプトを定期的に実行することができるということです。



それでは方法です。


下記を実行し定期的に実行するための命令を作成します。


crontab -e

実行するとこういった画面が出てきます。


# Edit this file to introduce tasks to be run by cron.
# 
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# 
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# 
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# 
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# 
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

上のほうに説明が書かれており、下の方に例が書かれています。

この末尾に行を増やし、方法に従い命令文を入れるだけです。


実際の命令文を見ながら、ここでの説明を解説します。


私が設定したのは下記です。


*/1 * * * * /usr/bin/python /home/pi/temp_line.py

左のアスタリスクより、


*分

*時間

*日

*月

*曜日


を示しています。

*/1の意味は、1分毎に・・・という意味です。


例えば、

* 4 * * *  ・・・

とした場合、4時に・・・という意味になります。


* * */1 * * ・・・

とした場合、1日に毎に・・・という意味になります。


そして、その後に、スクリプトの場所を入力します・


* * * * * (Pythonの場所) (実行プログラムの場所)



それでは、下記を下記を付け加えて、上書きしてみます。


*/1 * * * * /usr/bin/python /home/pi/temp_line.py
crontab: installing new crontab



すると、




1分おきに通知が入りだしました。


素晴らしいですね。

簡単です。



これを停止する場合は、先程のエディターを開き、


crontab -e

先程の追加した、


*/1 * * * * /usr/bin/python /home/pi/temp_line.py

こいつをコメントアウトするか、消して上書きします。


crontab: installing new crontab


よし、これで定期的なデータ取得も突破ですね。あとは、これをデータベース化してグラフ化等にしたいですね。ここまでできると、様々なセンサ情報から応用したデータ蓄積が可能になりますね。






※走り書きで文章を書いておりますので、間違った内容や不備がある場合があります。お気づきになられましたら是非ご連絡下さいますと幸いです。



instagram 宗一郎 → @soichiro_koyanagi



instagram D2-PLAN → @d2_plan