Automatisk Vandingssystem
Transcription
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