LoginSignup
4
8

More than 5 years have passed since last update.

RaspberryPiの人感センサーからSlack投稿

Posted at

はじめに

数年前から家庭内で運用しているRaspberryPi人感センサーについて、かなり重宝していて
今やこれが無い生活は想像し難くなっている

特に不満なく運用していたが、最近Slackに興味が出てきたので、なんとか絡ませようと思索し
家庭内Slackを作ってRaspberryPiからのセンサー通知を投稿しようと考えた

環境

・RaspberryPi 3
 (前回記事のセンサーが正常起動する環境が前提)

Slack準備

  1. チャンネル準備
    ・適当なチャンネルを作成する
  2. IncomingWebHooksインストール
    ・Apps&Integrationsから"Incoming WebHooks"をインストール
    ・IncomingWebHooksに対象チャンネルの設定(1.で準備したチャンネルを指定)
    ・WebHookURL取得(センサー側で使用するのでメモっておく)

センサー側スクリプト

前回作成したPythonスクリプトにSlack通知メソッドを1行加えるだけにしたかったので
以下クラスを作成して元から呼び出すようにした

post.py
import requests
import json

def slackPost():
  url = 'https://hooks.slack.com/services/**************************'
  payload = {'channel':'#投稿チャンネル名','username':'投稿ユーザ名','text':'投稿内容'}
  response = requests.post(url,data=json.dumps(payload))

※1. requestsは事前にpip installしておく
※2. urlはSlack準備のIncomingWebHook設定で取得したWebHookURLをコピペ

あとは、呼び出し元スクリプトの適当なところに"post.slackPost()"を書けば完了

所感

検索したら関連情報が豊富であったため、思っていたより簡単にできたし作業量も少なかった
(ゆえにQiitaに投稿する意味もさほどない)
あと、今までは事前に準備したPCにしか通知できなかったが、Slackが使える端末であれば
スマホやタブレット、Macなどなんでも即時通知できてすごくいい
タイムラグも心配していたが全然気にならない
Slackすごい
(仕事でSlackが使えずmattermostを使っているため、情報量の違いを感じ少し悲しかった)

4
8
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
4
8