2016-07-21 4 views
1

나는 IoT 프로젝트에 Arduino YUN을 사용합니다.Arduino YUN Rest Api HTTP Post

헤더와 본문이 필요한 웹 서비스가 있는데, 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 (Arduino YÚ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();