プロトコル - Adafruit IoTエピソード2

プロトコルは、機械がインターネットと会話するための共有言語でありルールセットです。A点からB点までのデータを取得します。

HTTP - Hyper Text Transfer Protocol
ステートレスなので、データ転送ごとにコネクションが必要です。読み出しと書き込みに1回ずつ必要です。大量のデータを処理することができますが、軽量でも高速でもありません。1クライアント、1サーバ、1リクエストずつです。

REST - Representational State Transfer
Restには4つのコマンドがあります。データを要求するget、データを送信するput、データを作成するpost、そしてデータを削除するdeleteの4つです。URL(Universal Resource Locations)を使用し、「/」で区切られます。

XML - Extensible Markup Language
データの保存と転送に使用されます。複雑で堅牢なため、通常は使用されません。

JSON - Java Script Object Notation
最も一般的に使われているプロトコルの1つです。軽量で、人間や機械が読むことができ、どんなプログラミング言語でも使うことができます。

MQTT - Message Queue Telemetry Transport
パブリッシュ&サブスクライブ型のメッセージングプロトコルです。ネットワーク帯域幅を最小限に抑えながら、信頼性と配信の確実性を確保します。使い方が簡単で軽量です。

CoAP - Constrained Application Protocol
restに似ていますが、より小さくなっています。いつでもデータの送受信が可能で、WebアプリとIoTデバイスの間のデータ転送に使用されます。

Brokers and Clients
ブローカーは信頼できるものです。データの輸送が途絶えても、常に利用可能です。ブローカーは1つだけですが、複数のクライアントを持つことができます。 クライアントは、Windowsがストレージを使用するのと同様に、「/」を使用してストレージを整理します。これはワイルドカードオプションを備えています。ワイルドカードの「+」は、1つの階層すべてを見ることができます。ワイルドカード「#」は、残りのすべての階層を見ることができます。

詳細な情報
プロトコルに関する詳細な情報は、AdafruitとDigi-KeyのIoTシリーズのエピソード2および2aをご覧ください。
https://www.digikey.jp/ja/resources/iot-resource-center/videos
またはAdafruitのブレイクダウンビデオをご覧ください。
Introduction | All the Internet of Things - Episode Two: Protocols | Adafruit Learning System




オリジナル・ソース(English)