組み込み機器のネットワーク化とトレンド

#はじめに
　わたしたちは、ほぼ毎日インターネットを主とした、ネットワークを利用しています。現在、組み込みシステムで開発される多くの機器も、ネットワークにつながるものが増えています。この記事では、組み込み機器でのネットワーク化の歴史と技術トレンドの変化についてご紹介をいたします。次の表は過去30年間のトレンドをざっとまとめたものです。これを古い順に解説していきます。

![network_trend_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/48bba259-8de8-217e-d392-a25cfb47928e.png)


#1. シリアルからEthernetへ（1990年代後半から）
　この頃、組み込み機器でのネットワークは、主にRS232CやRS485などのシリアル通信が主流でした。1990年代中頃から、今まで大型コンピューターで使われていたEthernetとTCP/IPによるネットワーク(以降は単にネットワークといいます)が、Windows95の登場によってパーソナルコンピュータ(PC)の世界でも普及がはじまります。

※組み込みシステムの世界ではPC分野の技術が3年～5年遅れて採用される傾向があります。
　この当時、組み込み機器で使用するCPUはルネサスのSuperHが主流でしたが、ネットワーク対応するためには、Ethernetのコントローラが別に必要でした。ソフトウェアも海外製のミドルウェアしかなく、開発も手間がかかるため、現在と比べるとハード、ソフト共にかなりコスト高でした。

![network_t_2-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/79a0bef3-d62d-4aa5-3cd7-b6b70ed64d1b.png)


#2．ARMマイコンの登場（2000年ごろから）
　2000年代になると、組み込み機器でも少しずつネットワーク化が始まります。この頃はRS232Cなどのシリアル通信からEthernetへの置き換えによって、TCP/IPを使ったローカル環境での機器間での通信が主流でした。この頃からインターネットが急激に普及し、ユビキタス・コンピューティングという言葉が登場します。

ユビキタス・コンピューティング
広義では、さまざまな機器をインターネットを介して相互に接続するという意味です。
　IoTの先駆けですね。同じ頃に、さまざまな機器がインターネットに繋がるようになると「IPアドレスが枯渇するのではないか？」という問題が起こり、IPv6というIPv4の拡張仕様が登場します。しかし現在、IPv6は組み込み機器ではルーターなどの一部のネットワーク機器を除いてあまり実装されていないのが現状です。2007年以降になるとSTM32などARMの汎用マイコンが登場します。ARMは今まで携帯電話、ゲームや携帯端末などが主流でしたが、組み込み機器にも参入していきます。マイコンも16bitから32bitマイコンが主流となり、様々な半導体ベンダーがARMアーキテクチャーを使ったCPUをリリースしはじめます。

![network_t_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/ea39371b-cbd2-8b26-ce5b-4f3476a54092.png)


#３．M2MからIoTへ（2010年ごろから）
　2010年代になると、M2M(Machine to Machine)などの言葉が登場し、インターネットを介した機器間の通信が盛んになります。そうして、ネットワーク関連のチップコストが下がっていき、今まで外付けだったEthernetコントローラがマイコンに内蔵されていきます。iPhoneの影響でWi-FiやBluetoothなど無線通信のハードウェアコストが下がり、組み込みシステムへの無線通信の導入が始まります。CPUに目を向けると、当時は様々な半導体ベンダーがARMアーキテクチャーのプロセッサやマイコンをリリースしていましたが、その流れは徐々に後退していき。半導体ベンダーの統合が加速していきます。

![network_trend_4_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/6dc7c4a1-ec66-9daf-ca1b-b170736556d8.png)


#４．組み込み機器でのセキュリティ（2015年ごろから）
　その後、M2MはIoT(Internet of Things)へと変化し、さまざまなデバイスがインターネットを介して接続できるようになりました。こうして組み込み機器のネットワーク化が加速していき、掃除機や洗濯機などの白物家電などもスマートフォンやクラウドへ接続できる商品が続々登場します。さまざまなデバイスがつながると、セキュリティが課題になっていきます。組み込み機器は従来、スタンドアロン(非ネットワーク接続)が主流でしたので、セキュリティはあまり気にする必要がありませんでしたが、インターネットなどのパブリックなネットワークに接続することで、攻撃や情報漏洩のリスクが生じ、組み込みシステムでもセキュリティ機能が必要になってきます。この結果、マイコンにもAESなどの暗号アクセラレータが搭載されるようになりました。

![network_t_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/1079f0b9-7948-fb75-236a-8bb426cbc361.png)


#５．LPWAとエッジ・コンピューティング（現在）
　前述した通り、今まではIT系(人が使うコンピューターという意味で)のテクノロジーが数年後に組み込み機器へ広がっていく傾向がありましたが、最近はそれだけではなくIoT分野において独自にテクノロジーが進化する傾向がみえます。例えば通信の分野では、LPWA(Low Power Wide Area)やBluetooth MeshといったIoTに特化した通信方式が挙げられます。LPWAは中長距離・低消費電力、の無線通信技術でIoT向けに小さなデータをやり取りします。Bluetooth MeshはBluetoothの規格の一つで、短距離通信のBluetoothを使って、たくさんのデバイスを網目(Mesh)のように配置してバケツリレー方式で距離を伸ばしていく技術です。また、回線を介して様々な処理をクラウド(サーバー)側で行っていたことを、通信を介さずに末端のデバイス側で処理させるエッジ・コンピューティングという技術も増えています。これによってサーバーの負荷や通信のコストを低減し、リアルタイム性も確保することができます。

![network_trend_6-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/7452a9d7-5c39-2229-6faf-4273c1a56823.png)


#現在でも主流はTCP/IP
　現在でも、コンピューター・ネットワークで利用されるプロトコルの主流はTCP/IPです。TCP/IPはインターネットを利用するために必要不可欠な基本プロトコルです。PCはもちろん、スマートフォンをはじめ様々な機器で利用されます。TCP/IPをコアに様々なアプリケーションプロトコルが追加されています。例えば、Webブラウザでは主にHTTPを、メールではIMAP、セキュリティはSSL/TLS、IoTではMQTTが利用されます。また、ネットワークの一番下層部（物理層と言われる部分）はEthernet、Wi-Fiなどがあります。

![network_trend_7_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/afae4c59-df0f-a425-69db-15cb9bfdec83.png)


#ネットワーク接続によるコストダウンという考え方
　スタンドアロンで動作している機器をネットワークや無線化することで、機器の製品コストを抑える効果があります。例えば画面操作です。従来LCDのタッチパネルを使っていたものをBLEやWi-Fiモジュールを追加し、スマートフォンやタブレットで行う方法です。LCDのタッチパネルはそれなりにコストがかさみます。専用のスマートフォンを用意すればLCDより高価になりますが、利用者のスマートフォンを代用することでLCDが不要になります。また、ストレージもクラウドを利用することで、HDDやSDなど比較的コストの高いストレージが不要になります。ただし、クラウドのランニングコストがかかるので、データ容量や頻度などを検討する必要があります。

![network_trend_8_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1839199/0666ce92-6d5f-230f-1577-2c1a7a97eac2.png)