🛠 Commander une LED à distance avec Particle.function

Particle Photon · intermediaire · Schéma : IMG-particle-photon-intermediaire-2-photon-fonction-distance.svg — appel REST POST vers api.particle.io déclenchant la fonction led du Photon qui allume D7

Objetivos

Exponer una función del firmware al Particle Cloud con Particle.function, y luego llamarla desde Internet mediante una simple solicitud HTTP: la nube llama a su función C++ registrada, que devuelve un entero.

Material

Código completo

// photon-fonction-distance.ino — fonction appelée depuis le cloud
void setup {
  pinMode(D7, OUTPUT);
  Particle.function("led", ledCmd);   // enregistrement auprès du cloud
}

void loop { }

// Appelee par le cloud : POST /v1/devices/<id>/led?args=on
int ledCmd(String args) {
  if (args == "on")  { digitalWrite(D7, HIGH); return 1; }
  if (args == "off") { digitalWrite(D7, LOW);  return 0; }
  return -1;   // argument invalide
}

Verificación esperada

Desde una terminal: curl -H "Authorization: Bearer $TOKEN" -d args=on 1 enciende el LED D7; args=off lo apaga; un argumento desconocido devuelve -1. La lista de sus dispositivos (y el ID de 24 caracteres en hexadecimal) se obtiene con curl -H "Authorization: Bearer $TOKEN" https://api.particle.io/v1/devices`.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales