はじめに
まず、これは自分用確認メモなのであしからず。
本ページは、半田付け日記さんの記事とPythonで遊ぼうさんの記事を参考にさせていただきました。
回路図
すっごい適当に書いちゃいました。
ラズパイ3modelBを使ってます。
pin | 役割 |
---|---|
GPIO17 | OUTPUT |
GPIO4 | INPUT |
GND | GND |
となっています。(多分)
コード
以下ソースコード(責任は負いかねます。)
Gohandayo.py
#coding: UTF-8
from slackclient import SlackClient
import time
import RPi.GPIO as GPIO
from datetime import datetime
def slack_bot():
slack_token = "SlackBotのAPI"
sc = SlackClient(slack_token)
sc.api_call(
"chat.postMessage",
channel="チャンネル名",
text="ご飯できたよ"
)
def time_list(time):
f= open('time_list.txt','a') #add open time
f.write(time +"\n")
f.close()
def switch_callback(gpio_pin):
print("succeed")
open_time = str(datetime.now())
time_list(open_time)
###############################
f = open('time_list.txt','w')
f.write("")
f.close()
pin_in=4
pin_out=17
###############################
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
GPIO.setup(pin_out, GPIO.OUT)
GPIO.setup(pin_in, GPIO.IN)
GPIO.add_event_detect(pin_in, GPIO.RISING)
GPIO.add_event_callback(pin_in, switch_callback)
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
ボタンを押すことで、指定したチャンネルに「ご飯できたよ」と通知します。
家に実装することで、ご飯のたびにお部屋に侵入されることはなくなり平和が保たれます。
もっとスマートにしたかったのですが、なにぶんビギナーなもので、これが限界でした。