Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

困っていたこと

職場で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

コード

https://github.com/shigeru-yokochi/chat-relay

実行方法

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

shigeru-yokochi
やりたいことを自由に発信できる場として活用させていただきます。 なので、内容については個人の見解であり、所属する組織の公式見解ではありません。 何かの参考にしていただけれは光栄です。横地秀
https://www.yokochi.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away