2011-08-15 12 views

答えて

13

誰かがHTTPクライアントアプリケーションのためのArduinoライブラリに取り組んでいます:

https://github.com/amcewen/HttpClient

+1

で文書化されてamcewen/HttpClientをからフォーク。 libがチャンクエンコーディングをサポートしていないようで、私の応答を読むと奇妙な文字が表示されるようです。アプリエンジンでサポートされている場合、libにHTTP 1.0を使用するように指示するのは簡単です。 –

+0

ドキュメンテーション:https://www.arduino.cc/en/Reference/WiFi101(「クライアントクラス」を検索すると、右側のサイドバーに表示されます) – Brampage

2

ArduinoをWebサーバーとして使用するためのいくつかのArduinoシールドとライブラリがあり、開始するのに適しています。

TinyWebServerには、ヘッダー解析も処理できるダウンロード可能なHTTPライブラリがあります。

Arduinoの遊び場からいくつかのウェブサーバーのコード(のみHTTPリクエストを処理することができる):

3

二つの主な選択肢があります:

  1. https://github.com/amcewen/HttpClient
  2. https://github.com/interactive-matter/HTTPClient

私がこれまで見てきた主な相違点:

  • #1がゼロのドキュメントを持っているが、#2はかなりありまともなドキュメント
  • #1はあなたのURLを構築する必要があります手動で; #2では、 #2は、ArduinoののIPアドレスとターゲットURLのIPアドレスを提供する必要があります
  • パラメータ名前=値のペアの配列は、#1は、Arduinoの1.0のDHCPを内蔵しており、DNSルックアップのライブラリを使用しています
6

の場合あなたが必要なのは、コードのこのビットは私のために正常に動作し、ヘッダを取り除くことです。

char c = client.read(); 
result = result + c;  

**// Delete HTTP headers 
if(result.endsWith("Content-Type: text/plain")) 
{ 
    result=""; 
}** 

私はStringオブジェクトの私の応答を格納し、そして最後のヘッダが到着したときに、それを空にします。 私はHTTPのエキスパートではなく、このヘッダーが常に最後に到着するかどうかわかりません:)

空白や改行などが残っている場合は、印刷する前に文字列を単にトリミングしてください。

関連する問題