hi, hikaru

『駅すぱあと』でお馴染みヴァル研究所で、テクニカルエバンジェリストとして働いている丸山が綴るブログです。

Node-REDで駅すぱあとノードを作ってみた #nodered

ヴァル研究所 Advent Calendar 2017 15日目の記事です。 先日、Node-REDで自作ノード『駅すぱあとノード』を追加してみましたのでその紹介をしたいと思います。

f:id:hiiiiiiihikaru:20171213152540p:plain

Node-RED とは

ノンコードでプログラムを構築できるGUIツールです。 Node-RED自体はオープンソースソフトウェアであり、Node.jsが動く環境であればどこでも動かせます。 最近はデスクトップアプリも登場し、ノンプログラマーへの敷居がさらに低くなりました。

Node-RED日本ユーザ会

これが駅すぱあとノードだ!

Node-REDは、『ノード』と呼ばれる、処理をカプセル化したものを横に繋げるだけで、アプリケーションを作成することができます。 デフォルトでいくつかノードが用意されていますが、自作して公開することができます。

そこで、駅すぱあとwebサービスに特化したノードを作ってみました!

flows.nodered.org

これはどんなノードかと言いますと、Node-RED上で駅すぱあとwebサービスのAPIへのリクエストがしやすくなったよ、というものです。

今までだったら、Node-REDで駅すぱあとAPIにリクエストを送る時って、http requestノードでリクエストURL直打ちだったので、ちょっとわかりづらいなーと。

f:id:hiiiiiiihikaru:20171214121013p:plain

パラメータごとに入力項目を設けて指定できるようにしました!ただそれだけの機能と言っちゃそれだけなんだけど。

f:id:hiiiiiiihikaru:20171214113713p:plain

使い方

1. 立ち上げたNode-REDに接続

f:id:hiiiiiiihikaru:20171214105331p:plain

※デスクトップアプリ版のNode-REDだと、外部からノードを追加することができないっぽいのでNode.jsで立ち上げてください。

2. パレットの管理画面を表示

メニュー > パレットの管理 をクリックします。

f:id:hiiiiiiihikaru:20171214105343p:plain

3. 駅すぱあとノードの追加

ノードを追加 > 検索窓に「node-red-contrib-ekispert-api」を入力し、一番上に出てくるモジュールをインストールします。

f:id:hiiiiiiihikaru:20171214105558p:plain

4. 駅すぱあとノードを使う

これであなたのNode-RED環境に、駅すぱあとノードが追加されました! 早速使ってみましょう。

パレットの入力カテゴリからinjectノード、出力カテゴリからdebugノード、機能カテゴリからstationノードをドラッグアンドドロップワークスペースに追加します。 injectノード - stationノード - debugノード の順にノードを繋いでいきます。

f:id:hiiiiiiihikaru:20171214113914p:plain

stationノードをダブルクリックして、key項目に駅すぱあとwebサービスのアクセスキーを入力します。アクセスキーはこちらから無料でお申し込みいただけます。 stationノードの入力必須項目はkeyのみなので、これだけで一応動かせます。 その他項目の詳しい説明は、駅情報APIリファレンスをご覧いただければと思います。

f:id:hiiiiiiihikaru:20171214113713p:plain

右上の完了ボタンをクリックして、ノードの編集画面を閉じます。 次にデプロイをクリックして、timestamp横のボタンをクリックして処理を実行します。

右のデバッグウィンドウに、駅すぱあとwebサービスのレスポンスが表示されるはずです。

f:id:hiiiiiiihikaru:20171214121252p:plain

終わりに

シモンさん(@simonTokyo)に、「駅すぱあとノード作るよ!」と言ってから早1年弱?やっと実現できました。 みなさんぜひ使ってみてもらえると嬉しいです。