Paso 11: código
Ahora que tienes un circuito de trabajo y sistemas sanitarios, será instalar código en su frambuesa Pi automáticamente comprueba precipitaciones las últimas 24 horas y decide si debe o no abrir la válvula de solenoide. Entonces usted tendrá una experiencia riego manos libres!
Crédito para el código de este proyecto va a mi amigo Mark Veillette. Los archivos y las instrucciones de instalación están disponibles en su página de github: https://github.com/markveillette/rpi_sprinkler. El código está bastante bien comentado, pero aquí hay una explicación general de cómo funciona:
- run_sprinkler.py es el archivo principal que comprueba si una API de tiempo de lluvias de las últimas 24 horas, decide si o no abra la válvula de solenoide basada en la cantidad de lluvia, controles de los pines GPIO y escribe las acciones resultantes a un archivo de registro.
- configuración es un archivo de configuración donde introducimos el tiempo metro API key, su ciudad-estado, los pines GPIO utilizados por el circuito y el umbral de lluvia (en pulgadas) para el funcionamiento del sistema de riego.
- Run.crontab es un archivo de programación donde se establece cuando se ejecuta run_sprinkler.py, usando Cron, un planificador de tareas de Linux. Esto tiene la ventaja de ejecutar solamente el código Python brevemente a ciertas horas del día, en lugar de dejar un Python script ejecuta en un bucle infinito, 24 horas al día y constantemente comprobando el tiempo (como lo hizo en mi contador de luz navideñas proyecto... gritos). Por defecto está configurado para ejecutar dos veces al día en 6:00 y 18:00, pero esto es altamente personalizable. Por ejemplo, puede configurarlo para la única carrera cada el martes y el jueves o sólo encendidos días impares del mes.
Para obtener funcionando, siga las instrucciones de descarga e instalación en la página de Github de Marcos. Asegúrese de ir a través de los comandos de prueba recomendados para asegurarse de que todo está funcionando sin problemas. Luego, déjela funcionar durante 24 horas, volver a comprobar el archivo de registro y asegúrese de que los resultados son consistentes con el tiempo en que realmente observado (en otras palabras, si no llueve, debe haber activado el aspersor y el archivo de registro que dirán). Si usted tiene algún problema el código a ejecutar, por favor enviar un comentario junto con cualquier mensaje de error que recibió y que haré mi mejor para ayudar.
(Tenga en cuenta que la marca decidió llamarlo una "regadera" - que es más compacto que el "sistema de riego", así que sea cual sea. Se refieren a lo mismo).