温湿度計作り(7):Raspberry Pi 照度センサ+Cron設定
最近はセンサのグラフ表示を進めてきたのですが、これまでの説明で漏れていた部分をまとめたいと思います。
■
まず、前々回から照度センサを追加したのですが、センサにはBH1750FVIを使いました。BH1750FVIの実装方法は下記サイトを参考にしました。こちらのセンサを使うには、Raspberriy PiでI2C通信ができるように初期設定をする必要があります。I2C通信の設定手順については、本ブログでは割愛します。
https://tech.recruit-mp.co.jp/iot/farm-monitoring-with-iot/
Raspberry Pi Zeroの接続ピンは、下記サイトを参考にしました。電源は3.3Vピン、GNDはGNDピン、SDAはSDAピン(pin3)、SCLはSCLピン(pin5)にそれぞれ接続します。
http://hara.jpn.com/_default/ja/Topics/RaspPiZero.html
Raspberry Piのサンプルコードも載せておきます。
import smbus import time bus = smbus.SMBus(1) addr = 0x23 for i in range(0,100): lux = bus.read_i2c_block_data(addr,0x10) lux_value = (lux[0]*256+lux[1])/1.2 print "Lux:" + str((lux[0]*256+lux[1])/1.2) print lux_value time.sleep(1)
■
続いて、もう1つ説明で漏れていたのは、cronの設定です。
センサデータを定期的にWebサーバに送信するために、一定時間間隔毎にプログラムを起動する必要があります。手順は以下のとおりです。
1. インストール
$ sudo apt-get install chkconfig
2. cron動作確認
$ chkconfig cron
3. Cronの記述 (sudoをつけないとNG)
$ sudo crontab –e
で画面を表示したら、例えば5分毎にtest.pyを実行するならば、
crontab内に「*/5 * * * * sudo python3 /home/user/Desktop/test.py」等と記述します。
これで定期送信をすれば、前回説明したグラフ表示ができるようになります。