Qiita
RaspberryPi
python3
Slack

スイッチとラズパイ使ってご飯をslackに通知

はじめに

まず、これは自分用確認メモなのであしからず。
本ページは、半田付け日記さんの記事とPythonで遊ぼうさんの記事を参考にさせていただきました。

回路図

lead_switch_ブレッドボード.jpg

すっごい適当に書いちゃいました。
ラズパイ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()


ボタンを押すことで、指定したチャンネルに「ご飯できたよ」と通知します。
家に実装することで、ご飯のたびにお部屋に侵入されることはなくなり平和が保たれます。

もっとスマートにしたかったのですが、なにぶんビギナーなもので、これが限界でした。