🛠 Commander une LED par downlink LoRaWAN

Arduino MKR WAN 1300 · intermediaire · Schéma : IMG-mkr-wan-1300-intermediaire-3-mkrwan-downlink-led.svg — LED pilotée par downlink LoRaWAN depuis le serveur réseau

Objetivos

Equivalente al «servidor web LED»: controlar el LED a distancia. Arduino documenta para esta placa un sistema de control remoto de LED entre dos MKR WAN. Aquí la placa recibe una downlink LoRaWAN («ON»/«OFF») desde la red y enciende o apaga el LED — la red actúa como el navegador.

Material

Código completo

#include <MKRWAN.h>

LoRaModem modem;
const uint8_t LED = 6;   // > 

void setup {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
  if (!modem.begin(EU868)) while (1) {}
  if (!modem.joinOTAA("0080000000000001",
                      "00112233445566778899AABBCCDDEEFF")) while (1) {}
  modem.minPollInterval(60);
}

void loop {
  if (modem.available) {
    String cmd = "";
    while (modem.available) cmd += (char)modem.read;
    cmd.trim; cmd.toUpperCase;
    if (cmd == "ON")  { digitalWrite(LED, HIGH); Serial.println("LED ON"); }
    if (cmd == "OFF") { digitalWrite(LED, LOW);  Serial.println("LED OFF"); }
  }
  // Une uplink periodique reveille les fenetres de reception (classe A)
  static uint32_t t0 = 0;
  if (millis - t0 > 120000) {
    t0 = millis;
    modem.beginPacket; modem.print("hb"); modem.endPacket(false);
  }
  delay(100);
}

Verificación esperada

Desde el servidor, enviar la downlink «ON»: el LED se enciende en el siguiente intercambio (clase A: la downlink solo llega en las ventanas siguientes a una uplink). «OFF» lo apaga.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales