Byg din egen vandingsvagt med en Raspberry PI

Blomster pynter i mange hjem. Det bliver lidt mere hjemligt og hyggeligt med planter i fx vinduerne. Medmindre planterne visner, selvfølgelig. Man glemmer måske at vande, eller også vander man for ofte, og planterne dør.

Så for at gøre det lettere for alle os, som har lidt svært ved at holde planterne i live, bad vi en rigtig teknik-nørd at skabe en løsning til os. Jonathan Lundström, som tidligere har bygget andre teknik-projekter til Conrad, tog sagen i egen hånd og byggede denne smarte vandingsvagt

– Det var et sjovt projekt med en del udfordringer, men resultatet blev rigtig godt. Det løser et problem for mig, da jeg ofte overvander visse af vores planter, og nu kan jeg have styr på det, inden jeg giver dem mere vand. Den passer også rigtig godt ind i vinduet og gemmer hardwaren på en flot måde, siger Jonathan Lundström.

Derudover kan du nu via din mobil tjekke om blomsten i vinduet behøver vand eller ej.

Her har du guiden til hvordan du selv kan bygge din egen vandingsvagt.

1. Forbered din Raspberry Pi

Hent den seneste version af Raspbian til din Raspberry Pi og installer den på SD-kortet. Vi anbefaler, at du bruger applikationen Etcher (https://etcher.io/) så alt data overføres sikkert og på den rigtige måde.
Du kan også bruge denne guide (https://howchoo.com/g/ndy1zte2yjn/how-to-set-up-wifi-on-your-raspberry-pi-without-ethernet) til at koble din Raspberry Pi til det trådløse netværk.
For at aktivere SSH skal du indsætte dit SD-kort i computeren og oprette en tom fil, som du navngiver ”” og føjer til /boot.

Der kan være en fejl på den nyeste version af Rasbian, som indebærer, at selv når du opretter det trådløse netværk, vil den ikke tilslutte korrekt. Hvis det sker, skal du koble din Raspberry Pi med netværkskablet via SSH og derefter følge trinene herunder.

Skriv følgende kommando
sudo nano /etc/network/interfaces

Og tilføj disse rækker af koder i slutningen af filen:
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Aktiver wifi ved at skrive følgende:
sudo systemctl enable wpa_supplicant.service

Og genstart så din Raspberry Pi ved at skrive sudo reboot

Hvis alt er lykkedes, kan du nu få kontakt med det trådløse netværk via din Raspberry Pi.

Nu kan vi endelig gå videre i projektet.

2. Ændr din Raspberry Pis ”hostname”

Når du er opkoblet til netværket med din Raspberry Pi, vil den have raspberrypi som hostname. Man kan beholde det sådan, men vi anbefaler, at du kører sudo raspi-config og anvender værktøj for at ændre navn til fx plantpi. Dette gør det lettere at finde din enhed på netværket senere.

3. Opdater Node.js til den seneste version

Node.js er allerede installeret på din Raspberry Pi, men det er en gammel version og bør ikke anvendes. Inden du laver den opdatering, skal du sørge for at køre både sudo apt-get update og sudo apt-get upgrade for at få den seneste version af al software installeret.

Så kan vi gøre følgende for at få adgang til den seneste version af Node.js:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash –

Og så kører du følgende kommando for at installere
sudo apt-get install nodejs

Hvis du skriver node –v ind
Eller npm -v
Så burde du få v8.4.0 op
Og 5.3.0
Eller en senere version.

4. Hent softwaren på Arduino Nano

Nu har vi gjort det meste af arbejdet med Raspberry Pin, og vi kan fortsætte med indstillingerne for Arduino Nanon. Indtast følgende på din computer for at få en kopi af den nyeste version af Arduino-koden:

git clone https://github.com/jonathanlundstrom/plant-guardian-nano.git PlantGuardianArduino

Når du har hentet den ned, skal du åbne filen PlantGuardian.ino
og hente sketchen på din Arduino via et USB-kabel.

5. Kobl fugtughedsmålerne til

Det er ganske enkelt at koble kablerne til sensorerne, alt som behøves er ledninger til 5V, jord og signal. Vi anbefaler, at du bruger rød, sort og gul, men hvilken som helst farve fungerer. Kobl dem til på den her måde, og lod så Dupont-enderne på hvert kabel, så du kan tilslutte dem til Arduinon.
Signal-ledningerne skal være koplede til A0 og A1. Hver stift er markeret på modsatte side.

Nu er det lykkedes dig at koble det meste sammen Nu skal du bare koble din Arduino med din Raspberry Pi med en af de ledige USB-porte.

6. Hent og installer software til Plantguardian og Node.js

Eftersom alt er koblet sammen, er det på tide at installere Plant Guardian software på Raspberry Pin. Start med at koble op via SSH og gå så til dit hjemmekatalog ved at skrive kommando cd

Derefter skriver du følgende ind:
git clone https://github.com/jonathanlundstrom/plant-guardian-node.git Applications/PlantGuardian

Og derefter skriver du
cd Applications/PlantGuardian

Nu kan vi installere alle ekstra pakker ved at skrive følgende:
npm install

Dette kan tage 5-10 minutter.

Når det er parat, skriver du følgende kommando ind:
npm run build

Og nu er du klar til at køre applikationerne ved at skrive følgende:
npm run server

Hvis alt fungerer korrekt, skal det se ud som på billedet nedenfor (Bemærk: vi har kun en sensor forbundet til skærmbilledet)
Og fordi vi arbejder med analoge sensorer, er værdierne ikke 100 procent men meget tæt på, og giver dig et godt signal om fugtigheden i jorden.

Når vi har fået dette til at fungere, går vi ud af programmet ved at trykke CTRL-C

7. Installer Supervisor og hold softwaren levende

For at være sikker på at softwaren hele tiden køres på Raspberry Pi’en, installerer vi et program, der hedder Supervisor. Den lader os at skabe et job som skal holdes ved live og automatisk starte efter en genstart.

Skriv følgende kommando ind:
sudo apt-get install supervisor

Så skal vi skabe et job, så skriv følgende: cd
/etc/supervisor/conf.d

Og skab et job ved at skrive: sudo nano
guardian.conf.
Næste skridt er at kopiere følgende kode ind i din ”editor” og gemme ved at trykke CTRL-X

[program:guardian] directory=/home/pi/Applications/PlantGuardian
command=npm run server
autostart=true
autorestart=true
stderr_logfile=/var/log/guardian.err.log
stdout_logfile=/var/log/guardian.out.log

Nu skal vi bare gå ind i Supervisor ved at skrive
sudo supervisorctl

Og derefter kommandoen reread
efterfulgt af reload

Når dette er gjort, og Supervisor har genstartet, er du klar! Det kan tage et par sekunder, men så er du klar til at gå ind på http://plantpi.local:1337 på din mobiltelefon eller en anden enhed for at se dine målinger i jorden. Et tip er at fx skabe et bogmærke på din telefons hjemmeskærm.

Nu er du helt klar til at tage hånd om dine planter igen og vil forhåbentligt ikke glemme at vande eller for den sags skyld give for meget vand. Nu har du en vandingsvagt, som holder styr på fugtigheden i jorden for dig. En vagt, som du desuden har bygget helt selv. Sejt!

8. 3D-printet drivhus (Ekstra)

Hvis du vil gemme al hardwaren væk, kan du 3d-printe dette seje drivhus som kan stå fx i vinduet ved siden af dine planter. Drivhuset er designet af Eric Vinjegaard og er skabt specielt til dette projekt. Sejt synes vi!

Du kan finde modellen og selv printe dit drivhus ud her: https://www.thingiverse.com/thing:2492057

Jonathan Lundström har selv skrevet om projektet her: http://jonathanlundstrom.me/2017/08/20/project-plant-guardian/

Her er listen over produkter, du får brug for:

Raspberry Pi (Model 3 med Wi-Fi)
https://www.conrad.se/Raspberry-Pi-3-Model-B-1-GB-utan-OS.htm?websale8=conrad-swe&pi=1419716&ci=SHOP_AREA_857031_0413091
Micro-USB-kabel til Raspberry Pi
https://www.conrad.se/USB-2.0-Anslutningskabel-Hama-%5b1x-USB-2.0-A-hane-1x-USB-2.0-Micro-B-hane%5d-0.75-m-Svart.htm?websale8=conrad-swe&pi=1361902&ci=SHOP_AREA_258249_0410105
SD-kort til Raspberry Pi
https://www.conrad.se/microSDHC-Kort-SanDisk-Ultra-Class-10,-UHS-I-16-GB-inkl.-SD-adapter,-inkl.-Androidprogramvara.htm?websale8=conrad-swe&pi=1381008&ci=SHOP_AREA_19818_0412037
USB-oplader
https://www.conrad.se/USB-laddare-V%e4gguttag-VOLTCRAFT-QCP-3000-1-x-USB-3000-mA-Svart.htm?websale8=conrad-swe&pi=1508316&ci=SHOP_AREA_17289_2110050

Arduino Nano
https://www.conrad.se/?websale8=conrad-swe.01-aa&pi=1172623&refKey=sLFU-mB5V
Mini-USB Tilslutningskabel
https://www.conrad.se/USB-2.0-Anslutningskabel-Belkin-1-m-Svart.htm?websale8=conrad-swe&pi=993823&ci=SHOP_AREA_258249_0410105
Fugtighedsmåler (så mange I vil have)
https://www.r-pi.se/sparkfun-fuktigshetsmatare.html
(OBS dette link er til en ekstern virksomhed, da Conrad ikke har dette produkt)
I bund og grund er dette alt, I har brug for, for at kunne bygge projektet, men Jonathan kan lide at sætte prikken over i’et og valgte sammen med Eric Vinjegaard at 3D-printe et drivhus, hvor det meste af hardwaren kan gemmes. Hvis i også vil have et lige så fint drivhus, har I brug for et par produkter til, som I finder her nedenfor.

USB 3.0 Tilslutningskabel
https://www.conrad.se/USB-3.0-Anslutningskabel-Hama-1.8-m-Svart.htm?websale8=conrad-swe&pi=657853&ci=SHOP_AREA_258249_0410105

USB case (Cliff)
https://www.conrad.se/Cliff-CP30205NMB-USB-3.0-Svart-1-st.htm?websale8=conrad-swe&pi=1419591&ci=SHOP_AREA_40306_6124112