LoginSignup
3
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-11-09

はじめに

まず、これは自分用確認メモなのであしからず。
本ページは、半田付け日記さんの記事と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()


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

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

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3