Node-REDで駅すぱあとノードを作ってみた #nodered
ヴァル研究所 Advent Calendar 2017 15日目の記事です。 先日、Node-REDで自作ノード『駅すぱあとノード』を追加してみましたのでその紹介をしたいと思います。
Node-RED とは
ノンコードでプログラムを構築できるGUIツールです。 Node-RED自体はオープンソースソフトウェアであり、Node.jsが動く環境であればどこでも動かせます。 最近はデスクトップアプリも登場し、ノンプログラマーへの敷居がさらに低くなりました。
これが駅すぱあとノードだ!
Node-REDは、『ノード』と呼ばれる、処理をカプセル化したものを横に繋げるだけで、アプリケーションを作成することができます。 デフォルトでいくつかノードが用意されていますが、自作して公開することができます。
そこで、駅すぱあとwebサービスに特化したノードを作ってみました!
これはどんなノードかと言いますと、Node-RED上で駅すぱあとwebサービスのAPIへのリクエストがしやすくなったよ、というものです。
今までだったら、Node-REDで駅すぱあとAPIにリクエストを送る時って、http requestノードでリクエストURL直打ちだったので、ちょっとわかりづらいなーと。
パラメータごとに入力項目を設けて指定できるようにしました!ただそれだけの機能と言っちゃそれだけなんだけど。
使い方
1. 立ち上げたNode-REDに接続
※デスクトップアプリ版のNode-REDだと、外部からノードを追加することができないっぽいのでNode.jsで立ち上げてください。
2. パレットの管理画面を表示
メニュー > パレットの管理 をクリックします。
3. 駅すぱあとノードの追加
ノードを追加 > 検索窓に「node-red-contrib-ekispert-api」を入力し、一番上に出てくるモジュールをインストールします。
4. 駅すぱあとノードを使う
これであなたのNode-RED環境に、駅すぱあとノードが追加されました! 早速使ってみましょう。
パレットの入力カテゴリからinjectノード、出力カテゴリからdebugノード、機能カテゴリからstationノードをドラッグアンドドロップでワークスペースに追加します。 injectノード - stationノード - debugノード の順にノードを繋いでいきます。
stationノードをダブルクリックして、key項目に駅すぱあとwebサービスのアクセスキーを入力します。アクセスキーはこちらから無料でお申し込みいただけます。 stationノードの入力必須項目はkeyのみなので、これだけで一応動かせます。 その他項目の詳しい説明は、駅情報APIリファレンスをご覧いただければと思います。
右上の完了ボタンをクリックして、ノードの編集画面を閉じます。 次にデプロイをクリックして、timestamp横のボタンをクリックして処理を実行します。
右のデバッグウィンドウに、駅すぱあとwebサービスのレスポンスが表示されるはずです。
終わりに
シモンさん(@simonTokyo)に、「駅すぱあとノード作るよ!」と言ってから早1年弱?やっと実現できました。 みなさんぜひ使ってみてもらえると嬉しいです。