まゆたまガジェット開発逆引き辞典

電子工作やプログラミングのHowtoを逆引き形式で掲載しています。作りたいモノを決めて学んでいくスタイル。プログラマではないので、コードの汚さはお許しを。参照していないものに関しては、コピペ改変まったく問いません

マイナスから始める機械学習入門3 Node-REDで遊ぶ

Node-REDとは?

Node-REDとは、IBMが提供している、ブロックを繋ぐことでコードをあまり書かずにプログラミングができるものです。
Bluemixの機能の一部ですね。node.jsで動いているそうです。コードを書く場合はJavaScriptで記述します。

注意点として、

  • 右に線が伸びているブロックは「イベントの起動」イベントが起こる条件を満たしたときに、その情報を接続先に送ります
  • 左右に線が伸びているブロックは「データの処理」左からデータを受け取ったら、変換や条件分岐などの処理をして、その結果を右に送ります
  • 左に線が伸びているプロックは「イベントの終了」左からデータを受け取って終了する


ではまた、Node-REDで「Hello world」を表示していきましょう。

Node-REDでHello world

Node-REDのセットアップ

  1. Bluemixにログインし、「カタログ」をクリック
  2. ボイラープレートから、「Node-RED Starter」をクリック
  3. アプリ名を英語で入力して(他ユーザと同じ名前は使えない・ホストはアプリ名と同じものが自動的に入力される)、「作成」を押す
  4. 「アプリは起動しています」の表示が出たら、隣のリンクをクリックする(かなり待ちます)
  5. 「Go to your Node-RED〜」と書かれたボタンをクリックする。Node-REDが起動

Node-REDでコードを書く

  1. 左側のブロックが並んでいる中から「Input」→「http」を選択し、右側のウィンドウにドラッグ&ドロップする
  2. 「http」と書かれた黄緑のブロックをダブルクリックして、URLに「/hello」と入力
  3. 左側のブロックが並んでいる中から「function」→「template」を選択し、右側のウィンドウにドラッグ&ドロップする
  4. 「{」と表示されているオレンジのブロックをダブルクリックして、「Template」のところに書かれているテキストを消す。そして好きなテキストを入力する(Hello worldなど)
  5. 左側のブロックが並んでいる中から「Output」→「http response」を選択し、右側のウィンドウにドラッグ&ドロップする
  6. 3つのブロックを繋ぐ。繋ぐときはそれぞれ左右にある■をクリックしていけばOK
  7. 「Deploy」ボタンを押して、「Successfully Deployed」の表示が出ればOK
  8. Node-REDのエディタ(今操作している画面)のURLをコピーし、別タブorウィンドウにペーストする
  9. 「http://アプリ名.au-syd(ここ違うかも).mybluemix.net/red/#」となっている部分の「/red/#」を「/hello」にする
  10. エンターキーを押せば、Webブラウザに「Hello world」の文字が表示される

特定の文字列ではなく、入力された文字列を表示したい場合は「function」→「function」でJavaSctiptのコードを書きます。
また「Input」→「http」ではなく「Input」→「inject」などブロックの左側に■がある場合は、右上の「debug」タブを選択して■をクリックすると実行されます。

次はNode-REDとBluemixの連携とNode-REDとWatsonの連携してみましょうか。