MQTT ハンズオン http://connpass.com/event/9765/に参加してきました。
会場はクラウド会計ソフトを開発されている freeeさんでした。しゃれおつなオフィスでした。卓球台とダーツがありました。(GTUG Girlsの勉強会でも使えるといいな)
講師の @r_rudiさん、@voluntasさんありがとうございました。
MQTT については時雨堂さんの解説を読むのがいいと思います。
ハンズオンでは大きく分けて2つのことをやりました。
■ mqttcli を使ってみる
mqttcliはシェルスクリプト用の MQTT クライアントです。
インストール方法は mqttcli のページを見てください。
MQTTサーバーに接続するための設定を指定する方法が4つあります。
こんな感じの JSON を書きます。
sango だとこんな感じ
コンソールを2つ開いて
片方(subscribe側)で
もう片方(publish側)で
当日は subscribe したメッセージを say コマンドに流すPCが用意されていて、参加者がそこに publish して楽しみました。
自分のPCでやるには、
日本語の Voice がダウンロードされていないと、say コマンドで日本語を読んでくれないので、
[System Preferences...] → [Dictation & Speech] → [Text to Speech] タブ → [System Voice:] → [Customize...] → Kyoko と Otoya をチェックしてOK
で日本語の Voice をダウンロードしておきます。
ダウンロードが終ったら、[System Voice:] を Kyoko か Otoya にしておきます。
■ いろんな言語で MQTT クライアントを作ってみる
Sango MQTT ドキュメントの中から好きな言語でクライアントを作って、pub/sub して遊びました。
■ Github の MQTT publish に挑戦
Github のリポジトリの設定に Webhooks & Services がありますが、Services に MQTT publish が用意されています。これを使うと、commit や push があったときに publish されるようなのですが、自分のリポジトリで試してもうまくいきませんでした。。。なぜだろう。。。
会場はクラウド会計ソフトを開発されている freeeさんでした。しゃれおつなオフィスでした。卓球台とダーツがありました。(GTUG Girlsの勉強会でも使えるといいな)
講師の @r_rudiさん、@voluntasさんありがとうございました。
MQTT については時雨堂さんの解説を読むのがいいと思います。
ハンズオンでは大きく分けて2つのことをやりました。
- mqttcli を使ってみる
- いろんな言語で MQTT クライアントを作ってみる
■ mqttcli を使ってみる
mqttcliはシェルスクリプト用の MQTT クライアントです。
インストール方法は mqttcli のページを見てください。
MQTTサーバーに接続するための設定を指定する方法が4つあります。
- ~/.mqttcli.cfg に設定を書く
- --conf で設定ファイルを指定する
- --host, --port, --user, --password で指定する
- $MQTT_HOST, $MQTT_POST, $MQTT_USERNAME, $MQTT_PASSWORD を設定する
こんな感じの JSON を書きます。
{ "host": "localhost", "port": 1883, "username": "yanzm", "password": "hogehoge" }
sango だとこんな感じ
{ "host": "lite.mqtt.shiguredo.jp", "port": 1883, "username": "yanzm@github", "password": "hogehoge" }
*追記: port は int なので "で囲わないのが正しいそうです。 コンソールを2つ開いて
片方(subscribe側)で
$ mqttcli sub -t 'yanzm@github/say'
*-t でトピックを指定します。sangoではアクセス先トピックがユーザー毎に分かれています。 もう片方(publish側)で
$ mqttcli pub -t 'yanzm@github/say' -m 'hello'
とすると、subscribe側に hello と表示されます。 当日は subscribe したメッセージを say コマンドに流すPCが用意されていて、参加者がそこに publish して楽しみました。
自分のPCでやるには、
日本語の Voice がダウンロードされていないと、say コマンドで日本語を読んでくれないので、
[System Preferences...] → [Dictation & Speech] → [Text to Speech] タブ → [System Voice:] → [Customize...] → Kyoko と Otoya をチェックしてOK
で日本語の Voice をダウンロードしておきます。
ダウンロードが終ったら、[System Voice:] を Kyoko か Otoya にしておきます。
$ mqttcli sub -t 'yanzm@github/say' | while read line ; do echo $line | say ; done
とすると、publish するたびにメッセージを読み上げてくれます。楽しい! ■ いろんな言語で MQTT クライアントを作ってみる
Sango MQTT ドキュメントの中から好きな言語でクライアントを作って、pub/sub して遊びました。
■ Github の MQTT publish に挑戦
Github のリポジトリの設定に Webhooks & Services がありますが、Services に MQTT publish が用意されています。これを使うと、commit や push があったときに publish されるようなのですが、自分のリポジトリで試してもうまくいきませんでした。。。なぜだろう。。。