46
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-09-25

やりたいこと

自宅のネットワーク環境にある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
できた!

46
45
2

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
46
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?