🛠 Se connecter au Wi-Fi et publier des événements cloud
Objetivos
Configurar el Wi-Fi del Photon (procedimiento Soft AP, y no Smart Config como en el antiguo Spark Core), verificar el estado de la conexión mediante el LED RGB, y luego publicar y recibir eventos con Particle.publish y Particle.subscribe — sin escribir una sola línea de código de red, ya que todo está integrado en el Device OS.
Material
- 1 Particle Photon (Wi-Fi solo 2,4 GHz: chip Broadcom BCM43362 802.11b/g/n, sin soporte para 5 GHz)
- un smartphone o un ordenador para la configuración Soft AP
- idealmente un segundo Photon para probar las suscripciones
Código completo
// photon-wifi-publish.ino — publication d'événements toutes les 10 s
unsigned long derniere = 0;
void setup {
Serial.begin(9600);
Particle.subscribe("door/opened", onDoor); // événement d'un autre appareil
}
void loop {
if (millis - derniere > 10000) {
derniere = millis;
bool ok = Particle.publish("salle/temperature", "21.5", PRIVATE);
Serial.print("publish ok=");
Serial.println(ok ? "1" : "0");
}
delay(50);
}
void onDoor(const char *event, const char *data) {
Serial.print("evenement recu: ");
Serial.print(event);
Serial.print(" data=");
Serial.println(data);
}
Verificación esperada
Tras la configuración (pulsación larga en SETUP, luego conexión a la red Soft AP del Photon e introducción de la contraseña Wi-Fi), el LED RGB parpadea en modo "respiración" de color cian: conectado a la nube. particle subscribe my/salle/temperature muestra los eventos privados. El flag PRIVATE está confirmado por el código de ejemplo de la ficha.
Errores frecuentes
- Router de 5 GHz: el BCM43362 solo ve la banda de 2,4 GHz, por lo que el Photon se queda bloqueado.
- Publicar demasiado rápido: la nube limita el caudal de eventos, por lo que las publicaciones fallan (devuelven false).
- Wi-Fi inestable durante una actualización OTA: algunos usuarios reportan un bloqueo en magenta (sin conexión a la nube) tras un OTA fallido.
- Olvidar que el antiguo endpoint api.spark.io está cerrado: todo debe pasar por api.particle.io.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.inoArduinobouton-evenement.inoArduinofonction-distance.inoArduinocapteur-dht.inoArduinoruban-neopixel.inoArduinopwm-respiration.inoArduino