2016-07-21 16 views
1

私はIoTプロジェクトにArduino YUNを使用します。Arduino YUNレストApi HTTP Post

私はヘッダーとボディを必要とするWebサービスを持っており、arduinoからデータを送信したいと考えています。

デフォルトのHttpClientライブラリはputメソッド、getメソッド、およびdeleteメソッドをサポートしますが、postメソッドはサポートしていません。

どのような提案も素晴らしいでしょう。ありがとう。

+0

してください、読んで[この(尋ねる方法)](http://stackoverflow.com/help/how-to-:私は見ていたコードはHttpClient.hにPOST(バージョン1.6.3)をサポートしています質問する前に [this(mcve)](http://stackoverflow.com/help/mcve)をクリックしてください。 これらはコミュニティからのより良い回答を得るのに役立ちます。 – Bonatti

答えて

0

Processクラスを使用すると、curl(ArduinoYÚNのOpenWRTの一部)経由でPOSTを送信できます。 http://starter-kit.nettigo.eu/2014/arduino-yun-sending-data-thingspeak-post/から

例:

void postToThingSpeak(String key, float value[]) { 
    Process p; 
    String cmd = "curl --data \"key="+key; 
    for (int i=0;i<ARRAY_SIZE;i++) { 
    cmd = cmd + "&field"+ (i+1) + "=" + value[i]; 
    } 
    cmd = cmd + "\" http://api.thingspeak.com/update"; 
    p.runShellCommand(cmd); 
    Console.println(cmd); 
    p.close(); 
} 
0

たぶん、あなたは橋ライブラリの古いバージョンを持っています。

unsigned int get(String &url); 
unsigned int get(const char * url); 
void getAsynchronously(String &url); 
void getAsynchronously(const char * url); 
unsigned int post(String &url, String &data); 
unsigned int post(const char * url, const char * data); 
void postAsynchronously(String &url, String &data); 
void postAsynchronously(const char * url, const char * data); 
unsigned int patch(String &url, String &data); 
unsigned int patch(const char * url, const char * data); 
void patchAsynchronously(String &url, String &data); 
void patchAsynchronously(const char * url, const char * data); 
unsigned int put(String &url, String &data); 
unsigned int put(const char * url, const char * data); 
void putAsynchronously(String &url, String &data); 
void putAsynchronously(const char * url, const char * data); 
void setHeader(String &header); 
void setHeader(const char * header); 
boolean ready(); 
unsigned int getResult(); 
void noCheckSSL(); 
void checkSSL(); 
関連する問題