Raspberry PiをHubot化してSlackで戯れてみる

More than 3 years have passed since last update.


やりたいこと

自宅のネットワーク環境にあるRaspberry PiでHubotを動かす。

Slackを使ってHubotと会話する。

Raspberry PiのTCPポート9999番を使ってHubotを起動。


Rasberry Piの準備

Type-Bを利用。


Raspberry PiへOSインストール

Arch Linuxを選択。


ベース環境をインストール

以下のパッケージを導入。

1. Node.js

sudo pacman -S nodejs

2. Redis

sudo pacman -S redis

3. Hubot本体とCoffe-Script

sudo npm install -g hubot coffee-script


Redisの起動

sudo systemctl start redis


Hubotの実行環境をインストール

Hubotのディレクトリを作成し,そこへHubotの実行環境を構築する。

1. Hubotのディレクトリ作成

  cd ~

hubot --create hubot

2. Hubotの次項環境をインストール

cd hubot

npm install

3. Slackとの連携パッケージをインストール

npm install hubot-slack --save


Slack側の設定


  1. 上部のメニューからConfigure Integrationsを選択
    スクリーンショット 2014-09-25 16.06.22.png

  2. Add New IntegrationからHubotを追加

  3. Hubotへ施すSlackの固有情報を取得

    Setup InstructionsのExpandボタンを押下。
    スクリーンショット 2014-09-25 16.07.03.png
    Configure the following optionsの値をメモ。

    HUBOT_SLACK_TOKEN=xxxxxxxxxx

    HUBOT_SLACK_TEAM=yyyyyyyy

    HUBOT_SLACK_BOTNAME=slackbot

  4. Slackからアクセスする際のRaspberry Piのアドレスを登録

  5. Save Integrationsを押下して設定を保存


Hubot用の起動スクリプトを作成する

Hubotディレクトリ以下に作成。


setup.sh


export HUBOT_SLACK_TOKEN=xxxxxxxxxx
export HUBOT_SLACK_TEAM=yyyyyyyy
export HUBOT_SLACK_BOTNAME=slackbot

export PORT=9999

./bin/hubot --adapter slack



自宅ブロードバンドルーターからポート開放

ポート9999に対する通信を,Raspberry PiのIP(ココでは192.168.24.11)へ転送するように設定。

ブロードバンドルーターはBUFFALOのWZR-HP-G302Hを利用。

スクリーンショット 2014-09-25 16.29.06.png

別途,DDNSなどでドメイン名を取得しておけば便利。


Hubotの実行

sh setup.sh


テスト

スクリーンショット 2014-09-25 16.26.07.png

できた!