忍者ブログ

設備のマニアどっとこむ

設備、電子工作、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

11/19

Sun

2017

アルティメット雅史、スタバでraspberry piを動かす。

最近、スタバにMacbookを持ってきて長時間居座る輩が多いらしい。昔からちらほらいたのは感じていたが、ドヤラーとか言われているそうな。

もちろん地域によって客層も異なると思うのだが、ちょっと気になるので意識高めの人が多そうなKO大の近くのスタバに行ってみることにした。手ぶらだとアレなのでこちらもraspberry piと電源一式を持参して対抗(?)することにした。

土曜日の昼頃行ってみたのだが、本当にMacbookをはじめノートPCを使っている人であふれかえっていた。全く席が空く気配がなく、店の回転率を明らかに落としている様だった。 店側も「12月×日より 勉強やPCでの作業ができる時間帯を制限します」といった旨の看板を出していた。きっと迷惑なのだろう。

座れないので諦めて帰ろうとすると、ちょうど店の前のオープンカフェ的な席が空いたので飲み物を注文することにした。380円のティーラテを頼んだ。「サイズはどうしますか?」と言われたので「一番小さいやつ」と答えると「は?」といわれたのでもういちど同じ回答をした。
一応その時に「PCを使ってもいいですか?」と聞いたら特に迷惑そうな顔もされずOKをもらえた。




席について電源とraspberry piを展開するとすぐ隣の人が離席した。

その後I2C通信で温度を測定。15度程度で肌寒かった・・・。

もともと長居するつもりもなかったが、10分~15分ぐらいでバッテリーが切れてしまい撤収することになった。だいぶモニターが電力を食ってしまっていたみたいだ。残念ながらアルティメットの持っている機材ではドヤラー達に対抗することはできなかった。

やはりMacbookはじめ最近のノートPCのリチウムイオン電池の進化はすごい、6時間ぐらいは平気で持つらしい。そのバッテリー技術の発展がドヤラーという人たちを産んでしまったのかもしれない。







拍手[0回]

10/29

Sun

2017

raspberry piで動く監視カメラの製作



今回はraspberry piで動く監視カメラを作ってみます。

LogicoolのUSBカメラにサーボモーターをくっつけて左右に振れる様にしてみたいと思います。

raspberry piでウェブカメラを使う方法はいろいろありますが今回はgucviewとfswebcamをつかってみました。

まずはUSBに接続されていることをlsusbコマンドで確認します。
Logicoolなどメーカーが確認できればOKです。
 

そして次にguvcviewをインストールします。

sudo apt install guvcview

インストールできればgucviewコマンドで起動します。


カメラは問題なく動きました。続いてサーボモーターでカメラを左右に動かしたいと思います。
raspberry piとはサーボモーター配線を赤をVCC、茶をGND、オレンジをGPIOへそれぞれつなぎます。今回はGPIO17を使用しました。

そしてpythonでサーボモーターを動かすプログラムを書きます。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
from tkinter import *
tk = Tk()
gp_out = 17
GPIO.setup(gp_out, GPIO.OUT)
servo = GPIO.PWM(gp_out, 50) 
servo.start(0.0)
    
def hello():
    
    servo.start(0.0)
    servo.ChangeDutyCycle(1.5)
    time.sleep(0.5)
    servo.start(0.0)
    
def hello2():
    
    servo.start(0.0)
    servo.ChangeDutyCycle(12.5)
    time.sleep(0.5)
    servo.start(0.0)
def hello3():
    
    servo.start(0.0)
    servo.ChangeDutyCycle(6.5)
    time.sleep(0.5)
    servo.start(0.0)
btn =Button(tk, text="right", command=hello)
btn.pack()
btn =Button(tk, text="left", command=hello2)
btn.pack()
btn =Button(tk, text="center", command=hello3)
btn.pack()
これを実行すると


こんなボタンがでてきます。


rightを押すと

冒頭の写真の状態になります。
leftを押すと


逆を向きます。centerで


rightとleftの真ん中ぐらいに来ます。

これでカメラをサーボモータで動かすことができたのですが、監視カメラということでリモートデスクトップでの動作に挑戦してみます。

ラズパイのIPアドレスを調べて遠隔でログインしてみます。


残念ながらguVcviewでのストリーミングはできませんでしたが、サーボモーターは問題なく遠隔操作できました。


とりあえずfswebcamを使って静止画の撮影を試みてみました。

sudo apt install fswebcam
でダウンロードし
fswebcam test.jpg
コマンドで静止画を保存します。


うまくいきました。リモートデスクトップでも動作が安定しています。

今回はraspberry piでUSBカメラをサーボモーターを使い動かしてみました。
pythonも勉強中ですが、ブラウザからいろいろできそうなので今後も頑張ってみたいと思います。

→自走式カメラはこちら






拍手[0回]

08/20

Sun

2017

自作UPSでraspberry piを動かす

raspberry piは型落ちのPCぐらいの性能があって使い勝手もいいので様々な用途に応用できます。なかでも、ネットワークの知識があればサーバーにしたり、Twitterのbotにして勝手につぶやいたりと、raspberry piを24時間起動するというハードな使い方をしている例も多々あるみたいです。

24時間起動するにあたって少し気になるのが電源で、ラズパイはデスクトップPCのような電源ユニットもないしノートPCのようなバッテリーも搭載されてません。USBから直接5V電圧をとる方式ですこしでも電源の状態が悪いと起動不良を起こしたりしてしまいます。(特にraspberry pi3)

そこで簡易的なUPS(無停電電源装置)を作って瞬低と少しの停電に対応できるようにしてみました。



・・・非常にわかりにくいのですが、コンセント100Vをトランスで12Vにして、整流回路に突っ込んでいます。直流になった12Vをチャージコントローラーに通し、バッテリーに充電しつつインバータで100Vを使用できる様にしています。

構成図はこちら↓


簡単な整流回路ですが、波形をみたらそうでもない気がします。
一応直流12Vが作れてそうです。
 
ブレーカがON状態であればバッテリーを充電しながらAC100Vが使えます。
※太陽光パネル用のチャージコントローラーなのでSUNのところが点灯してると充電中ということです。

ここでブレーカーをOFFにすると・・。

/パチッ\



大丈夫でした!raspberry piとモニターもしばらく使えます。
(ただしみるみるうちにバッテリー電圧が下がってきます。)


これでちょっとぐらい電源に異常があってもraspberry piを起動し続ける事が可能になりました!
でもチャージコントローラも本来の使い方じゃないし、raspberry piを起動中に停電させると壊れる可能性大なのでかなりリスキーです。マネはしないでください。
(オシロスコープを提供してくださったSさんありがとうございました。)







拍手[0回]

07/31

Mon

2017

raspberry piCPUの温度を下げる方法

raspberry pi3を購入して1か月ぐらい経つのですが、とある事に気づきました。

それは・・・。

CPUがとにかくアツい

ということです。実際いろいろと調べてみましたが、
raspberrypi 2から3になった際にCPU性能は向上しているのですが、サイズはそのままの為、発熱量は増加しているみたいです。

現在どれくらいのCPU温度なのか確認してみます。下記のコマンドで調べることができます。
※値は1000分の1して下さい。


$ cat /sys/class/thermal/thermal_zone0/temp







50度超えています。

一応仕様では0~70℃とありますが、感覚的には40~45度ぐらいに抑えたいところ。
Twitterで「raspberry pi 温度」で検索すると45~60度と幅広い温度で使っている人が多いみたいです。(常時起動して温度をつぶやくプログラムです。)

とりあえず、やれることは3つです。

・CPUにヒートシンクを取り付ける。
ケース付属する場合もありますが、単体でも買えます。両面テープでCPUに直接ぺたっとつけます。



・ケースにファンを取り付ける。

これは結構苦労しました。なぜなら先にケースを買ってしまっていたからです。
ケースに穴を開けて取り付けました。

まずビス用の穴を4つあけて、
そのあと風の通る穴を開けて内側にファンを取り付けました。

そして5VピンとGNDにメスコネクタを接続します。

これで完成!

・周囲温度を下げる。
サーバールームだと周囲温度23度~26度、相対湿度40~60%くらいです。まあ夏場でもエアコン入れておけば大丈夫ですかね・・。

そしていろいろやった結果・・。


44度まで下がりました。

これで夏場も乗り切れそうです。今のところ常時起動する予定はないですが、熱対策しないでraspberry piを遠隔監視とかしていると最悪CPUが焼ける気がします。皆さんご注意を!!

4/1 スマホで遠隔制御してみました!!








拍手[0回]

翻訳(Translate)

AD

シェアしてね

プロフィール

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

カウンター

お問い合わせ

忍者アクセスランキング

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

TemplateDesign by KARMA7

忍者ブログ [PR]