Kravspecifikation (Sun SPOT): Forskelle mellem versioner
David (diskussion | bidrag) No edit summary |
David (diskussion | bidrag) No edit summary |
||
Linje 1: | Linje 1: | ||
Denne artikel er en begyndelse til rapportens kravspecifikation. Hvert større afsnit kan ses i indholdsfortegnelsen. | Denne artikel er en begyndelse til rapportens kravspecifikation. Hvert større afsnit kan ses i indholdsfortegnelsen. | ||
== Generelle programkrav == | |||
Programmet skal have følgende basale funktionalitet. | |||
* Opstillinger skal kunne gemmes og hentes. | |||
== GUI == | == GUI == | ||
Linje 6: | Linje 11: | ||
GUI'en skal både bruges til simuleringer med virtuelle sensorer samt konkret visualisering af en opsætning af sensorer. Den ene mulighed udelukker den anden. Vi kan således ikke både have konkrete sensorer samt simulererede sensorer i samme opstilling på grund af radiokommunikationsproblematikker. | GUI'en skal både bruges til simuleringer med virtuelle sensorer samt konkret visualisering af en opsætning af sensorer. Den ene mulighed udelukker den anden. Vi kan således ikke både have konkrete sensorer samt simulererede sensorer i samme opstilling på grund af radiokommunikationsproblematikker. | ||
=== Layout === | === Layout og funktionalitet === | ||
* Blank baggrund i 2D som udgangspunkt. | * Blank baggrund i 2D som udgangspunkt. | ||
* Prikker som symboliserer sensorer i korrekt position - enten [[Positionsbestemmelse (Sun SPOT)|beregnet]] eller angivet manuelt. | * Prikker som symboliserer sensorer i korrekt position - enten [[Positionsbestemmelse (Sun SPOT)|beregnet]] eller angivet manuelt. | ||
Linje 30: | Linje 35: | ||
Kravspecifikationen for protokollen samt tilhørende program til kommunikation mellem sensorer. | Kravspecifikationen for protokollen samt tilhørende program til kommunikation mellem sensorer. | ||
=== Generelle krav === | |||
Basisstationen er udgangspunkt for kommunikation mellem alle sensorer. Basisstationen har kontakt med programmet, som bl.a. viser GUI'en samt står for de egentlige beregninger af position osv. | Basisstationen er udgangspunkt for kommunikation mellem alle sensorer. Basisstationen har kontakt med programmet, som bl.a. viser GUI'en samt står for de egentlige beregninger af position osv. | ||
Protokollen er en integreret del af programmet for både basisstation og de enkelte Sun SPOTs. | Protokollen er en integreret del af programmet for både basisstation og de enkelte Sun SPOTs. Den samme protokol benyttes både til konkrete opstillinger af et netværk med Sun SPOTs samt simulering af et netværk. | ||
=== [[Sensor (Sun SPOT)|Sensor SPOTs]] === | === [[Sensor (Sun SPOT)|Sensor SPOTs]] === | ||
På hver SPOT forestiller vi os følgende funktionalitet for protokollen: | På hver SPOT forestiller vi os følgende funktionalitet for protokollen: | ||
* Viden om egen position i tre dimensioner. | * Viden om egen position i tre dimensioner. | ||
Linje 50: | Linje 55: | ||
=== [[Basestation (Sun SPOT)|Basisstation]] === | === [[Basestation (Sun SPOT)|Basisstation]] === | ||
Basisstationen skal have følgende funktionalitet for protokollen: | Basisstationen skal have følgende funktionalitet for protokollen: | ||
* Viden om egen position. | * Viden om egen position. | ||
Linje 70: | Linje 74: | ||
*#: Svarer til, at en sensor fjernes og en ny tilføjes til netværket. | *#: Svarer til, at en sensor fjernes og en ny tilføjes til netværket. | ||
*#: Der vil opstå problemer, hvis sensoren bruges til en rute i netværket. I så fald skal denne rute genberegnes. | *#: Der vil opstå problemer, hvis sensoren bruges til en rute i netværket. I så fald skal denne rute genberegnes. | ||
== Positionsbestemmelse == | |||
Matematikken og teorien bag positionsbestemmelsen findes i artiklen [[Positionsbestemmelse (Sun SPOT)]]. Dette afsnit omhandler de konkrete krav til programmet i forbindelse med positionsbestemmelsen. | |||
'''Denne del af kravspecifikationen udarbejdes senere.''' | |||
[[Category:Rapport (Sun SPOT)]] | [[Category:Rapport (Sun SPOT)]] | ||
[[Category:Sun SPOT]] | [[Category:Sun SPOT]] |
Versionen fra 12. mar. 2008, 10:56
Denne artikel er en begyndelse til rapportens kravspecifikation. Hvert større afsnit kan ses i indholdsfortegnelsen.
Generelle programkrav
Programmet skal have følgende basale funktionalitet.
- Opstillinger skal kunne gemmes og hentes.
GUI
Den grafiske brugerflade skal minde om det program, vi lavede i ingeniørarbejde på første semester. Det betyder i store træk, at vi skal have en plade med sensorplaceringer samt kontrol af disse.
GUI'en skal både bruges til simuleringer med virtuelle sensorer samt konkret visualisering af en opsætning af sensorer. Den ene mulighed udelukker den anden. Vi kan således ikke både have konkrete sensorer samt simulererede sensorer i samme opstilling på grund af radiokommunikationsproblematikker.
Layout og funktionalitet
- Blank baggrund i 2D som udgangspunkt.
- Prikker som symboliserer sensorer i korrekt position - enten beregnet eller angivet manuelt.
- Prikkerne kan have forskellige farver alt efter status (basissensor, simuleret sensor, sensor uden for rækkevidde)
- Kommunikation symboliseres med pile.
- Kontrolpanel til indstilling af parametre, herunder:
- Tilføjelse af ny sensor, basissensor og basisstation.
- Ændring af hver sensors position.
- Ændring af radiostyrken på hver sensor.
- Aflæsning af sensormålinger, accelerometer, lys og temperatur.
- Koordinatsystem indlagt:
- Akserne skal kunne slås til og fra.
- Akserne skal kunne flyttes rundt på skærmen.
- Basisstationen ligger altid i nulpunktet.
- Der skal kunne zoomes ud og ind på et område.
- En skala (1:1, 1:2 osv.) skal kunne defineres.
- Ruten mellem alle sensorer skal til hver en tid kunne slås til og fra.
Potentielle udvidelser
- 3D visualisering
Protokol
Kravspecifikationen for protokollen samt tilhørende program til kommunikation mellem sensorer.
Generelle krav
Basisstationen er udgangspunkt for kommunikation mellem alle sensorer. Basisstationen har kontakt med programmet, som bl.a. viser GUI'en samt står for de egentlige beregninger af position osv.
Protokollen er en integreret del af programmet for både basisstation og de enkelte Sun SPOTs. Den samme protokol benyttes både til konkrete opstillinger af et netværk med Sun SPOTs samt simulering af et netværk.
Sensor SPOTs
På hver SPOT forestiller vi os følgende funktionalitet for protokollen:
- Viden om egen position i tre dimensioner.
- Positionsbestemmelsen vil foregå via basisstationen. Metoden beskrives i artiklen positionsbestemmelse.
- Viden om andre SPOTs inden for rækkevidde.
- Hver sensor skal vide, hvilke andre sensorer, de potentielt kan kommunikere med. Det er ikke sikkert, at der skal kommunikeres med alle sensorer inden for rækkevidde. Det er f.eks. ikke tilfældet, hvis den anden sensor har mulighed for at kommunikere direkte med basisstationen.
- Samtidig skal radiostyrken for hver sensor gemmes. Dette bruges til rutebestemmelse og positionsbestemmelse.
- Viderekommunikation af basisstations meddelelser til andre SPOTs.
- Hver sensor kunne sende relevant information videre til andre SPOTs, som ikke er i direkte kontakt med basisstationen. Dette kan f.eks. være ændringer i radiostyrke, forespørgsler om data og lignende.
- Formidling af data fra andre SPOTs ind til basisstationen.
- Hver sensor skal vide, i hvilken retning den skal sende information for at det når frem til basisstationen.
- En sensor behøver kun at videresende data til en enkelt anden sensor i ruten til basisstationen. Denne enkelte sensor har speciel status.
- Hver sensor skal med et fast defineret mellemrum sende et "ping" til basisstationen for at sikre forbindelsen. Dette ping foregår via den ifølge protokollen bestemte rute.
Basisstation
Basisstationen skal have følgende funktionalitet for protokollen:
- Viden om egen position.
- Basisstationen udgør referencepunktet/nulpunktet for hele sensornetværket.
- Viden om alle sensorers positioner.
- Dette punkt omfatter bl.a., at basisstationen også er klar over, hvilke sensorer der kan kommunikere med hinanden. Basisstationen kender ruten til hver enkelt sensor.
- Viden om sensorer inden for rækkevidde.
- I modsætning til de frie sensorer, vil basisstationen kommunikere med alle sensorer inden for dens rækkevidde. En undtagelse er, hvis en forbindelse er meget dårlig. I dette tilfælde kan en rute via en anden sensor være en bedre løsning.
- Håndtering af fejlsituationer, herunder
- Hvis en sensor ikke svarer = kommunikationsfejl.
- Basisstationen skal beregne en ny rute til de sensorer, som bliver påvirket af fejlen.
- Håndtering af udvidelser eller omrokeringer af netværket.
- En sensor flyttes til en anden position.
- Accelerometeret kan muligvis benyttes til at bestemme, om en sensor flyttes.
- Basisstationen skal beregne en ny rute til de sensorer, som bliver påvirket.
- En sensor fjernes manuelt (ikke kommunikationsfejl) fra netværket.
- Basisstationen skal beregne en ny rute til de sensorer, som bliver påvirket.
- En sensor genstartes.
- Svarer til, at en sensor fjernes og en ny tilføjes til netværket.
- Der vil opstå problemer, hvis sensoren bruges til en rute i netværket. I så fald skal denne rute genberegnes.
- En sensor flyttes til en anden position.
Positionsbestemmelse
Matematikken og teorien bag positionsbestemmelsen findes i artiklen Positionsbestemmelse (Sun SPOT). Dette afsnit omhandler de konkrete krav til programmet i forbindelse med positionsbestemmelsen.
Denne del af kravspecifikationen udarbejdes senere.