Paso 1: Códigos de Arduino y openHAB integración
Inicialización de
Se incluyen sólo el WDT (WatchDogTimer) y las bibliotecas RFM. El WDT se utiliza en el caso de Arduino cuelga en algún lugar y con el WDT reiniciará por sí mismo. Sin embargo con esta configuración, el Arduino no se perdió hasta ahora.
El código está vinculado y debe ser bastante directo. Se supone que sabes que cosas al menos a medio leer. El código de Arduino puede parecer familiar como ha sido copiado de diferentes fuentes, modificado y juntos.
No llevo demasiado exigente el idNodo; mantener 2 dígitos ya que probablemente no tendrá nodos más de 90 en su casa. No cambie el número de dígitos, o tendrá que cambiar prácticamente por todas partes más tarde.
Definir la banda de frecuencia determinada por el módulo de compra.
La ChannelFreq puede ser que necesite para ajustarse a las normas de donde usted vive; el número es en Hertz.
// RFM69#define NODEID 21 //unique for each node on same network Floor&Room&Node#=X&XX&X#define NETWORKID 666 //the same on all nodes that talk to each other #define GATEWAYID 1#define FREQUENCY RF69_433MHZ#define ENCRYPTKEY "1234567890ABCDEF" //exactly the same 16 characters/bytes on all nodes!#define ChannelFreq 434520000
La estructura del mensaje tiene que ser el mismo en toda la red
typedef struct { // Radio packet format int nodeID; // node identifier int devID; // device identifier int cmd; // read or write long intVal; // integer payload float fltVal; // floating payload char payLoad[32]; // string payload} Message;
Hay algunas variables para hacer un seguimiento de la situación y el estado anterior de los relés.
Programa de instalación
Nada especial que destacar. Todos los modos pin necesitan para "out".
Lazo
El Arduino comprueba primero si recibe un comando desde el servidor de OH. El comando se analiza fuera el código de bucle.
Entonces el estado de cada relé se compara con el estado anterior y si hay una diferencia, el nuevo estado se envía al servidor de OH.
Sólo después de el estado real son leídos y guardados como variables.
Según el intervalo, el estado se envía al servidor de OH.
La última si está en el lazo simplemente devuelve la intensidad de la señal de la entrada de RFM el nodo y viceversa. Esta orden parece ser una buena lógica porque a veces los relés no cambiar correctamente, por lo que el estado correcto se envía hacia atrás y se puede cambiar otra vez de la tableta/teléfono (sobre el servidor OH).
BTW: los relés son sólo conectarse a una señal del servidor OH (teléfono/tablet/reglas). No hay ninguna posibilidad de tener botones.
Así que todo puede ser encendido con reglas (reglas de presencia, reglas de sensor de luz, hora del día, etc.) y es perfecto si tienes interior luz de Navidad, velas de Navidad eléctricas o cualquier otras cosas que no desea ejecutar 24 horas al día y donde eres demasiado orgulloso para comprar varios interruptores de tiempo.