LoginSignup
6
8

More than 5 years have passed since last update.

特定のチャットルームにメッセージが来たらパトランプを点滅させる

Last updated at Posted at 2017-04-02

困っていたこと

職場でHipChatを利用していますが、複数ルームからのメッセージがあるため、重要なルームメッセージを見逃す場合があり困っていました。

考えたこと

重要なルームメッセージを見逃さないように、
HipChatの特定ルームにメッセージが来たらパトランプを一定時間点滅させることを考えました。

実現方法

  • RaspberryPiからHipChatのAPI(history)を呼び出しContentLengthを獲得する
  • HipChatのAPI(history)は実行日を指定して獲得量が多くなりすぎないようにする
  • ContentLength値の増加を検知してリレーのON/OFFを制御する
  • リレーONに連動してパトランプ回路に電流を流す
  • 点滅はパトランプ本体の機能をそのまま使う。

動作条件

  • インターネットに接続している
  • HipChatのAPIアクセストークンを取得している

ハードウエア

  • Raspberry Pi
  • リレー
  • パトランプ
  • 電源(5Vと12V)

chat-relay.png

プログラム仕様

  • c言語で作成する
  • リレー制御はGPIO17を使用
  • WebAPI呼び出しインターバルは5秒とする
  • 起動パラメータはチャットルーム名とパトランプを点滅させる秒数

https通信はここを参考にさせていただきました

必要なライブラリをインストール

wiringPi

git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

ssl

apt-get update
apt-get upgrade
apt-get install libssl-dev

コード

実行方法

chat-reray [ルーム名] [点滅秒数] [パトランプ出力先ポート] [サウンド指定]

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