IoT開発の流れとIoTシステムの基本構成

  • 2020/12/21
  • 2020/12/21
  • IoT

IoTという言葉が一般的になってきた昨今、「IoT開発に興味がある」「IoT開発の流れを知りたい」と考える方も多いのではないかと思います。
そこで今回、様々なIoT機器、IoTサービスの開発を行ってきたASTINAで得られた豊富なIoT知見、実装経験をベースに、これからIoT機器、IoTシステム開発を検討している企業様向けに「IoT機器、IoTシステム開発の流れと基本構成」について、ノウハウをわかりやすくまとめました。

IoTとは

IoTとは、Internet of Thingsの略で、直訳すると、「モノのインターネット」です。すべてのモノがインターネットにつながる事で、今まで取得できていなかったデータが取得可能になります。

IoT開発には基本構成と開発ポイントの理解が大事

ここからは、IoTの構成要素をお伝えしていきます。IoTは、エッジデバイス・クラウド・アプリケーションの三要素が主な基本構成です。

・エッジデバイス

エッジデバイスとは、広義ではインターネットに接続された製品全てのことを指します。特にIoTシステム内でのセンサなどを搭載した製品は、システムの末端に位置するため、エッジデバイスと呼ばれます。
エッジデバイスは今や一般的に普及していて、その代表格はスマホです。スマホは実は加速度やGPS、カメラなどの各種センサが多数搭載されています。工事現場などで作業員が保持するビーコン(発信機)などもエッジデバイスといえるでしょう。
エッジデバイスの開発には、電子回路の知識と組み込み系やWeb系のプログラミング知識が不可欠です。エッジデバイスは屋外で使用されることが多いため、開発の際には防水や通信の問題などが発生する可能性があるので注意が必要です。
現在では、簡単にエッジデバイスを開発できるキットも多数販売されているため、うまく利用すれば実証実験までの期間を短縮できます。

・クラウド

クラウド設置の目的は、主にエッジデバイスで収集したデータの集約です。解析用のプログラムも、ほとんどの場合クラウド上で動かします。
従来では、自社の事業所やデータセンタなどに物理的にサーバーを準備した「オンプレミス」と呼ばれる形態が一般的でしたが、最近はネットワークの発展により手軽に利用可能なクラウドサービスが急速に普及しています。コストも物理的にサーバーを導入するよりも抑えられることがほとんどです。
クラウド開発では自社の情報セキュリティポリシーへの準拠状況や、従量課金制のため費用に関する問題が発生しやすいため、多角的に設計する必要があります。

・アプリケーション

アプリケーションは、主にエッジデバイスで取得したデータの処理や、処理したデータを可視化するために使われます。主にWebアプリやスマホアプリを想定しています。PCやスマートフォンからアクセスできることで、ユーザーの利便性も高まるはずです。
アプリケーションの構築には、プログラミングの知識はもちろん、クラウドとアプリケーション、エッジデバイス間の通信の知識も必要になります。
近年よく話題に挙がるIoTとAIの連携では、AI処理モデルを構築して学習させるためにAIの専門知識が必要ですが、最近では手軽にAIを利用できるAPIを提供するサービスも各社から出てきています。
スマホやWebブラウザのバージョンによるアプリケーションの不具合や、使用しにくい操作画面などのUIの問題、クラウドとの通信・表示の問題などが開発の過程でよく発生するため、こちらについても注意が必要です。

IoTシステムの開発の流れ

IoTシステムの基本構成が確認できたら、次はIoTシステム全体の開発の流れをみていきましょう。IoTシステムの開発は、一般的に要件定義、設計、開発、検査、納品の流れで進みます。

・設計/開発

まずは、どのようなIoTシステムが欲しいかについて要件を洗い出していきます。特にエッジデバイスについては、試作の要件定義と量産の要件定義が存在します。また近年、IoTのセキュリティがよく話題に挙がりますので、スニッフィング※1を中心に情報漏洩に関する対策を要件に盛り込んでおきましょう。

IoTシステムの開発を外注する場合は、要件の漏れが無いようにRFP(提案依頼書)を作成しておくと対応がスムーズとなります。ASTINAではコンサルティングも行っているため、要件が固まっていないところからまとめていくことも可能です。

その後は要件に基づいて、設計、開発、検査、納品のフェーズで実施する内容と役割分担を詳細に決めていきます。また要件定義の段階で、要件の実現性をテスト機などである程度確認する事で、より漏れなく完成度を高めることができると考えます。

※1 スニッフィングとはネットワークを流れるデータを捕らえ、内容を解析して盗み見ることです。

・検査

実際にシステムの個々の機能が動作するかの検査や、各エッジデバイスが予期した動作をするかの検査をここで実施し、問題なければ各基本構成の要素間の連携テストを実施していきます。エッジデバイスが試作段階の場合は、検査の結果が問題なければ量産設計に移ります。
連携テストも問題がなければ、次は実際に現場へIoTシステムを搬入し、運用テストの実施です。

ASTINAで実際に実装したIoT開発事例をみていきましょう。

ASTINAでのIoT開発事例

toC向け小型センサ・IoTクラウドシステムの開発

業務実績_加速度デバイス

加速度センサ搭載デバイスとゲートウェイ機器2点の試作・量産を行い、100msごとの加速度データをお客様管理サーバーに送信するシステムを開発しました。
デバイスのサイズは、1円玉2枚分以下まで小型化し、ゲートウェイは開発スピードを優先するため、RaspberryPi※2を採用しています。
お客様側でプロトタイプの製作はできていたものの、改良や量産を見据えると社内のノウハウでは解決できない課題があったため、ASTINAへご依頼をいただきました。

※2 RaspberryPiとはシングルボードコンピュータと呼ばれる小さなハードウェアです。

屋外用環境ロガーの開発

屋外用環境ロガーイメージ

屋外に設置してセンサ値の時間変化を測定できるデバイスの試作を行いました。気温・湿度・照度センサの3つのセンサを搭載し、数分間隔で測定したデータをBLE通信でスマホに転送します。お客様は、このデバイスを屋外作業現場に設置して、熱中症の予防対策などへ活用することを予定していました。
屋外での使用要件があったため、防水・防塵設計を施し、雨の日でも片付けが不要で長期的な測定ができるようにしてあります。また、液晶画面を搭載することでスマホが無くてもデータを確認可能です。
その他にも、乾電池での駆動や省電力設計、無線通信など、ASTINAの多くのノウハウを反映させて、品質の向上を図りました。

上記2つの事例の詳細は、下記リンクをご参照ください。
開発実績│Blog | 株式会社ASTINA

IoT開発ならぜひ一度ASTINAへご相談を!

IoTは、エッジデバイス・クラウド・アプリケーションの三要素が主な構成です。IoTシステムの開発は、要件定義、設計、開発、検査、納品の流れで複数の企業が関わって進行していきますが、ノウハウ不足などでマネジメントが非常に困難になるケースが多いと思います。
ASTINAでは、これらの開発をワンストップで実施できるため、お客様側での煩雑なマネジメントや開発作業は必要ありません。加えて、原理試作(PoC)~量産(MP)までの流れに関わるコンサルティングも実施対応しております。
IoTシステムの開発でお困りの場合は、お気軽にご相談ください。

株式会社ASTINA(アスティナ)は、ハード/ソフトウェアの設計・開発および受託開発企業です。
カバー範囲の広さと圧倒的設計スピードでお客様の「作りたい」に応えます。

製品開発で困ったことがあればまずはご相談ください