Как отправлять твиты с датчиком пламени и ESP8266?
Я хочу отправлять твиты с датчиком пламени и ESP8266. Датчик пламени у меня цифровой. Я думаю, что все хорошо, но он не отправляет.
Это мой код:
#define ag_ismi "SSID"
#define ag_sifresi "PASSWORD"
#define IP "184.106.153.149" // IP-адресthingspeak.com
int sensorPin = 8;
int smoke_level = HIGH;
void setup() {
pinMode(sensorPin, INPUT);
Serial.begin(115200);
Serial.println("AT");
delay(3000);
if (Serial.find("OK")) {
Serial.println("AT+CWMODE=1");
delay(2000);
String baglantiKomutu = String("AT+CWJAP=\"") + ag_ismi + "\",\"" + ag_sifresi + "\"";
Serial.println(baglantiKomutu);
delay(5000);
}
}
void loop() {
smoke_level = digitalRead(sensorPin); // Arduino считывает значение с датчика дыма
Serial.println(smoke_level);// печатает только в целях отладки, чтобы увидеть, какие значения принимает датчик
if (smoke_level == HIGH) {
// если уровень дыма больше 500, сработает зуммер
sicaklik_yolla();
}
delay(20000);
}
void sicaklik_yolla() {
Serial.println(String("AT+CIPSTART=\"TCP\",\"") + IP + "\",80");
delay(1500);
String tweet = "POST /apps/thingtweet/1/statuses/update HTTP/1.1\n";
tweet += "Host: api.thingspeak.com\n";
tweet += "Connection: close\n";
tweet += "Content-Type: application/x-www-form-urlencoded\n";
tweet += "Content-Length:67\r\n\r\napi_key=";
tweet += String("MY API KEY");
tweet += String("&status=");
tweet += String("MY TWEET TEXT");
Serial.print("AT+CIPSEND=");
delay(100);
Serial.println(tweet.length());
if (Serial.find(">")) {
Serial.println(tweet);
Serial.println("AT+CIPCLOSE=0");
delay(100);
} else {
Serial.println("AT+CIPCLOSE=0");
}
}
Эта схема устарела. Датчик подключен к контакту 8.
@Uğurhan Türker, 👍1
1 ответ
▲ 1
Я думаю, ваша скорость передачи данных и сетевое соединение с модулем Wi-Fi работают нормально. Должен сказать, что немного сложно получить данные, отправленные в ThingSpeak с помощью ESP8266. На самом деле я провел несколько экспериментов, чтобы отправить данные. Проблема на самом деле с задержкой. Добавление задержки в 5000 мс между отправкой длины твита и его содержания решает эту проблему. Вы можете использовать формат GET. Ознакомьтесь с этой инструкцией.
,
@Mitu Raj
Смотрите также:
- Не удается подключить мой ESP-12F к Wi-Fi с моим Arduino Uno
- Сторона сервера NodeMCU не может отправлять данные на сторону клиента — подключено несколько клиентов
- Последовательная связь между ESP8266 и Arduino Uno
- Получение ошибки ets 8 января 2013,rst cause:4,boot mode(1,6) wdt reset
- Данные DHT11 из Arduino UNO в Firebase через ESP8266
- Загрузка кода Arduino, OTA, через подключенный ESP8266-12E с запущенным Esp-Link
- Почему dtostrf() не работает для этого значения?
- Как постоянно отправлять данные от нескольких клиентов на сервер с помощью NodeMCU?