While uploading the compiled code of Arduino IDE shows the following error in Arduino IDE console while connected ESP8266 Wifi module to DHT22 - Temperature and humidity sensor through USB to TTL for IOT application using things board as shown in the schematic diagram.
Warnings and errors when uploading:
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
How to fix this error?
Hardware wiring schematics:
Code used for compiling (File Name: esp8266-dht-mqtt.ino) and upload in Arduino IDE:
#include <dummy.h>
#include "DHT.h"
#include <ESP8266WiFi.h>
#include <ThingsBoard.h>
#define WIFI_AP "aerpace_wifi"
#define WIFI_PASSWORD "********"
#define TOKEN "eQ69bCealkcqbybc****"
// DHT
#define DHTPIN 2
#define DHTTYPE DHT22
char thingsboardServer[] = "3.1**.**9.***";
WiFiClient wifiClient;
// Initialize DHT sensor.
DHT dht(DHTPIN, DHTTYPE);
ThingsBoard tb(wifiClient);
int status = WL_IDLE_STATUS;
unsigned long lastSend;
void setup() {
Serial.begin(115200);
dht.begin();
delay(10);
InitWiFi();
lastSend = 0;
}
void loop() {
if (!tb.connected()) {
reconnect();
}
if (millis() - lastSend > 1000) { // Update and send only after 1 seconds
getAndSendTemperatureAndHumidityData();
lastSend = millis();
}
tb.loop();
}
void getAndSendTemperatureAndHumidityData() {
Serial.println("Collecting temperature data.");
// Reading temperature or humidity takes about 250 milliseconds!
float humidity = dht.readHumidity();
// Read temperature as Celsius (the default)
float temperature = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.println("Sending data to ThingsBoard:");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C ");
tb.sendTelemetryFloat("temperature", temperature);
tb.sendTelemetryFloat("humidity", humidity);
}
void InitWiFi() {
Serial.println("Connecting to AP ...");
// attempt to connect to WiFi network
WiFi.begin(WIFI_AP, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to AP");
}
void reconnect() {
// Loop until we're reconnected
while (!tb.connected()) {
status = WiFi.status();
if (status != WL_CONNECTED) {
WiFi.begin(WIFI_AP, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to AP");
}
Serial.print("Connecting to ThingsBoard node ...");
if (tb.connect(thingsboardServer, TOKEN)) {
Serial.println("[DONE]");
} else {
Serial.print("[FAILED]");
Serial.println(" : retrying in 5 seconds]");
// Wait 5 seconds before retrying
delay(5000);
}
}
}
