Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

IoTアプリ開発をノンコーディングで! Node-REDはこう活用しよう【デブサミ2019】

【15-E-5】Less Code & Have Fun! IoTアプリ開発をはじめる際のポイント

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/03/25 12:00

 身の回りにIoT機器が増えてきている昨今、エンジニアからすれば、IoTアプリ開発の機会や必要性が高まっていることになる。では、IoT開発の経験が少なくても開発を楽しむにはどうすればいいのか? ウフルの山崎亘氏がポイントを紹介した。

目次
株式会社ウフル enebularプロダクト マーケティング 山崎亘氏
株式会社ウフル enebularプロダクト マーケティング 山崎亘氏

IoTアプリ開発に立ちふさがる壁

 IoTアプリをざっくりととらえると「デバイスからデータを取得して処理するもの」と言える。ここには「デバイス」「データを取得」「処理」という3つの側面がある。「デバイス」は組み込み開発であり、「データ取得」はArduinoのような入出力ポートを備えた基板とプログラミング、「処理」にはクラウドが絡む。つまり、複数のテクノロジーを統合的に扱う必要があるということだ。

 IoTアプリと、そうでないアプリの開発で大きく異なる点として、山崎氏は「データを取得するセンサーはネット上ではなく、リアルワールドにあります」と指摘。リアルワールドにあるということは多くの選択肢と不確定要素が存在するということであり、試行錯誤が必要となる。

 例えば、センサーからデータを取得する際にも、まずセンサーを設置する位置はどこが最適か、あるいは距離を測る場合でもセンサー自体、赤外線がいいのか超音波がいいのか、さらに、データ取得の間隔はどの程度が適当なのか、何度も試してみないとわからない。現場の状況によって最適解が異なるのが実情だ。

 一方、開発サイクルの観点では、データの収集から始まり、処理、蓄積、可視化、分析、検討のサイクルを回していくことになる。近年はDevOpsが主流のため、開発(計画、創出、検証、パッケージ化)と運用(リリース、構成管理、監視)の間を行き交うことになる。

 こうした現状を踏まえ、山崎氏は「IoTアプリ開発では複数のテクノロジーを簡単に扱えて、開発と運用を行ったり来たりできてPDCAサイクルを素早く回せることが重要です」とポイントを語る。

 そして、「SHARE MY FUN(私の楽しさを共有します)」ということで「Node-RED」を紹介した。Node-REDはフローベースのビジュアルプログラミングツールで、Webブラウザからフローを編集できる。ハードウェアデバイスやAPI、クラウドサービスなどを線で結んでいくため、IoTアプリ開発に使える。もともとはIBMが開発したものだが、JS Foundationに寄贈されたため、今はOSSとなっている。

ノードをワイヤーでつなぎ、処理のフローを作成できる「Node-RED」
ノードをワイヤーでつなぎ、処理のフローを作成できる「Node-RED」

 Node-REDを使用するには、ローカルにインストールする方法と、アカウントを登録してクラウドサービスで使用する方法の2通りがある。前者はNode.js上に構築する。後者だと、現時点では「IBM Cloud」「アマゾン ウェブ サービス(AWS)」「Microsoft Azure」それから「enebular」が選べる。山崎氏のオススメはもちろんウフルが提供するenebular。Node-REDを拡張して、IoTの製品やサービス作りを包括的に支援するオーケストレーションサービスだ。

 山崎氏はenebularが一番簡単にアカウント登録できるとし、その流れを披露した。まずは「enebular.com」にアクセスして「新規登録」をクリック。続いて入力フォームに氏名、メールアドレス、パスワードを入力し、プライバシーポリシーなどを確認して「sign up」ボタンをクリック。あとは届いたメールで確認を済ませれば登録完了となる。確認が済んだら「Go to Dashboard」で利用開始だ。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2019】セッションレポート

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5