うずまき2017 powered by Jun-Systems

耳管開放症, SAS, 統計解析, 人工知能, プログラミングそれに思考

*

[IBM Bluemix + Node-Red]ボタン1つで進捗報告 #進捗ウォッチャ

   

IBM Bluemixでなんかやってくださいというお話をいただいていたんですが色々やることがあって完全に忘れてました。ぶっちゃけ初心者なので「何しよっかなー」と思ってたんですが、手元のスマートウォッチPebbleからHTTP Requestを飛ばせることに最近気づいたので、Bluemixに慣れるためにもとりあえずPebbleからボタン一つでtwitterに進捗報告できるやつを作りました。 #進捗ウォッチャ

1 Node-Redを立ち上げるまで

サーバサイドのプログラミングはPython+Djangoでウェブアプリ作ったぐらいしか経験ないし、今日はなんかプログラミングしたくない気分だったのでモジュールをつなぎ合わせるだけで簡単にアプリケーションを作れる神ことNode-Redを使います。Bluemixの無料体験の始め方とかはいっぱい落ちてるんでそっちを見てもらうとして、Node-Redをスタートさせるところから貼っていきます。

IBM bluemix
Bluemixのダッシュボードにログインできたら、アプリ作成とかには目もくれずに右上カタログを開きましょう。

Node-Red
ボイラープレート群の中にあるスターター的なやつの中からNode-Red Starter Communityを選択し、適当に名前などを入力し、[作成]する。アプリが稼動状態になるまで数分ぐらい待ち,稼動状態になったら[アプリの名前].mybluemix.net的なリンクがアクティブになるので飛んでください。

node-red editor
Node-Red Flow Editorに入るためのやたら大きなボタンを押すと,ついにモジュールをつなぎ合わせるだけで自分のやりたいことが割と実現できるやつの画面に入ります。

node-red flow editor
これがあなたの夢を描くキャンバスです。


2 Node-Redを組み上げる

最終的な形だけ先に見せておくとこういう感じになりました。
node all

http

node1
Pebbleから飛んできたHTTP Requestを受け取るところ。URLとかはそれっぽい感じにしとけばいいんじゃないですかね。

json

node2
受け取ったHTTP Requestのパラメータをjsonの形で格納。

switch

node3
HTTP request上でのパラメータの指定で進捗がいいのか悪いのかを判断したいので、2個&その他に分岐させます。

function

node4
ここだけは仕方ないのでJavaScriptでメッセージを書きます。最終的にツイートしたい文言をmsg.payloadという変数に入れ込むわけであります。当然ですが「進捗いいです」「進捗ダメです」の2つモジュールを設置します。

twitter(out)

node5
いま設定したメッセージを最終的にツイートしたいので,アウトプットの方のtwitterのモジュールを選びます。
node6
右の鉛筆マークを押すともう一個ポップアップが出るので,真ん中の[Click here to authenticate with twitter]でtwitterにログインして認証させる。

node8
最後にそれぞれのスイッチからどういうシグナルが出たかを確認するデバッグ用にひとつmsg.payloadのノードを貼ってそれぞれをつなぎ合わせればOK。

deploy
画面右上のDeployでデプロイすればもう動きます。

いまアプリケーションの名前をtwitprogressにしてたとしたら編集画面はhttp://twitprogress.au-syd.mybluemix.net/red/#みたいな感じになってると思います。先ほどHTTP Requestの受け取り用のURLを/twitprogにしたので,最終的に叩くべきURLは
http://twitprogress.au-syd.mybluemix.net/twitprog
です。上のはアクセスしても走らないようにしてあるんで自分で作ってください。

スイッチで条件分岐させてるので,パラメータを指定するためには
http://twitprogress.au-syd.mybluemix.net/twitprog?c=1
http://twitprogress.au-syd.mybluemix.net/twitprog?c=2
とかみたいな感じにしとけばいいです。

今回はPebbleで叩くことで記事としてのオリジナリティをなんとか担保しようとしていますが,別にこのURLをブラウザから読み込むだけで普通に機能します。

3 Pebbleから叩く

ここからは別にPebbleユーザだけの話なんでどうでもいいんですけど,PebbleのWatchapp Smartwatch+にHTTP Requestがあるので,あとはそこに今作ったURLを登録するだけです。

IMG_1700

IMG_1702_PNG

IMG_1701_PNG_と_tmpJy8QiU_png_と_Downloads_と_投稿の編集_‹_うずまき_4th_Gen____Jun-Systems_—_WordPress

IMG_1705

で,それを押すと…

以上です。


 - Bluemix, Node-Red , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事