IoTアプリ開発をノンコーディングで! Node-REDはこう活用しよう【デブサミ2019】
【15-E-5】Less Code & Have Fun! IoTアプリ開発をはじめる際のポイント
身の回りにIoT機器が増えてきている昨今、エンジニアからすれば、IoTアプリ開発の機会や必要性が高まっていることになる。では、IoT開発の経験が少なくても開発を楽しむにはどうすればいいのか? ウフルの山崎亘氏がポイントを紹介した。
IoTアプリ開発に立ちふさがる壁
IoTアプリをざっくりととらえると「デバイスからデータを取得して処理するもの」と言える。ここには「デバイス」「データを取得」「処理」という3つの側面がある。「デバイス」は組み込み開発であり、「データ取得」はArduinoのような入出力ポートを備えた基板とプログラミング、「処理」にはクラウドが絡む。つまり、複数のテクノロジーを統合的に扱う必要があるということだ。
IoTアプリと、そうでないアプリの開発で大きく異なる点として、山崎氏は「データを取得するセンサーはネット上ではなく、リアルワールドにあります」と指摘。リアルワールドにあるということは多くの選択肢と不確定要素が存在するということであり、試行錯誤が必要となる。
例えば、センサーからデータを取得する際にも、まずセンサーを設置する位置はどこが最適か、あるいは距離を測る場合でもセンサー自体、赤外線がいいのか超音波がいいのか、さらに、データ取得の間隔はどの程度が適当なのか、何度も試してみないとわからない。現場の状況によって最適解が異なるのが実情だ。
一方、開発サイクルの観点では、データの収集から始まり、処理、蓄積、可視化、分析、検討のサイクルを回していくことになる。近年はDevOpsが主流のため、開発(計画、創出、検証、パッケージ化)と運用(リリース、構成管理、監視)の間を行き交うことになる。
こうした現状を踏まえ、山崎氏は「IoTアプリ開発では複数のテクノロジーを簡単に扱えて、開発と運用を行ったり来たりできてPDCAサイクルを素早く回せることが重要です」とポイントを語る。
そして、「SHARE MY FUN(私の楽しさを共有します)」ということで「Node-RED」を紹介した。Node-REDはフローベースのビジュアルプログラミングツールで、Webブラウザからフローを編集できる。ハードウェアデバイスやAPI、クラウドサービスなどを線で結んでいくため、IoTアプリ開発に使える。もともとはIBMが開発したものだが、JS Foundationに寄贈されたため、今はOSSとなっている。
Node-REDを使用するには、ローカルにインストールする方法と、アカウントを登録してクラウドサービスで使用する方法の2通りがある。前者はNode.js上に構築する。後者だと、現時点では「IBM Cloud」「アマゾン ウェブ サービス(AWS)」「Microsoft Azure」それから「enebular」が選べる。山崎氏のオススメはもちろんウフルが提供するenebular。Node-REDを拡張して、IoTの製品やサービス作りを包括的に支援するオーケストレーションサービスだ。
山崎氏はenebularが一番簡単にアカウント登録できるとし、その流れを披露した。まずは「enebular.com」にアクセスして「新規登録」をクリック。続いて入力フォームに氏名、メールアドレス、パスワードを入力し、プライバシーポリシーなどを確認して「sign up」ボタンをクリック。あとは届いたメールで確認を済ませれば登録完了となる。確認が済んだら「Go to Dashboard」で利用開始だ。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
