Paso 5: Algunas notas del código: el poder de la nube
OK, haz el balanceo ojo fuera del camino. 'La nube' es un rumor tan grande como cualquiera y a veces oirás doofuses andan 'la nube' que no tienen una buena comprensión de lo que están diciendo sobre. Usted puede incluso trabajar para alguien así.
¡ Para un momento en que la nube de Spark.io es y lo que nos da. Al registrar nuestros corazones con nuestra cuenta y les proporcione las credenciales de acceso wifi, son más que Arduino-ish cosas con pegado en las radios WiFi. Se dispone de un servicio que, en primer lugar, nos permite programar los corazones sin cables. Más allá de que podamos 'publicar' variables (como 'temperatura' o 'isItSafeToUseTheBloominglabsBathroom' (según los documentos, se truncan los nombres de variables en el carácter de 12, así que concisa)), y cualquier programa debidamente acreditados puede leer ese valor llamando a una URL, sin nosotros tener que hackear un servidor de web de Li ' l con toneladas de manipulación de cuerdas nudosas y programación de socket para este una cosa.
Del mismo modo, podemos registrar las funciones que pueden ser llamadas mediante una dirección URL y ganchos para smartphone aplicaciones, sitios web o servicios enviar comandos de forma inalámbrica a nuestro núcleo, donde decidimos ponerlo (acceso inalámbrico).
También, podemos tanto publicar y suscribirse a los servicios, para que no tengamos que recurrir a la votación para un cambio de valor (sin embargo, hay límites a la editorial, un mensaje por segundo de la tarifa, así que ten cuidado).
Nuestro indicador de cuarto de baño es una buena opción para publicar/suscribir. El indicador se suscribe al servicio que nos permite saber si el baño está abierto. Solo hace algo si recibe un mensaje.
Así que mientras que en muchos sentidos esto es una cosa muy simple, nos da un gusto de poder y posibilidades. El indicador puede tener una API y puede ser utilizado por un timbre inalámbrico u otro sistema de notificación además de su papel ahora modesto nos permite saber si el baño está ocupado.
Nuestro sensor publica cuando ha cambiado el estado de ocupación, por lo que especificarlo en setup():
Cuando queremos publicar un cambio para nuestros oyentes ansiosos, hacemos esto:
También publicamos el valor de la ocupación como variable:
Hacer uso de estas actualizaciones en el indicador es fácil. En configuración, nosotros declaramos que son suscripción de esta info y especificar la función a llamar cuando tenemos una actualización:
Spark.subscribe ("bathroomStateToggle", bathroomStateToggle, MY_DEVICES);
La función es bastante simple: