4月3日月曜日
始めに
天気:晴れ
気温:19℃
予定:なし
部活計画
科学部でパソコンの使用を求めるにあたり、いくつかのルールなどを考えました!
例えば
こんなかんじです。
顧問の先生が異動されたので、新たな顧問に代わります!
それでも、パソコンを使う許可をとれるように頑張っていきます!
デザート
新発売に目を惹かれて購入したのがこちら!
宇治抹茶フラッペです!
美味しかったのですが、もうちょっと抹茶があってもよかったかな!と思いました!
ラズパイ「監視カメラ装置」
以前、webカメラを使って撮影しLINEに送ろうとしていたのですが、うまくいかず…
そこで、今回はこのサイトを参考にスラックに送ることにしました!
LINEと違い、最大ファイルサイズが大きいので高画質で送ることができています!
今回のコードはこちらです!
from timeit import default_timer
import requests
import subprocess
from pathlib import Path
import time
import datetime
class SecurityCamera:
def __init__(self, token, channel):
self.token = token
self.channel = channel
def send_message(self, text):
url = "https://slack.com/api/chat.postMessage"
data = {
"token": self.token,
"channel": self.channel,
"text": text
}
requests.post(url, data=data)
def send_picture(self, imgpath):
url = "https://slack.com/api/files.upload"
data = {
"token": self.token,
"channels": self.channel,
# "initial_comment": "This is a cat"
}
files = {'file': open(str(imgpath), 'rb')}
requests.post(url, data=data, files=files)
def capture(self):
subprocess.run(['fswebcam', '--no-banner', '-F', '50', str(Path(__file__).parent.joinpath('image.jpg'))])
if __name__ == '__main__':
time.sleep(30) # wait time for stand up raspi system
token = 'Slack App Token' # 作成したAppのToken
channel = 'channel ID' # Slack ChannelのID
cam = SecurityCamera(token=token, channel=channel) # インスタンス
cam.send_message('起動') # 起動メッセージ送信
try:
while(True): # 無限ループ
dt_now = datetime.datetime.now() # 現在時刻の取得
if dt_now.minute%10==0 and dt_now.second==0: # 10分おきの条件分岐
cam.send_message(dt_now.strftime('%Y年%m月%d日 %H:%M:%S')) # 撮影時刻をメッセージ送信
cam.capture() # 画像撮影
cam.send_picture(Path(__file__).parent.joinpath('image.jpg')) # 画像送信
time.sleep(30)
except KeyboardInterrupt:
print('stop!')
cam.send_message('停止') #停止メッセージ送信
以下のところには自分のTokenとIDをいれてください!
token = 'Slack App Token' # 作成したAppのToken
channel = 'channel ID' # Slack ChannelのID
ラズパイを使った装置が初めて完成しました!
これからも様々なことに挑戦したいです!
最後に
今日のkaigaraはこんなかんじでした!
今日から入社、入学の方が多いのでしょうか?
新しい生活に心が躍るかもしれませんが、犯罪には気をつけてくださいね!
この記事が気に入ったらサポートをしてみませんか?