gateway esp32 — ESP32 simulation

An interactive ESP32 circuit simulation you can run free in your browser on Velxio, by sabharish3434.

Components

Sketch code

// ============================================
// DISASTER MONITORING - LORA GATEWAY
// ============================================

#define LORA_RX 16
#define LORA_TX 17

HardwareSerial LoRaSerial(2);

void setup() {

  Serial.begin(115200);

  // Grove LoRa UART
  LoRaSerial.begin(9600, SERIAL_8N1, LORA_RX, LORA_TX);

  Serial.println();
  Serial.println("================================");
  Serial.println("       LORA GATEWAY STARTED");
  Serial.println("================================");
  Serial.println("Waiting for sensor nodes...");
}

void loop() {

  if (LoRaSerial.available()) {

    String packet = LoRaSerial.readStringUntil('\n');

    packet.trim();

    if (packet.length() == 0) {
      return;
    }

    Serial.println();
    Serial.println("================================");
    Serial.println("        PACKET RECEIVED");
    Serial.println("================================");

    Serial.print("Data: ");
    Serial.println(packet);

    // -------------------------------
    // Identify Node 1
    // -------------------------------

    if (packet.startsWith("NODE1")) {

      Serial.println();
      Serial.println("[INFO] Received from Node 1");
      Serial.println("[INFO] FLOOD MONITORING DATA");
    }

    // -------------------------------
    // Identify Node 2
    // -------------------------------

    else if (packet.startsWith("NODE2")) {

      Serial.println();
      Serial.println("[INFO] Received from Node 2");
      Serial.println("[INFO] FIRE MONITORING DATA");
    }

    // -------------------------------
    // Identify Node 3
    // -------------------------------

    else if (packet.startsWith("NODE3")) {

      Serial.println();
      Serial.println("[INFO] Received from Node 3");
      Serial.println("[INFO] AIR POLLUTION DATA");
    }

    else {

      Serial.println("[WARNING] Unknown node");
    }

    Serial.println("--------------------------------");
  }

  delay(10);
}

More projects by sabharish3434