忍者ブログ

設備のマニアどっとこむ

設備、電子工作、DIYのブログ!

01/08

Mon

2018

raspberry piを常時起動して温度を遠隔監視する

ついにraspberry piを常時起動する日がきた。
I2c通信が可能な温度センサーADT7410を使ってそのデータをメールで送れるようにしてみた。

右下のブレッドボードにささっているのがADT7410raspberry piはアナログ入力がないのでI2cを使わざるを得ない。4本の脚にそれぞれVCC、SDA、SCL、GNDを接続する
プログラム的にはこんな具合だが温度を連続して取得する様にはしていない。
後でメールで送る為、一度に一回のみ取得するようにしている。

import smbus
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
i2c = smbus.SMBus(1)
address = 0x48
block = i2c.read_i2c_block_data(address, 0x00, 12)
temp = (block[0] << 8 | block[1]) >> 3
if(temp >= 4096):
    temp -= 8192
print("Temperature:%6.2f" % (temp / 16.0))
time.sleep(1)
if(temp >= 410):
    GPIO.setup(27, GPIO.OUT)
    GPIO.output(27, 1)
else:
    GPIO.setup(27, GPIO.OUT)
    GPIO.output(27, 0)
GPIO.cleanup()
これをi2c.pyというファイル名でデスクトップに保存。

次にメールの設定
sSMTPをインストールする
sudo apt-get install -y ssmtp

インストールが完了したら,/etc/ssmtp/ssmtp.conf の設定変更
sudo nano /etc/ssmtp/ssmtp.confから下記を変更する。
 root=*****@gmail.com       ※自分のGメールアドレスを入力
 mailhub=smtp.gmail.com:587 
 そしてこちらは追記
 AuthUser=*****@gmail.com 
 AuthPass=password ※Gmailのパスワード
 UseSTARTTLS=YES 
※場合によってはアカウントのセキュリティ設定変更が必要なので注意してほしい


これでメールの設定はOK、次にスケジュール実行機能のあるcronを使う。
これはデフォルトで搭載されているのでインストールは必要ない。

まず設定を変更する。
crontab -e
最後の行にPythonファイルを実行する様に追記する。
0 7,22 * * *sudo python /home/pi/Desktop/i2c.py 

始めの*が左から分、時、日、月、曜日を表す、これだと毎日7:00、22:00にてメール送信をする設定となる。

あとは送信するメールアドレスを追記
MAILTO="メールアドレス"

これでこのメールアドレスに毎日7時、22時に温度のメールが来るようになる。

常時監視なら外気温度を取りたいところだがとりあえず室内で今は我慢。
今後はエアコン操作も視野に入れてみたい。








拍手[0回]

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

翻訳(Translate)

AD

シェアしてね

プロフィール

HN:
アルティメット雅史
性別:
男性
自己紹介:
製油所、データセンター、化学工場を渡り歩いた設備のマニア
最近はarduinoあたりの電子工作にハマる。
取得資格は電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトほか

カウンター

お問い合わせ

忍者アクセスランキング

Copyright © 設備のマニアどっとこむ : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]