IoTとは「Internet of Things」の略で、あらゆるモノがインターネットを介してつながることを指します。
従来は機器が単独で動いており、運転や故障などの状況は作業者が直接機器を見て確認していましたが、機器がLANに接続されインターネットに繋がるようになったことで、ユーザーは離れた位置から機器の状態を確認したり、データを分析して有効活用したりといったことが可能になってきています。
ネットワークに繋がる以前は、人が機器のスイッチを押して電源を入れたり、運転ボタンや停止ボタンを押して操作をしたりと、組み込み機器は単独で動いていました。
最初に組み込み機器に搭載されたOSは、1979年にモトローラ社が開発したOS「OS-9」。それ以降、機器同士がRC232CやRS485の規格に対応したシリアル通信で繋がるようになっていきました。
1980年代には日立から組み込み機器用CPUであるH8マイコンが登場し、組み込み機器に搭載され始めます。組み込み用CPUは、PC用CPUに比べて小電力で小容量。H8は8bit対応のマイコンですが、後に16bit用・32bit用と後継機が開発され、組み込み機器の処理スピードや対応できる情報量が拡大していきました。
家電製品や自動車はPCのように運転ボタンを押してから起動するまでの待ち時間が長いと不便なため、素早い起動が求められました。これに対応するために、処理速度の早いCPUが開発されてきたのです。
ネットワークに目を向けると、世界初のWebサイトが誕生したのは1991年、InternetExprorerの登場が1995年。ですが、この頃はまだ組み込み機器がインターネットに繋がっていなかったため、人が直接装置や計器を見て状態の把握や運転の切り替えをしていました。
2000年代になるとネットワークはシリアル通信からEthernetに置き換わり、TCP/IPを使ったローカル環境での通信が主流となります。Ethernetとは、LAN(ローカルエリアネットワーク)・WAN(広域ネットワーク)における信号のやりとりに用いられる通信規格のこと。このEthernetに組み込み機器をつなげるためのEthernet用コントローラの開発も進んでいきます。
インターネットの普及は拡大し、「同時に至るところに存在する」という意味を示すユビキタスネットワークという言葉が登場。ネットワークに繋がる機器はさまざまな場所に存在するようになり、いつでもどこでも情報にアクセスできる環境が整ってきました。
2005年、ARM社がCortexシリーズを発表。Cortex-M3は8bitCPU並みの低価格ながらも32bitプロセッサで、低い消費電力を保ちつつ高い性能と優れたシステム応答を備えたCPUでした。その後、世界中で同社のアーキテクチャを備えたCPUが製造され、日本を含む多くの国々の組み込み機器に搭載されるようになりました。
インターネットにつながる機器が増えると、IPアドレスの枯渇が懸念されるようになります。当時IPアドレスはIPv4が使用されていましたが、IPv4のアドレス総数は2の32乗個である42億9496万7296個。この最大数に到達してしまうのを回避するため、128ビットのデータ長を有するIPv6が登場します。IPv6のアドレス総数は3.4×10の38乗個であり、ほぼ無限台数の接続が可能。また、IPv6は単に割り当てるアドレスが増えるだけではなく、IPv6に対応したIPoE方式と呼ばれる回線に接続することで通信速度が速くなるというメリットがあります。
2010年後半になるとWi-FiやBluetoothなどの無線通信が導入され、インターネットを介した機器間の通信が盛んになってきました。
組み込み機器の世界では、ネットワークに接続されたモノ同士が直接的に通信を行ってデータの送受信および機器の自動制御などを行う技術である「M2M」という言葉が広まり、自動運転ができる自動車や住宅の家電の電力を自動で調整するスマートハウスといった商品が登場しました。
コンピュータの機能やデータ、ソフトウェアといったものをネットワークを通じて呼び出し遠隔から利用できる「クラウドコンピューティング」という概念は1990年代後半から存在しましたが、当時は一般社会に浸透することはありませんでした。その後、2006年に当時のGoogleCEOであったエリック・シュミットがクラウドについて発言したことでクラウドの認知が高まります。Googleは2008年に「Google Cloud Platform」を、Microsoftは2010年に「Microsoft Azure」の提供を開始し、2010年頃から日本国内でもクラウドサービスの活用が盛んになりました。
2015年後半からは、機器と機器が繋がっていたM2Mの概念に代わり、人にデータを受け渡す領域=IoTという概念が広がり始めます。IoTの概念が唱えられたのは1999年、発信者はマサチューセッツ工科大学のAutoIDセンサー共同創始者であるケビン・アシュトン氏。2012年にはドイツで国家戦略として製造業に積極的にIoTを活用する取り組み「Industry4.0」が始まり、この動きは世界に広まっていきました。
組み込み機器においてもネットワーク化が加速し、家電製品がスマートフォンと接続できるように。ネットワークに繋がるようになったことでセキュリティ強化が必要となり、機器に組み込まれるマイコンにAESなどの暗号アクセラレータが搭載されるようになります。
さらに2010年ごろから始まったと言われるビッグデータの活用にも、IoTの発達が良い影響を与えました。あらゆるモノがネットワークにつながることで、IoT機器からの膨大なデータがビッグデータとして蓄積。分析できるデータ量が多ければその分析結果の有用性も上がるため、ビッグデータがより活用されるようになります。
データ量が増えるにつれ処理技術のさらなる発達が求められるようになりますが、以下のような技術が開発されたことによってビックデータの活用は飛躍的に進んでいきました。
スマートフォンのアプリによって外出先からエアコンを起動したり、お風呂のお湯を出したりすることができるように。室内照明やコンロの切り忘れも遠隔操作で運転オフが可能になりました。洗濯機を好みの洗い方に設定できる洗濯機や、食材のストックを管理してフードロスを減らせる冷蔵庫なども発売されています。
産業向けIoTはIIoT(インダストリアルIoT)と呼ばれますが、製造業や建設・物流・エネルギー業界の中で特に製造業向けのIoTがIIoTと呼ばれる傾向にあります。
工場の機器の中には24時間常時稼働しているものがあり、定期的な検査のために機器を止めることは生産台数に影響します。IIoTであれば、機器を止めずデータをクラウドに上げて運転時間や各部品の状態を把握し、メンテナンスの提案や製品開発改善の提案が可能。万が一機器に不具合が発生したとしても、機器が発したデータから原因を突き止めたり不具合を未然に防止したりすることができるようになりました。
自動車にはコンポーネント毎に組み込み機器が搭載されており、その数は100を超える場合も。搭載された組み込み機器は、CAN通信によって各コンポーネントの相互制御を行っています。
IoT化によって、例えばエアバックが作動した際には自動的にオペレーションセンターに通報され、運転者が気絶しても消防や救急車にダイレクトに位置情報が送信できるようになりました。
作業者のヘルメットにセンサーを設置し、作業者の脈拍や活動量・温度・湿度などのデータを取得。データをクラウド上で解析して異常と認識するとメールやブザーでお知らせする、といった活用がされています。
例えばトンネル工事現場の場合、車両が接近してきた時にパトライトの点灯やブザーで注意喚起をしたり、重機や機関車が現場に入ってきた際はライト式の標識で進行方向を指示したりすることができるようになりました。
医療スタッフの慢性的な不足が課題となっている医療現場では、医療機器の無線接続によるモニタリングのニーズが増えています。
ベッドサイドモニタや心電計を無線に接続してナースステーションのセントラルモニタにモニタリングデータを送信すれば、医療従事者は患者の部屋に足を運ぶことなく患者の状況把握が可能に。データの蓄積は作業時間の短縮だけではなく、患者の病状や経過を可視化して処置のミスを防ぐことにも繋がっています。
農業の後継者が不足している中、ロボット技術やICTなどの先端技術を活用して省力化を図るスマート農業が注目を集めています。
初めて農業に参入する人は育成する作物の管理が上手くいかずにトライアンドエラーを繰り返し、収益化までに時間がかかってしまうこともありますが、IoT化によって温度や湿度・肥料の量などを管理できるようになれば、経験がない新規就農者でもベテラン生産者と同じ品質の作物を作ることができるように。また、管理する手間が省ける分、人件費を削減できたり、従業員のワークライフバランスの改善が可能となります。
工場では定期的に棚卸を実施してシステムに登録した在庫と実際の在庫が合っているかの確認をしますが、ボルトなどの小さく大量にある部品を人の手でひとつずつ数えるのは非常に時間がかかり非効率。棚やパレットなどに重量を計測するセンサーをつければリアルタイムに在庫数を把握でき、作業時間を大幅に減らせます。
インターネットに接続できるネットワークカメラは、小売店や工場などの防犯や自宅の部屋のペットを見守るといった目的で使用されています。
ネットワークに繋がることで、スマートフォンでカメラの映像を確認したりカメラの角度や倍率を変えたりすることが可能に。LANケーブルを通して電力を供給するPoEを利用すれば、LANケーブル1本だけの接続で済みます。
POS(Point of Sales)とは、販売されたすべての商品に関する売り上げの状況をリアルタイムに管理する仕組みのこと。商品の情報や在庫・お釣りの計算、決済などの機能が備わっています。 従来はPOSに対応した専用のレジやサーバーを用意する必要があり、その導入コストが経営者の重荷になっていました。IoT化によってインターネット上のシステムを活用してPOSを導入できるようになり、POS導入のハードルが低くなったのです。
自動販売機は飲料品を提供するだけの機器でしたが、クラウドとつなぐことでスマートフォンで決済ができるようになった上、売上データをPOSデータとして蓄積し、商品需要を予測することで在庫の最適化が可能となりました。また、自動販売機の故障を検知することで故障から修理までの時間を短縮でき機会損失を減らせるというメリットも。さらに、自動販売機のモニターに広告を載せる機器を搭載すれば広告費の収入源にもなります。
IoT化によってクラウドに送信するのは、組み込み機器がセンサーから読み取った情報です。そのため、目的に応じてどのようなセンサーを使うのかが重要。センサーには光や音、温度と湿度、速度や加速度を検出するものがあります。 光は人感センサーやデジタルカメラなどに使用されており、音はスマートスピーカーや高齢者の自立支援サービス、温度・湿度は自動空調や物流、速度・加速度はカメラの手振れ補正やゴルフのスイングなどの検知に使用されています。
IoTとは、組み込み技術やデータの収集、利活用、遠隔操作を包括したもののこと。組み込み技術だけでも装置を動かすことはできますが、IoT化することで状況に合わせて最適且つ自動的に機器を稼働させられるだけでなく、データの抽出や分析によって価値のある情報に変えることができるのです。
このようにメリットが大きい組み込み機器のネットワーク化ですが、ネットワークと通信するためのデバイスの追加やネットワークから受けた指令に対してタイムリーに動作させる制御の工夫など、機器単独では必要ではなかった機能が要求されるようになり、検討すべき技術領域が拡大しています。
組み込み機器として目的の動作をさせるために、どのようなセンサーを付けてどんなアクチュエータを付け、どんな制御をしないといけないのか、どんな情報をクラウドに送信するのかといった点を検討するスキルが必要です。
家電の状況を把握して遠隔操作をするにはスマートフォンのアプリを使うため、スマートフォンと機器をつなげるアプリに関するスキルが必要。スマートフォンで操作できれば機器のLCDは不要になるため機器の原価は低減しますが、アプリでどのようなGUIにするか検討できるスキルが求められます。
無線LANの規格に関するスキルのほか、ネットワークを接続する機器の増加に比例して帯域を細分化するための知識が必要になる場合があります。
ネットワークにつなげるということは、ウイルスの脅威に対応する必要があるということ。他者に見せたくないデータを流出させない技術が求められます。
組み込みエンジニアがおもに使用するプログラミング言語は、C言語・C++・C#・アセンブラ・Javaなど。組み込み機器の開発では要求仕様を検討する人や機能仕様書を書く人、コーディングをする人、デバッグをする人など、業務内容に応じて担当者が分かれる場合があります。実際にプログラムのソースコードを書かない人であっても、使用するプログラミングのソースコードが何を意味しているのかは理解できるほうがよいでしょう。
組み込み機器をネットワーク化する際は、セキュリティや機能の安全性、無線LANに関して注意する必要があります。
組み込み機器そのものに脆弱性があると、ウイルス感染のリスクが増大します。IoTの脆弱性の報告事例としては、次のようなものが挙げられています。
電気自動車で第三者が車内設備を制御できたり運転履歴を参照できたりしてしまったという事例です。専用モバイルアプリからメーカーのサービスサイトにアクセスする際に、認証のチェックがなかったのが原因。車両識別番号が容易に推測可能であったことが脆弱性に繋がってしまいました。
ジャンボジェット機の機内ネットワークに不正侵入した事例です。機内娯楽システムのイーサネットのコネクターから侵入し、管理者名とパスワードがデフォルトのままだったのが原因。対策としてネットワークのセグメンテーションを行い、ゲートウェイを設けました。
第三者が防犯カメラにアクセスできる状態だったため、空き巣などの予備調査に使用されたという事例。防犯カメラの認証情報が初期設定だったのが原因であることが分かり、初期設定を変更して対策を講じました。
前入居者が給湯器や浴室設備、床暖房の遠隔操作ができるままになっていたという事例。パスワードの変更がない限り前の入居者がログインできてしまうという状態だったため、ガスを閉栓するとIoTサービスの解約処理を自動で行えるようにしました。
IoT化によって、利用者が想定しない情報までインターネットに流出してしまうことがあります。自治体の監視カメラが不正アクセスを受け、「I'm Hacked. bye2」という本来は映像に入るはずのないメッセージが表示されていたという事例が複数報告されていますが、ハッキングされたのが個人情報などのプライバシーに関わる情報であれば、深刻な被害を与える可能性も。一度外部に漏れてしまうと取り返すことはほぼ不可能なので、情報流出に関しては十分なリスクヘッジが必要です。
マルウェア・ファミリー「Moose」は、Linuxで動作するルーターや組み込み機器に感染が可能。攻撃者は感染した機器を介してSNSへ攻撃を仕掛け、SNSで「いいね」「フォロー中」を勝手に増大させました。
添付メールを開くとウイルスに感染。カメラやルーター、家電機器がウイルスに感染し、これらのデバイスを介してサーバーやPCにDDoS攻撃を仕掛けられました。DDoS攻撃とは、複数のコンピューターから特定のウェブサイトやサーバーに過剰なアクセスやデータを送付するサイバー攻撃を指します。
防犯カメラやルーターを踏み台にし、MiraiボットネットによってDDoS攻撃を仕掛けるウイルスです。米国のDNSサービス提供会社がDDoS攻撃を受け、同社のサービスがダウンする事態となりました。MiraiのソースコードがGitHubで公表され、類似したものが進出する事件も発生。Miraiボットによってネットワークカメラに感染するなど、政府関連の事例も報告されています。
日本ネットワークセキュリティ協会は、IPAから発行されている「自動車の情報セキュリティへの取組みガイド」をベースにIoT デバイスへの脅威を以下のように定義しています。
※参照:日本ネットワークセキュリティ協会「IoTセキュリティの課題と解決策」(2017年1月23日)
https://www.jnsa.org/seminar/nsf/2017/data/NSF2017_A2.pdf
開発側がセキュリティに対して考慮すべき事項として、以下のような点が挙げられます。
また、利用者側に注意を促すべき事項は以下のような点です。
組み込み機器が満たすべき機能安全とは、センサーにより危険を検知し、制御によって安全を保つこと。セキュリティ対策と機能安全はイコールにはならないため、切り分けて考える必要があります。
1970-80年代に欧米の石油・化学プラントにおいていくつかの大事故が発生したことをきっかけに1999年に国際規格として発行された「IEC61508」には「電気・電子・プログラマブル電子安全関連系の機能安全」についての記述があり、システムの安全性の分析・検証・認証に関する基準を定めています。日本でも、同規格に準拠したJISC0508を発行しています。
IEC 61508の基本概念は「絶対安全は存在し得ない、リスクは残る」というもの。リスクの大小とリスクへの対応可能性との関係をALARP(“As Low As Reasonably Practicable”の略/リスクを“合理的に実行可能な範囲でできるだけ低くする”こと)モデルで表しています。
リスクの領域を許容できない領域・許容できる領域(ALARP 領域)・広く受容できる領域の3つに分け、さらに安全度水準(SIL: Safety Integrity Level)を設けて安全度を数値化。例えば自動車のエアバックなどは低頻度モード系に属し、ブレーキは高頻度モード系に属しています。安全度水準はこの2つの作動要求モードに対して設けられ、それぞれ4つの段階を設定。SILnのnの数字が大きいほど安全性が高くなります。
組み込み系企業は、安全の機能に対してこのような水準が割り当てられているということを認識しておく必要があります。
※参照:株式会社リベルワークス「IEC61508 電気・電子・プログラマブル電子の機能安全認証」
https://www.liberworks.co.jp/certSafe/safeSec_iec61508.html
※参照:中央労働災害防止協会「機能安全活用テキスト」(平成30年3月)
https://www.mhlw.go.jp/file/06-Seisakujouhou-11300000-Roudoukijunkyokuanzeneiseibu/0000197858.pdf
昨今ではPCやスマートフォンをはじめ、あらゆる機器に無線LANが導入されるようになりました。 Ethernetのようなケーブルで信号をやりとりせず、空気中に電波を乗せて機器やサーバーとの情報をやりとりする無線LANの特徴について説明します。
無線LANは機器とAP(アクセスポイント)が電波で繋がります。幹線に接続したAPがその存在を示すために定期的にパケットを送信しており、これをBeaconパケットといいます。BeaconにはAPの暗号設定・APの通信伝送レート設定・SSID・ESSIDなどが含まれており、Beaconが途絶えるとステーションはAPに異常な状態が発生したと判断。新たなAPを検索して接続を確立します。
Beaconは空気中を伝播しているため、同じビルにある違う会社のフロアなどの伝えたくない範囲まで電波が届く可能性も。外部のPCから接続されてしまうリスクがあるため、認証セキュリティが必要になります。
認証の方式はWEP(Shared-key)方式とWPA/WPA2方式があり、WEPはIEEE802.11で定義されたセキュリティでAPと機器で接続するときにあらかじめ共有鍵を作ります。ただし、WEPアルゴリズムは暗号学的には弱い部類に入り、クラッキングツールで簡単に鍵を類推することができるのが弱点です。
IEEE802.11のセキュリティの弱さを懸念して、業界団体Wi-Fiアライアンスが2002年に発表したのがWPA。WPAには512bitのマスターキーを事前に生成するWPA-PSKとCredential(証明書)で認証を行うWPA1Xがあり、WPAには2004年にPMKキャッシュが行えるWPA2が制定されました。PMKキャッシュとは一度認証したAPとのPMKをキャッシュしておくことで、通信が途絶えても再び接続する場合は認証作業を不要にしたものです。
電波を送受信する機器として第三者機関から受ける認証はAPと機器を接続するための認証とは異なり、製品を発売する上で規格に準拠した製品の仕様になっているかを確認するための認証となります。
無線LANの認証にはEMC/EMI認証・無線認証・Wi-Fi認証があり、EMC/EMIはノイズに関する認証のこと。無線認証は日本では「技適」といわれています。
認証を受ける機能としては、連続送信状態や連続受信状態があります。
Wi-Fi認証は必ずしも必要ではありませんが、無線LAN機器との相互接続性を強くアピールしたい場合に認証を受ける場合があります。Wi-Fi認証を取得するには、まずWi-Fiアライアンスへの加盟が必要。無線LANドライバソフトウェアに関しては通常のものを用意すればよく、無線認証とは異なり連続送信状態/連続受信状態の起動などを行う必要はありません。
無線認証を取得するためには一定の期間がかかります。北米の場合、申請書の作成と審査期間を合わせて2か月かかることも。製品出荷時には認証を取得しておく必要があるため、認証期間を考慮してソフトウェアの搭載を完了させておく必要があります。
日本の場合、無線LANモジュールが既に認証を取得していたとしても、取得したときのアンテナ仕様が異なる場合はアンテナの仕様を示した書類を提出して書類審査を受ける必要があります。
日本国内でWi-Fi認証ができる場所は限られています。予約がすぐに埋まる可能性があるため、早めの予約が肝要。予約期間を考慮してソフトウェアの開発スケジュールに余裕を持たせる必要があります。
認証を取得した段階で、製品の仕様を簡単に変えられないような構造にしなければなりません。例えば搭載する無線LANのモジュールやアンテナを変えられないようにするため、製品を簡単に解体できないよう特殊ネジを設けるなどの工夫が必要。最終的にどのような対策をするかは製品を開発し販売するメーカーの責任になるため、事前に充分検討しておく必要があります。
Centeとは、ハードウェアからミドルウェア、アプリケーションのみならず、システム開発のコンサルティングや技術サポートまで、組込み開発に必要なあらゆる技術を提供している組込み開発のブランド。組込み開発に20年以上関わってきたITbookテクノロジー株式会社が提供しており、これまでに1000プロジェクト・3000ライセンシーの実績があります。
Centeミドルウェアシリーズは、高い処理能力と品質を要求される機器やシステム開発で培ったノウハウをもとにソフトウェアモジュールとしてパッケージ化した製品群。必然的にハードウェアとの親和性を併せ持っており、多くのミドルウェアの中で唯一、純正のハードウェアプラットホームをベースに開発されたミドルウェアとなっています。ミドルウェアを有効に動作させるためのCPU基板は自ら開発。Centeミドルウェアや周辺のアプリケーションソフトウェアが滞りなく動作するよう、充分な動作環境を整えています。
ロイヤリティ不要なため低予算で導入でき、プライスをすべて開示しているため予算組みがしやすいのもメリット。すべてソースコードで提供するためブラックボックスが無く、万が一問題があった際も柔軟に対応することができます。
契約には無償サポート期間が半年間付属しており、Centeミドルウェアについてはパッケージ開発陣が直接サポート。その後もライセンス価格の20%にて1年の契約延長が可能となっています。
Centeミドルウェアの契約条件は開発場所とCPUコアの範囲を特定していますが、ユーザーの希望条件に応じてCPUの許諾条件を外したり、開発場所の範囲を広くしたりすることが可能。また、OSはμITRONを対象としていますが、OSの差分を吸収するためにctkernelというモジュールを提供しています。これを組み込むことでOSの違いによるミドルウェア本体へのカスタムは必要がなくなり、バージョンアップ作業などをストレス無く行うことができます。
Centeの組込みネットワークシリーズは、以下のような業界・機器でご活用いただいています。
Centeの組込みネットワークシリーズ全23種類をご紹介します。
※価格はすべて税抜
まずは評価をして検討したい、という方のために、PoCライセンスを1ヶ月2万円/1ライセンス(最低3ヶ月〜) からご利用いただけるプランをご用意しております。ライセンス期間中でも通常の契約と同等のサポートが 受けられますので、安心してお試しいただけます。
PoCライセンスの詳細はこちらをご覧ください。
製品の詳細については、遠慮なくお問い合わせください。