GitHub製の人工無能メーカー「HUBOT」を利用して自宅に置いてあるRaspbery Piと戯れる事が可能になりました。

「HUBOT」はhubot-scripts と呼ばれるスクリプトより様々な実行処理を行わせる事が可能です。

github/hubot-scripts

GitHubに公開されているサンプルを眺めているだけでもお腹が一杯になるくらい様々なスクリプトが公開されています。

今回はちょっと息抜きに使えるようなものを紹介します。

※APIキーが必要なものもあります。

image me xx

hubot-scripts/hubot-google-images

Googeカスタム検索」と「Custom Search API」を利用して画像を検索して投稿してくれます。

animate me xx

image画像と同様にGIF画像も簡単に投稿してもらえます。

youtube me xx

hubot-scripts/hubot-youtube

YouTube Data API v3」を利用して動画もこんな風に見たいものを投稿してくれます。

map me xx

Google Mapは特にAPIを使わずを呼び出す事が出来ます。日本語にも対応しています。

weather xx

hubot-scripts/src/scripts/weather.coffee

forecast.io 」のAPIを利用して今日の天気を教えてもらうことが出来ます。

forecast xx

同様に3日間の天気予報を教えてもらうことができます。


更にnode.jsのパッケージソフト「node-cron」を利用する事で定期的に実行処理を行わせる事も可能です。

ncb000gt/node-cron

このパッケージをnpmインストールして以下の様に記述します。

1
2
3
4
var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function() {
console.log('You will see this message every second');
}, null, true, 'America/Los_Angeles');

毎朝7時に今日の日付をお知らせ

PonDad/day.coffee

平日(月〜金)の朝7時に今日の日付を自動投稿させる、なんてことも簡単に行えます。

一時間毎に時報をお知らせ

PonDad/time.coffee

単純に一時間毎(cronは分刻みなので60分毎)に時間をお知らせする場合はこんな感じで。


(おまけ)シェルスクリプトの定期実行

PonDad/wifi.coffee

Raspberry PiのWiFiが途切れない様にこんなシェルスクリプトを書いたのですが、

1
2
#!/bin/sh
ping -c 1 192.168.0.11 test $? -eq 1 && sudo /etc/ifplugd/action.d/action_wpa wlan0 up

この様なシェルスクリプトを定期実行させるのに通常はcrontab を利用します。(Raspberry Pi をMacでセットアップ忘備録 8 - WiFiをスリープさせない

サンプルのwifi.coffee の様にHubot自身にシェルスクリプトを定期実行させることも可能です。

まとめ

hubot-scripts は本当に数多く公開されているのでそれらを参考にすれば比較的簡単に実行スクリプトを記述することが出来ます。

(大抵のことは世界中の誰かがやっているものですね)

コマンドラインの実行も外出先から行える事が分かったので、Raspberry Piを遠隔操作するのも試してみたいと思います。ではまた。