Automatisk Vandingssystem

Automatisk
Vandingssystem
Projektdokumentation
Aarhus Universitet
Gruppe 6 - 3. Semester - F15
vejleder: Michael Alrøe
dato: 28-05-2015
Lærke Isabella Nørregård Hansen
Kasper Sejer Kristensen
Kalle Rønlev Møller
Jakob Alexander Szalontai Kristensen
Kenn Hedegaard Eskildsen
Karsten Schou Nielsen
Thomas Vase
-
201205713
201370050
20105969
201270250
201370904
201370045
201370359
-
IKT
IKT
IKT
IKT
E
E
EP
Indhold
1 Kravspecifikation
1.1 Aktører . . . . . . . . .
1.1.1 Bruger . . . . . .
1.1.2 Tekniker . . . . .
1.1.3 Planter . . . . .
1.2 Use Cases . . . . . . . .
1.2.1 Use case 1 . . . .
1.2.2 Use case 2 . . . .
1.2.3 Use case 3 . . . .
1.2.4 Use case 4 . . . .
1.2.5 Use case 5 . . . .
1.2.6 Use case 6 . . . .
1.2.7 Use case 7 . . . .
1.3 Use Case 5 - Skift vand
1.4 Use Case 6 - Alarm . . .
1.5 Use Case 7 - Ugeplan . .
1.6 Use Case 8 - Udprint log
1.7 Ikke Funktionelle Krav .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
2
3
3
4
5
6
7
8
9
10
11
12
12
12
12
13
2 Systemarkitektur
2.1 System diagrammer . . . . . . . . . .
2.1.1 System Domænemodel . . . . .
2.1.2 System BDD . . . . . . . . . .
2.1.3 Allokeringsdiagram IBD . . . .
2.2 Kar Control diagrammer . . . . . . . .
2.2.1 KarControl BDD . . . . . . . .
2.2.2 System IBD . . . . . . . . . . .
2.2.3 KarControl Allokeringsdiagram
2.3 SensorØ diagrammer . . . . . . . . . .
2.4 pH-sensor diagrammer . . . . . . . . .
2.5 jordfugtigheds-sensor diagrammer . . .
2.6 Ventil diagrammer . . . . . . . . . . .
2.6.1 Ventilstyring BDD . . . . . . .
2.6.2 System IBD . . . . . . . . . . .
2.6.3 System Flowchart . . . . . . .
2.7 RS485 Converter diagrammer . . . . .
2.8 Teknologi undersøgelser . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
14
15
16
17
17
17
18
19
20
21
22
22
23
24
25
26
3 Accepttest
3.1 Test setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Accepttests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
27
27
Glossary
30
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 af 31
Kravspecifikation
Revision
Ændret af
Version
Dato
Alle
1
23-02-2015
Tabel 1.1: Revision for kravspec
1.1
Aktører
I dette afsnit beskrives aktører og deres rolle i systemet. I figur 1.1 ses aktørdiagram, som beskriver
alle aktører og deres forhold til systemet
Figur 1.1: AVS Aktører
1.1.1
Bruger
2 af 31
Automatisk Vandingssystem
1.1.2
1.1.3
3 af 31
Aktørnavn
Bruger
type:
Primær
Beskrivelse:
Brugeren er ham, som til dagligt tilgår systemet. Han ved
hvor meget gødning og fugtighed planterne skal have, og
angiver disse værdier i brugergrænsefladen. Det er brugeren som løbende ændrer værdierne, så systemet hele tiden er opdateret med værdier der passer til planternes
vækststadier.
Tekniker
Aktørnavn
Tekniker
type:
Primær
Beskrivelse:
Teknikeren er en specielt uddannet person. Han har den
nødvendige viden om systemet til at kunne installere systemet fra opstart, opsætte nye vandkar mv. En Bruger
kan også være tekniker.
Planter
Aktørnavn
Planter
type:
Sekundær
Beskrivelse:
En plante, som systemet skal kunne vande. Planter består
desuden også af et gromedie (jord, lega, mv.), som er det,
der reelt bliver vandet.
Automatisk Vandingssystem
1.2
Use Cases
I dette afsnit ses de forskellige Use Cases. På billede 1.2 ses et Use case diagram, som viser en
simpel repræsentation af bruger, tekniker og planters interaktion med systemet og en afbildning
af de forskellig Use Cases.
Figur 1.2: AVS Use case diagram
4 af 31
Automatisk Vandingssystem
1.2.1
Use case 1
Når brugeren ønsker at aflæse målingerne, skal data aflæses via gui’en. Denne use case kan kun
gennemføres af en person da der kun er en gui.
Use Case 1
Aflæs målinger
Mål:
Bruger aflæser ønskede målinger
Initieret af:
Bruger
Aktør:
Bruger
Samtidige forekomster:
1 (inklusiv denne)
Prækondition:
Et fungerende system
Postkondition:
Målinger er aflæst af bruger
Hovedscenario:
1. Bruger tilgår systemet via gui’en
2. Systemet fremkommer med forside indeholdende opsætning og aflæsning af måledata mm.
3. Bruger aflæser de ønskede målinger i skærmbilledets venstre kolonne
5 af 31
Automatisk Vandingssystem
1.2.2
Use case 2
I denne use case ønsker brugeren at tilføre vand manuelt til planterne. Denne use case kan kun
tilgås af en person. For at denne use case kan gennemføres skal der være vand i det kar der ønskes
at vande fra samt at dette er tilføjet til systemet. Karet skal være koblet på mindst en sensor ø.
Use Case 2
Manuel vanding
Mål:
At tilføre vand til planterne
• Bruger
Initieret af:
Aktør:
Bruger
Samtidige forekomster:
1
Prækondition:
Der skal være vand i det kar der ønskes at vande fra og der
skal være tilkoblet mindst en sonsor ø. GUI’en befinder sig
i hovedmenuen
Postkonditions:
Der er vand ved planterne
Hovedscenario:
1. Bruger trykker på "Kar X"i GUI
2. Systemet viser et skærmbillede hvor der kan vælges manuel vanding
3. Bruger trykker på "Manuel vanding"
4. Systemet begynder at vande
5. Systemet ændre knappen for manuel vanding til stop maunel vanding
[Ex.1 Karret er tomt]
6. Når der ikke ønskes at vande længere trykker bruger på "Stop manuel vanding"
7. Systemet stopper med at vande
Udvidelser:
Ex.1 Karret er tomt:
1. Systemet stopper med at vande
6 af 31
Automatisk Vandingssystem
1.2.3
Use case 3
I denne use case ønsker brugeren at ændre på pH-værdien i karret.
Use Case
Indtast pH-værdi
• At ændre pH-værdien på blandingen i karret
Mål:
Initieret af:
Bruger
• Primær: Bruger
Aktører:
Samtidige forekomster:
1
Prækondition:
Et kar er oprettet og systemet er funktionelt
Postkondition:
Systemet er opdateret med pH-værdi
Hovedscenarie:
1. Bruger trykker på "Kar X"i GUI
2. Systemet viser et skærmbillede hvor det er muligt at indtaste en pH-værdi
3. Bruger trykker på "pH-Værdi"
4. Systemet viser en cursor i skrivefeltet tilhørende pH-værdien
5. Bruger indtaster en pH-værdi
6. Bruger trykker på "Gem"
7. Systemet gemmer pH-værdien
7 af 31
Automatisk Vandingssystem
1.2.4
Use case 4
I denne use case vil brugeren indtaste volumen på karret for at systemet kan vide hvor meget
gødning, der skal doseres. Der kan også ændres på volumen i perioder, hvor der bruges lidt vand,
for at undgå vandet bliver dårligt. For at use casen kan gennemføres skal teknikeren have oprettet
et kar, som er tilkoblet systemet.
Use Case 4
Indtast volumen
• Indtaste volumen på et vandkar
Mål:
Initieret af:
Bruger
• Primær: Bruger
Aktører:
Samtidige forekomster:
1
Prækondition:
Der er oprettet et kar i systemet og det er tilkoblet
Postkondition:
Systemet er opdateret med volumen på karret
Hovedscenarie:
1. Bruger trykker på "Kar X"i GUI
2. Systemet viser et skærmbillede hvor det er muligt at indtaste en volumen
3. Bruger trykker på "volumen"
4. Systemet viser en cursor i skrivefeltet tilhørende volumen
5. Bruger indtaster en volumen i liter
6. Bruger trykker på "Gem"
7. Systemet gemmer volumen
8 af 31
Automatisk Vandingssystem
1.2.5
Use case 5
I denne use case opretter Tekniker et nyt kar.
Use Case 5
Opret kar
• At oprette et nyt kar i systemet
Mål:
Initieret af:
Tekniker
• Primær: Tekniker
Aktører:
Samtidige forekomster:
1
Prækondition:
Ledig adresse på bussen i domæne 1
Postkondition:
Der er oprettet et kar
Hovedscenarie:
1. Tekniker trykker på "service"knap i GUI
2. Systemet viser service menuen
3. Tekniker trykker på "Opret kar"i service menu
4. Systemet viser en menu hvor det er muligt at indtaste navn og adresse i et nyt
kar
5. Tekniker indtaster navn i navnefeltet
6. Tekniker indtaster adresse i adressefeltet
7. Tekniker indtaster volumen i volumenfeltet
8. Tekniker trykker "Gem"
9. Systemet opretter det nye kar og sender Teknikeren til forsiden
10. Det nye kar forekommer nu i hoved menuen
9 af 31
Automatisk Vandingssystem
1.2.6
Use case 6
I denne use case sletter Tekniker et kar.
Use Case 6
Slet kar
• At slette et kar i systemet
Mål:
Initieret af:
Tekniker
• Primær: Tekniker
Aktører:
Samtidige forekomster:
1
Prækondition:
Der er oprettet et kar i systemet
Postkondition:
Der er slettet et kar
Hovedscenarie:
1. Tekniker trykker på "Service"i GUI
2. Systemet viser service-menu
3. Tekniker trykker på "Slet kar"knap
4. Systemet viser en liste over oprettede kar
5. Tekniker trykker på slet ud for det kar han ønsker at slette
6. Systemet spørger om Teknikeren er sikker i en dialog
7. Tekniker trykker "Ok"
8. Systemet sletter karet
9. Systemet returnerer Tekniker til listen over oprettede kar, og skriver at karret er
slettet.
10 af 31
Automatisk Vandingssystem
1.2.7
Use case 7
I denne use case kalibreres pH-proben, som er tilsluttet et kar. Dette skal gøres en gang hver
måned samt ved oprettelse af et kar. Systemet viser selv en advarsel på forsiden med, at proben
skal kalibreres, og viser hvilket kar den hører til.
Use Case 7
Kalibrer pH-probe
• At kalibrere en pH-probe
Mål:
Initieret af:
Tekniker
• Primær: Tekniker
Aktører:
Samtidige forekomster:
1
Prækondition:
Systemet fremviser en advarsel med, at en pH-probe skal
kalibreres. En rød LED lyser på styringen tilhørende pHproben. Teknikeren er i besiddelse af buffer-væske med en
pH-værdi på henholdsvis 4 og 7
Postkondition:
pH-proben er kalibreret og en grøn LED lyser på styringen
tilhørende pH-proben
Hovedscenarie:
1. Tekniker holder trykknappen "Kalibrer"nede i 5 sekunder eller mere på styringen
tilhørende pH-proben
2. Rød LED på styringen til pH-proben blinker i et interval på 250ms
3. Tekniker tager probe ud af karet og sætter den i buffer-væske med en pH-værdi
på 7
4. Tekniker venter i 5-10 minutter
5. Tekniker trykker på knappen "pH7"på styringen til pH-proben
6. Styringen til pH-proben indlæser værdien fra proben
7. Tekniker sætter proben i buffer-væske med en pH-værdi på 4
8. Tekniker venter i 5-10 minutter
9. Tekniker trykker på knappen "pH4"på styringen til pH-proben
10. Styringen til pH-proben indlæser værdien fra proben
11. Styringen til pH-proben giver besked til systemet om at proben er kalibreret
12. Styringen til pH-proben slukker for rød LED og tænder grøn LED
13. Systemet fjerner advarslen om at proben skal kalibrers
11 af 31
Automatisk Vandingssystem
1.3
Use Case 5 - Skift vand
I denne use case skal bruger/tekniker skifte vand i vandkaret. Dette kan skyldes at der skal tilsættes
nyt gødning.
1.4
Use Case 6 - Alarm
Ved brugerdefineret grænseværdier (jordfugtighed og pH-værdi), afgiver systemet en alarm, f.eks.
via. e-mail.
1.5
Use Case 7 - Ugeplan
I denne use case får bruger mulighed for at indtaste en ugeplan for styring af dosering af gødning
og vand til gromediet i løbet af ugen.
1.6
Use Case 8 - Udprint log
Bruger kan få udprintet en log over de hændelser der er forekommet i systemet, bla. sensordata
og dosering af vand.
12 af 31
Automatisk Vandingssystem
1.7
Ikke Funktionelle Krav
Brugervenlighed:
• Skal være intuitivt og let at opererer for udefrakommende: Der forudsættes en fungerende
standard PC med Windows inkl. Explore/Chrome /Firefox som browser
• Systemet skal kunne tilgås igennem en normal webbrowser: Her menes Explorer / Google
Chrome / Firefox
• Systemet skal kunne tilgås over lokalt netværk samt over www Her forudsættes en fungerende
internetopkobling og evt. lokalt netværk
Systembetingelser:
• Systemet skal kunne fungere stabilt i temperaturintervallet (1 - 45◦ C)
• Systemet skal kunne fungere stabilt under høj luftfugtighed (op til 50%)
• Systemet skal være let at vedligeholde på daglig basis Systemets reservedele skal være lette
at udskifte og skaffe.
Ydelse:
• Systemet skal kunne fylde vandkarret på max. 2 min.
• Systemet skal kunne tømme vandkarret på max. 2 min.
• Systemet skal kunne dosere vand til gromediet med min 0,5 / max 2 liter/min.
• Systemet skal kunne dosere gødning til karret på max. 30 sek.
13 af 31
Systemarkitektur
Revision
Ændret af
Version
Dato
Alle
0.1
17-03-2015
Tabel 2.1: Revision for Systemarkitektur
2.1
2.1.1
System diagrammer
System Domænemodel
Figur 2.1: Domain model af AVS
14 af 31
Automatisk Vandingssystem
2.1.2
System BDD
Figur 2.2: Block Definition Diagram af AVS
15 af 31
Automatisk Vandingssystem
2.1.3
Allokeringsdiagram IBD
Figur 2.3: Allokeringsdiagram af AVS
16 af 31
Automatisk Vandingssystem
2.2
Kar Control diagrammer
2.2.1
KarControl BDD
Figur 2.4: Block Definition Diagram af KarControl
2.2.2
System IBD
Figur 2.5: Internal Block Diagram af KarControl
17 af 31
Automatisk Vandingssystem
2.2.3
KarControl Allokeringsdiagram
Figur 2.6: Allokeringsdiagram af KarControl
18 af 31
Automatisk Vandingssystem
2.3
SensorØ diagrammer
19 af 31
Automatisk Vandingssystem
2.4
pH-sensor diagrammer
20 af 31
Automatisk Vandingssystem
2.5
jordfugtigheds-sensor diagrammer
21 af 31
Automatisk Vandingssystem
2.6
Ventil diagrammer
2.6.1
Ventilstyring BDD
Figur 2.7: Block Definition Diagram af Ventilstyring
22 af 31
Automatisk Vandingssystem
2.6.2
System IBD
Figur 2.8: Internal Block Diagram af Ventilstyring
23 af 31
Automatisk Vandingssystem
2.6.3
System Flowchart
Figur 2.9: Flowchart af Ventilstyring
24 af 31
Automatisk Vandingssystem
2.7
RS485 Converter diagrammer
25 af 31
Automatisk Vandingssystem
2.8
Teknologi undersøgelser
Det der RS485 er bare lovely
26 af 31
Accepttest
Revision
Ændret af
Version
Dato
Alle
1
23-02-2015
Tabel 3.1: Revision for accepttest
3.1
Test setup
Til at teste følgende skal der bruges et setup med en PC der er i stand til at forbinde til den
indlejrede Linux platform. Sensorer tilsluttes til den indlejrede Linux platform via de PSoC moduler
der styre dem. Aktuatorerne skal ligeledes tilsluttes gennem deres respektive moduler.
3.2
Accepttests
Accepttest Use Case 1 Aflæs Data
Test
Forventet resultat
Bruger åbner management
url i sin webbrowser
Webbrowser godtager URLadresse
Systemet fremmer med Forside
Visuel test: Forside fremkommer
Bruger aflæser de ønskede målinger i skærmbilledets
venstre kolonne
Visuel test: Liste med målinger ses i venstre kolonne
Resultat
Godkendt
Kommentar
Tabel 3.2: Accepttest 1
27 af 31
Automatisk Vandingssystem
Accepttest Use Case 2 Indlæs Data
Test
Forventet resultat
Bruger tilgår webinterfacet
ved at indtaste url i en browser
Bruger indtaster management url
Systemmet viser interface
forside
Visuel test forsiden fremkommer
Bruger indtaster
data i interfacet
ønskede
Fugtighed sætter til 34
Bruger indtaster
data i interfacet
ønskede
pH-værdi sættes til 6,5
Bruger indtaster
data i interfacet
ønskede
Gødning#1 sættes til 90
Bruger indtaster
data i interfacet
ønskede
Gødning#2 sættes til 100
Bruger indtaster
data i interfacet
ønskede
Gødning#3 sættes til 110
Bruger gemmer data i systemmet
Bruger trykker på ’Gem
værdier’
Bruger lukker
browser
åbner
Bruger lukker browseren og
bruger åbner browseren igen
Bruger tilgår webinterfacet
ved at indtaste url i en browser
Bruger indtaster management url
Bruger aflæser værdierne
Brugeren
sammenligner
værdierne med de forige
indtastede, disse skal være
ens
og
Resultat
Godkendt
Kommentar
Resultat
Godkendt
Kommentar
Tabel 3.3: Accepttest 2
Accepttest Use Case 3 Manuel vanding
Test
Forventet resultat
Bruger tilgår webinterface
ved at indtaste management
url i sin browser
Browser accepterer URLadresse
Systemmet viser forside
Visuel test: forsiden fremkommer
Bruger aktiverer manuel
vanding i interfacet
Systemet begynder at tilføre
vand til planternes gromedie
Systemet når set-punkt for
jordfugtighed
Systemet stopper med at tilføre vand
Tabel 3.4: Accepttest 3
28 af 31
Automatisk Vandingssystem
Accepttest Use Case 4 Karstyring
Test
Forventet resultat
Tryk på Karstyring på interfacet
Der forekommer 2 valmuligheder
Tryk på PH-værdi
Der gives mulighed for at
indtaste data
Indtast 7 og tryk ok
PH-værdien opdateres til 7
Tryk på OK
Menuen returnerer
Tryk på Volumen
Der gives mulighed for at
indtaste data
Indtast 100
Volumen opdateres til 100L
Tryk på OK
Menuen returnerer
Tryk på OK
Cirkulations pumpe og pumperne til dosering af gødningen starter
Tabel 3.5: Accepttest 4
29 af 31
Resultat
Godkendt
Kommentar
Glossary
Gromedie er det stof floran er plantet i, dette kan fx være muld.
Gui Grafisk bruger grænseflade.
Management url adressen hvorpå guiinterfacet befinder sig.
PC computer med Windows 7+ styresystem, samt Google Chrome som browser.
Plante består af flora og gromedie.
Sensor samlet beskrivelse for diverse måleinstrumenter der kan tilsluttes.
Vandkar kasse på X x Y x Z.
30 af 31