this tutorial을 사용하고 있습니다. 나는 또한 같은 노드 MCU ESP8266을 사용하고있다. Ii를 홈 네트워크에 연결했습니다. 로컬 IP 주소도 표시되지만 내 thingspeak 채널에 연결되지 않으며 클라이언트를 기다리는 데 방해가됩니다.Node MCU esp8266을 ThingsPeak에 연결할 수 없습니다.
또한 내 thingspeak API가 정확하고 내 홈 네트워크도 작동하는지 확인했습니다.
this tutorial을 사용하고 있습니다. 나는 또한 같은 노드 MCU ESP8266을 사용하고있다. Ii를 홈 네트워크에 연결했습니다. 로컬 IP 주소도 표시되지만 내 thingspeak 채널에 연결되지 않으며 클라이언트를 기다리는 데 방해가됩니다.Node MCU esp8266을 ThingsPeak에 연결할 수 없습니다.
또한 내 thingspeak API가 정확하고 내 홈 네트워크도 작동하는지 확인했습니다.
Arduino IDE를 사용하여 NodeMCU를 프로그래밍 한 것처럼 보입니다. 이 경우에는 Wi-Fi 클라이언트를 만들고 HTTP POST 요청을 구성한 다음 클라이언트를 사용하여 ThingSpeak로 보냅니다. 여기
내 tutorial에서 해당 라인은 다음과 같습니다셋업은 라인 추가하기 전에 : 루프에서
#include <ESP8266WiFi.h>
WiFiClient client;
const char* server = "api.thingspeak.com";
String writeAPIKey = "XXXXXXXXXXXXXXXX";
, A0를 읽고 ThingSpeak로 전송 다음 줄을 추가
를if (client.connect(server, 80)) {
// Measure Analog Input (A0)
int valueA0 = analogRead(A0);
// Construct API request body
String body = "field1=";
body += String(valueA0);
Serial.print("A0: ");
Serial.println(valueA0);
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + writeAPIKey + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(body.length());
client.print("\n\n");
client.print(body);
client.print("\n\n");
}
client.stop();
// wait 20 seconds and post again
delay(20000);
공식 [Arduino 및 ESP8266을위한 ThingSpeak 통신 라이브러리] (https://github.com/mathworks/thingspeak-arduino)도 있습니다. HTTP 호출 및 매개 변수 형식에 대한 세부 정보를 래핑하고 일부 추가 기능을 제공합니다. 나는 그것을 나의 프로젝트 중 하나에서 사용했다. – leetibbett
아래 답변을 시도해보십시오. 일을 테스트했습니다. – cagdas
사용 ESP8266HTTPClient HTTP lib 디렉토리는 ESP8266를 통해 ThingSpeak에 게시. 다음은 예제 함수입니다. ThingSpeak 채널에 쓰려면 데이터 매개 변수로 호출하십시오.
#include <ESP8266HTTPClient.h>
#define TSPEAK_HOST "http://api.thingspeak.com"
#define TSPEAK_API_KEY "YOUR_THINGSPEAK_API_KEY"
#define LEN_HTTP_PATH_MAX 256
HTTPClient http;
unsigned short postThingSpeak(char* data)
{
boolean httpCode = 0;
char httpPath[LEN_HTTP_PATH_MAX];
memset(httpPath, 0, LEN_HTTP_PATH_MAX);
snprintf(httpPath, LEN_HTTP_PATH_MAX, "%s/update?api_key=%s&field1=%s", TSPEAK_HOST, TSPEAK_API_KEY, data);
Serial.printf("Path to post : %s\n", httpPath);
http.begin(httpPath);
httpCode = http.GET();
Serial.printf("Return : %d\n", httpCode);
Serial.printf("Incoming Body : %s\n", http.getString().c_str());
http.end();
return httpCode;
}
'192.168.43.40'은 ThingSpeak이 사용할 인터넷 IP 주소처럼 보이지 않습니다. –