Kravspecifikation (Sun SPOT): Forskelle mellem versioner
David (diskussion | bidrag) No edit summary |
David (diskussion | bidrag) No edit summary |
||
Linje 2: | Linje 2: | ||
== GUI == | == GUI == | ||
Den grafiske brugerflade skal minde om det program, vi lavede i ingeniørarbejde. Det betyder, at vi skal have en plade med sensorplaceringer. | 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. | 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 === | ||
* 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. | ||
: Prikkerne kan have forskellige farver alt efter status (basissensor, simuleret sensor, sensor uden for rækkevidde) | |||
* Kommunikation symboliseres med pile. | * Kommunikation symboliseres med pile. | ||
* Kontrolpanel til indstilling af parametre, herunder: | * Kontrolpanel til indstilling af parametre, herunder: | ||
Linje 15: | Linje 16: | ||
** Ændring af radiostyrken på hver sensor. | ** Ændring af radiostyrken på hver sensor. | ||
** Aflæsning af sensormålinger, accelerometer, lys og temperatur. | ** 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 == | == Protokol == | ||
Linje 25: | Linje 36: | ||
=== [[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. | * Viden om egen position i tre dimensioner. | ||
: Positionsbestemmelsen vil foregå via basisstationen. Metoden beskrives i artiklen [[Positionsbestemmelse (Sun SPOT)|positionsbestemmelse]]. | |||
* Viden om andre SPOTs inden for rækkevidde. | * 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. | * 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. | : 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. | * 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. | : Hver sensor skal vide, i hvilken retning den skal sende information for at det når frem til basisstationen. | ||
* Hver sensor skal med et fast defineret mellemrum sende et "ping" til basisstationen for at sikre forbindelsen. | : 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. | |||
=== [[Basestation (Sun SPOT)|Basisstation]] === | === [[Basestation (Sun SPOT)|Basisstation]] === | ||
Linje 37: | Linje 52: | ||
Basisstationen skal have følgende funktionalitet for protokollen: | Basisstationen skal have følgende funktionalitet for protokollen: | ||
* Viden om egen position. | * Viden om egen position. | ||
: Basisstationen udgør referencepunktet/nulpunktet for hele sensornetværket. | |||
* Viden om alle sensorers positioner. | * 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. | : 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. | * 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 | * Håndtering af fejlsituationer, herunder | ||
** Hvis en sensor ikke svarer = kommunikationsfejl. | ** 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. | * Håndtering af udvidelser eller omrokeringer af netværket. | ||
*# En sensor flyttes til en anden position. | *# 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. | *# 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. | |||
*#: Blah | |||
[[Category:Rapport (Sun SPOT)]] | [[Category:Rapport (Sun SPOT)]] | ||
[[Category:Sun SPOT]] | [[Category:Sun SPOT]] |
Versionen fra 12. mar. 2008, 10:34
Denne artikel er en begyndelse til rapportens kravspecifikation. Hvert større afsnit kan ses i indholdsfortegnelsen.
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
- 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.
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.
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.
- Blah
- En sensor flyttes til en anden position.