Kasvatuslaatikko

Parveke kasvatuslaatikon kastelujärjestelmä tee se itse

Kesä, tuo viherpeukaloiden luvattu aika suomessa. Useampana talvena olen miettinyt, että pitäisi kasvattaa jotain parvekkeella kesällä. Aina se on jäänyt tekemättä, mutta tänä keväänä sain aikaiseksi testata, minkälainen kasvattaja olen. Aloitusta varten tarvitsee tietysti kasvatuslaatikon. Sopivan kokoista kasvatuslaatikkoa en ole löytänyt, mutta kaverini käytti aikansa hyvin korona vuonna ja teki muutaman parvekkeelle sopivan laatikon ja hän tarjosi ylimääräistä minulle joten tartuin syöttiin.

Kasvatuslaatikon rakennusprosessista itselläni ei valitettavasti ole kuvamateriaalia, mutta valmiista kappaleesta löytyy.

Parveke kasvatuslaatikko kastelujärjestelmä
Parveke kasvatuslaatikko kastelujärjestelmä

Kesät ovat olleet viime vuosina kuumia ja meillä on parveke lasitettu ja muutenkin olen hiukan huono muistamaan kukkien kastelua, vaikka ne ovat näkyvillä saati sitten kasvatuslaatikon kastelu kun se on parvekkeella ja ei koko ajan silmien alla. Lisäksi kesällä tulee matkailtua kotimaassa ja välillä myös ulkomailla jolloin kastelua varten tulisi järjestää joku paikalle säännöllisin väliajoin hoitamaan homma. Tämän vuoksi päätin rakentaa kastelujärjestelmän siten, että voin mistä tahansa ja koska tahansa pitää kasvatuslaatikon mullan kosteana ja varmistaa kasvualustan hyvinvoinnin.

Kastelujärjestelmän toimintaperiaate

Lähdössä olin kunnianhimoinen, mutta koska kuuma keli pääsi yllättämään taas kerran kuten liukas keli yllättää talviautoilijan niin järjestelmä ei ole tällä hetkellä automaattinen vaan manuaalinen, mutta etäkäyttö on mahdollistettu.

Raspberry pi on yhdistetty wlanin kautta nettiin ja minimaalinen koodi websivulla mahdollistaa napin painalluksen. Php koodi ja Python koodi hoitavat homman siten, että kun kerran painaa websivulla nappia niin vettä suihkuaa letkun reistä viisi sekuntia kastelulaatikkoon.

Tarvikkeet

Tällä kertaa kaikki tarvikkeet löytyivät omasta takaa, sillä yhdessä vaiheessa olin testaillut vesipumppua takapihalle siten, että voisi tehdä suihkulähteen. Into lopahti kesken ja vesipumppu jäi ylitse joten nyt sille tuli käyttöä.

  • Vesipumppu ja virtalähde
  • 2 – 3 metriä vesiputkea
  • Rele
  • Pari sähköjohtoa
  • Raspberry pi 3 b
  • Muovilaatikko
  • Puukko
  • Akkuporakone ja poranterä
Raspberry Pi 3 b
Raspberry Pi 3 b kytkentä

Websivun koodi

<html>
 <body>
  <head>
   <title>
     Kastelu
   </title>
  </head>
 <p> kastele 5 sekuntia painamalla nappia </p>
   <form method="post">

    <input type="submit" value="GO" name="GO">
   </form>
 </body>
</html>

<?php
	if(isset($_POST['GO']))
	{

$command = escapeshellcmd('/usr/lib/cgi-bin/kastelu.py');
$output = shell_exec($command);
echo $output;
	}
?>

Napin painallus käynnistää kastelu koodin joka on tehty Pythonilla

Kastelujärjestelmän käynnistys

Python koodi

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time

KASTELU_PIN = 17

GPIO.setmode(GPIO.BCM)
GPIO.setup(KASTELU_PIN, GPIO.OUT)

GPIO.output(KASTELU_PIN, GPIO.HIGH)
time.sleep(5)
GPIO.output(KASTELU_PIN, GPIO.LOW)
time.sleep(5)
GPIO.cleanup()

Pythonissa määritellään PIN jota käskytetään high ja low asentoon, eli kulkeeko virta vai ei. Kun virtaa kulkee niin silloin pumppu saa virtaa ja vesi lähtee liikkumaan. Ylläolevat koodit ovat pelkistettyjä ja niitä voisi siistiä turhien sleeppien vuoksi, mutta ne jäivät testatessa paikalleen ja tulivat tähän samaa myöten copy – pastella.

Nginx koodi

server {
listen 80;
listen [::]:80;

root /var/www/html/kastelu;

# Add index.php to the list if you are using PHP
index index.html index.php index.htm index.nginx-debian.html;

server_name localhost;

access_log /var/log/nginx/kastelu_access.log;
error_log /var/log/nginx/kastelu_error.log;

    location / {
        auth_basic "Private Property";
        auth_basic_user_file /etc/nginx/.htaccess;

        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
    }

# pythonia varten conffi 
include /etc/nginx/fcgiwrap.conf;
}

Nginx koodissa on määritelty http basic authentication, jotta vain minä pääsen sivustolle salasanalla ja voin painaa kastelunappia. Lisäksi fcgiwrap on asennettu, jotta pystytään ajamaan python koodia.

Kuvia ja video

Kytkin liitettynä Rasperry Pi ja pumppu
Kytkin liitettynä Rasperry Pi ja pumppuun
Vesipumppu vesiastiassa
Vesipumppu vesiastiassa
Pieniä reikiä vesiletkussa suihkun muodostamiseksi
Pieniä reikiä vesiletkussa suihkun muodostamiseksi

Vastaa