【Xi IoT実装】温度計アプリを実装してみる Slack連携 その1
せっかくなので、前回のXi IoTで温度計を表示するだけじゃXi IoTである必要はまったく無いので、Slackへ通知をしてみたいと思います
Slackで通知する方法は2種類を検討
1.現時点の温度を送信 ←今回はここ
2.指定値を越えたら通知
を実装します!
今回はまずシンプルに送信を実装します
Python からSlackへhttpでなげる
Xi IoT用にSlack作ります
おつぎにSlack上でAPIトークンを作成します
このAPIトークンは古い方法にということですが、Slackの開発自体が目的ではないのでこのままいきます
これでサクッと好きなSlackチャネルに好きなメッセージを飛ばせます
import json import urllib3 urllib3.disable_warnings() http = urllib3.PoolManager() url = 'https://slack.com/api/chat.postMessage' headers = { 'Authorization': 'Bearer {トークン}', 'Content-Type': 'application/json; charset=utf-8' } method = 'POST' # data = { "channel": "#xi-iot温度計", "username": "xi-iot", "icon_emoji": ":thermometer:", "text": slack_msg } json_data = json.dumps(data).encode("utf-8") req = http.request(url=url, body=json_data, headers=headers, method=method) print(json.loads(req.data.decode('utf-8')))
ちゃんとSlackへメッセージとんできました
Xi IoTへ実装してみる
つぎにData Pipelineへ実装してSlackへとばせるか、テストします
上記のPythonコードをFunction、Data Pipelineへ設置します
Functionには、Tensorflow Pythonで実装
Xi IoTのFunction用に関数化してこんな感じで
Data Pipelineに設置して
Slackにバシバシ飛んでくるようになりました
次にやること
今はひたすら垂れ流しなっているなっているので、定期送信にする
しきい値設定で通知