AzureとIoT (1) - Azure IoT Hubと出会い

# プロローグ
エンドユーザーの視点で、Azureテクノロジーを生かしたIoTについて入門から説明したいと思います。技術ベースの説明ではなく一般的なシナリオベースでどのようにIoTを活用してわたしたちの生活を役に立てるようにするか、それを実現するためにAzureテクノロジーをどのように使えばよいかにフォーカスします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287622/a000e67a-54a6-1beb-e150-c58fa4a0707b.png)

# もののつながり
情報を収集することを目的に、センサーというものがあります。速度センサー、温度センサーのようなものを示します。他方、情報(信号)にもとづいて動作を行うことを目的にしたアクチュエータというものがあります。モーター、ブザーのようなものを示します。センサーとアクチュエータを、インターネットを介して物理的な世界に接続することを「IoT、モノのインターネット」と呼ばれるようになりました。（細かい歴史は除きます。）IoTは一つのテクノロジーを示している言葉ではありません。いろんな場面で使われています。

インターネットに介して世界に接続するとは、パブリッククラウドコンピューティングを提供しているサービスに接続することを示します。多くの会社がたくさんのサービスを提供していて、そのうちの一つがMicrosoftの[Azureクラウド](https://azure.microsoft.com/)です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287622/7b5ecd9e-91ad-3aa4-5bbb-0cc014e88a6a.png)

# 意外と高い壁

とりかかりで、Azureクラウドへ手持ちのセンサーやアクチュエータをつなげようとしますが、私は導入順番がおかしいと思います。IoTは単なる技法ではなく、新たな機会を生み出すイノベーションではないのでしょうか？
色んな意味で誤解を及ぼすかもしれませんが、先にクラウドコンピューティング環境を備えてからIoTに取り組むのが望ましいです。
IoTのためにAzureクラウドを契約して使い始めても、ほとんどの場合、メリットを見いだせずコストに見合いません。私が考えている望ましい順番は、クラウドコンピューティングがなぜ必要なのかを認識し、クラウドコンピューティングシステムを構築し、そこにセンサーやアクチュエータをつなげて双方通信するといった順です。必要性にもっとフォーカスして取り組むべきです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287622/f1cbc60a-179c-a8d6-dcd4-b706d881ba45.png)

# デバイスの考え方

自力でセンサーやアクチュエータの部品を組み合わせてAzureクラウドに接続することは簡単ではありません。電子回路の素養がない限り、Azureクラウドへ接続できる既存のIoTデバイスを使ったほうが良いです。
IoTデバイスを選ぶ際に、処理能力の判断が重要です。処理能力に応じて価格、電気代、スピードが変わります。一般的に、マイクロコントローラーのようなデバイスを”IoTデバイス”、シングルボードコンピューターのようなデバイスを”IoTエッジデバイス”と呼びます。マイクロコントローラーは種類が多くて代表的なものも多いですが、Azureクラウドへ接続しやすいものとして[Seeed社のWio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html)があります。一方、シングルボードコンピューターの代表的なデバイスは、イギリスのラズベリーパイ財団によって開発されている[Raspberry Pi](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)です。なお、IoTエッジデバイスはIoTデバイスとして使うこともできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287622/fec38093-e5a7-c849-ecc4-8721fb5880bc.png)


# エッジってなに？

IoTエッジデバイスでのエッジですが、IT屋さんと電子屋さんでエッジの定義が変わることがあります。
IT屋さんはゲートウェイをエッジといいますが、電子屋さんはセンサーノードをエッジと言っていることが多いです。クラウド、オンプレミス、エッジのポジションでデータを処理する場所につける名称であることに捉えて頂ければと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287622/bdfa0634-f781-cacd-74fc-479f1ae41a56.png)


# ますます高い壁

IoTエッジデバイスとは、IoT技術を活用してローカル（オンプレミス側）で処理できるようにしたデバイスです。エッジ処理を生かすためには、クラウドコンピューティングシステムとIoT環境の双方が整っている必要があると考えてます。この内容を理解してなければ導入失敗になる可能性が高くなると思います。
”エッジコンピューティングなんて要らない！”。いいえ、まだ早いです。たとえば、AIモデルをエッジで推論することで、リアルタイム性を確保することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287622/408339c6-bed4-b461-19e1-ffaeabb9fa71.png)

# 大丈夫、IoTは私に任せて！
これからエッジコンピューティングシステムを構築するなら、Azureクラウドの「[Azure IoT Hub](https://azure.microsoft.com/ja-jp/services/iot-hub)」サービスは必須です。このサービスはIoTの起点となるAzureのIoTサービスです。IoTデバイスはもちろん、IoTエッジデバイスに対して様々なシナリオを実現できるサービスを提供しています。もの足りないことはないです。
Azure IoT Hubサービスを使えば、世界の各地においてあるモノの情報を、安全にクラウドに送信、受信、さらに管理することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287622/026ffca2-89dc-43cb-3836-30a0b2f35e2d.png)


:::note info
この記事はエッジコンピューティングとクラウドコンピューティング環境を備えて皆さんにかかわっている環境でイノベーションができるようなヒントになる記事になることを願ってます。
:::

---

次の記事はこちらです。

https://qiita.com/motoJinC25/items/f81efc0be4f2998a05da