I have an issue with my code. When I compile my code, I receive a "Exit status 1" error. May someone please tell me where I'm going wrong. My code is...
#include <SoftwareSerial.h>
#include <TinyGPS++.h>
#include <ESP8266WiFi.h>
#include <ThingsBoard.h>
#ifndef LED_BUILTIN
#define LED_BUILTIN 99
#endif
#define THINGSBOARD_ENABLE_PROGRAM 0
#define THINGSBOARD_ENABLE_PSRAM 0
#define THINGSBOARD_ENABLE_DYNAMIC 1
constexpt char WIFI_SSID[]="iPhone (3)";
constexpt char WIFI_PASSWORD[]="qwertyui";
constexpt char TOKEN[]="TKm4MA82jKZKBRDidGIX";
constexpt char THINGSBOARD_SERVER[]="demo.thingsboard.io";
constexpt unit16_t THINGSBOArD_PORT=1883U;
constexpt unit32_t MAX_MESSAGE_SIZE=256U;
constexpt unit32_t SERIAL_DEBUG_BAUD 115200U;
constexpr int16_t telemetrySendInterval = 2000U;
uint32_t previousDataSend;
WiFiClient wifiClient;
ThingsBoard tb(wifiClient, MAX_MESSAGE_SIZE);
int MQ2=A0;//(A0)
int GAS;
int Latitude;
int Longitude;
int Speed;
int Altitude;
TinyGPSPlus gps;
SoftwareSerial GPS(2,0);//Blue(D4),purple(D3)
void InitWiFi() {
Serial.println("Connecting to AP ...");
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to AP");
}
const bool reconnect() {
// Check to ensure we aren't connected yet
const wl_status_t status = WiFi.status();
if (status == WL_CONNECTED) {
return true;
}
InitWiFi();
return true;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
GPS.begin(9600);
Serial.begin(115200);
InitWiFi();
pinMode(MQ2,INPUT);
}
void loop() {
if (!reconnect()) {
subscribed = false;
return;
}
if (!tb.connected()) {
subscribed = false;
Serial.print("Connecting to: ");
Serial.print(THINGSBOARD_SERVER);
Serial.print(" with token ");
Serial.println(TOKEN);
if (!tb.connect(THINGSBOARD_SERVER, TOKEN, THINGSBOARD_PORT)) {
Serial.println("Failed to connect");
return;
}
GPS.listen();
while (GPS.available() > 0) {
gps.encode(GPS.read());
if (gps.location.isUpdated()) {
Serial.print("Longitude=");
Serial.println(gps.location.lng(), 6);
Serial.print("Latitude=");
Serial.println(gps.location.lat(), 6);
Serial.print("Speed=");
Serial.println(gps.speed.kmph());
Serial.print("Altitude in meters=");
Serial.println(gps.altitude.meters());
GAS= analogRead(MQ2);
Serial.print("Gas=");
Serial.println(GAS);
Serial.println("\t");
delay(1000);
tb.sendTelemetryInt("Gas",GAS);
tb.sendTelemetryInt("Longitude",gps.location.lng());
tb.sendTelemetryInt("Latitude",gps.location.lat());
tb.sendTelemetryInt("Speed",gps.speed.kmph());
tb.sendTelemetryInt("Altitude",gps.altitude.meters());
}
}