[解決済み] HTTPとTCP/IPの比較、Webサーバーへのデータ送信
質問
現在、あるプロジェクトでArduino Nano(以下、Arduino)を使っています。 http://arduino.cc/en/Main/arduinoBoardNano ) を使用して温度センサーから Web サーバーにデータを送信する必要があるプロジェクトに取り組んでいます。
最初は、POST/GET などを支援する多くの素晴らしいライブラリがあるので、簡単だと思いました。しかし、教授から、TCP/IP を使用してサーバーにデータを送信する必要があり、私が理解しているように、POST と GET は HTTP メソッドですと言われました。
どなたか、HTTP と TCP/IP の違いを説明していただけないでしょうか。特に、Web サーバーへのデータ送信に関連するものです。あまり専門的ではない答えを探しています (私はこのすべてについてかなり新しいのです)。
最後に、私が上に説明したことを Arduino にさせた経験のある人がいれば、私は本当にいくつかの指摘を感謝します。
ありがとうございます。
どのように解決するのですか?
HTTP は、主にインターネット (IE や Firefox など) をブラウズするために使用されるプロトコルです。これは、2 台のコンピューター間で信頼性の高いリンクを提供する TCP の上に乗っています (パケットが失われた場合 - それは再送信されます)。TCP自体はIPの上に乗っており、IPはコンピュータ間の通信に統一されたアドレスを提供します。TCP/IP は、インターネットやその他のネットワークの 99% の基礎となっています。
基本的には、もしあなたがHTTP通信をしているならば、その下にはTCP/IPがあるということです(しかし、これはあなたの教授が意味するところではないでしょう)。
Arduino Nanoはそのすべてをサポートしているわけではないので、Nanoの信号をTCP/HTTPの通信に変換する、その中間のものが必要なのです。
いくつかのオプションがあります。
- Nano とシリアルで通信し、PC にシリアル プロトコルを HTTP/TCP に変換させます。
- Ethernet/Wifi シールド拡張 (Uno/Mega) をサポートする他の Arduino ボードと Nano を交換する、またはそれ自体に Ethernet を含むカスタム ボードを選択する。
- シリアルまたは RF モジュールの助けを借りて Nano と通信する追加ボードとして、イーサネット シールドを備えた別の Arduino (Uno/Mega) を使用する (私は個人的に過去にこのオプションを実装しました)。
- オーディオケーブルを使って Nano を Android スマートフォンに接続し、ソフトモデムライブラリを使用するという変わった方法もあります。( https://code.google.com/p/arms22/issues/detail?id=2 ) に Android 用の実装があるので、それを使って Android 用のアプリケーションを書きます。
ご紹介したWebサーバは、定義上HTTPにしか対応していないので、TCPで通信したい場合は、何らかのTCPサーバを利用する必要があります。
センサーデータを可視化するためのグラフを提供する既存のWebサービスの1つが https://xively.com/ で、そのAPIはHTTPの上に乗っているRESTに基づいています。しかし、これは唯一のものではありません。
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] updateとdeleteのHTTPステータスコード?
-
[解決済み] カスタムHTTPヘッダー:命名規則
-
[解決済み] Node.js クイックファイルサーバ (静的ファイルオーバーHTTP)
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
-
[解決済み】全てのブラウザで、Webページのキャッシュを制御するには?
-
[解決済み] application/x-www-form-urlencoded or multipart/form-data?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.lang.NoClassDefFoundError: クラスを初期化できませんでした エラーの理由
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] Cache-Control: max-age=0とno-cacheの違いは何ですか?
-
[解決済み] サーバーの1つのポート(例えば80)に複数のクライアントが同時に接続するにはどうすればよいですか?[重複しています]。
-
[解決済み] HTTPリダイレクト:301(永久)と302(一時)の比較
-
[解決済み】URI、URL、URNの違いは何ですか?[重複] URIとURLとURNの違いは何ですか?
-
[解決済み】cURLを使用してBasic HTTP認証を正しく定義する方法は?
-
[解決済み】CURL コマンドライン URL パラメータ
-
[解決済み】HTTPの "Content-Type "ヘッダーのすべての可能な値は何ですか?
-
[解決済み] なぜCache-Control属性はリクエストヘッダ(クライアントからサーバーへ)に送信されるのですか?