Projekt template Embedded Systems WS2019/Initiale Anforderungen: Unterschied zwischen den Versionen

Aus Verteilte Systeme - Wiki
Zur Navigation springen Zur Suche springen
 
(56 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
  +
= Initial Requirements =
== Initiale Anforderung ==
 
   
  +
<!-- = Initial Requirements = -->
[[:Datei:EM2019WSP14.pdf|Ursprüngliche Aufgabenstellung]]
 
   
  +
*Req_01: Microcontroller should be able to operate all the sensors and actuators.
== Rollen (Stakeholder) ==
 
   
  +
*Req_02: Surface of the Product should provide an accurate goods placing.
* (R01) Endanwender (Beaufsichtiger des Hühnerhauses)
 
* (R02) Huhn (Bewohner des Hauses)
 
* (R03) Entwickler
 
== Ziele ==
 
   
  +
*Req_03: The Product should avoid collisions.
* (Z01) automatisierter Toröffnung und -schließung
 
* (Z02) Beobachtung der Anzahl der Tiere außerhalb und innerhalb des Stalls
 
* (Z03) Probleme im Betriebsablauf werden übermittelt(Warnlampe oder SMS-Modem)
 
* (Z04) manuelle Bedienung und Datenausgabe über ein kleines Display
 
   
  +
*Req_04: The Product should be able to find the delivery goal point and wait there until a new delivery request is received.
== Anwendungsfälle ==
 
  +
[[Datei:EM2019WSP06.pdf| Initial Project Description]]
   
  +
== Stakeholder Role ==
=== (UC01) Türbedienung nach Helligkeit ===
 
[[Datei:EM18WSP15 UC01.png]]
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10}
 
|'''(UC01a) Öffnen der Tür'''
 
Die Türsteuerung soll, nach Anbruch des Tages die Tür öffnen.
 
|-
 
|'''(UC01b) Schließen der Tür'''
 
Die Türsteuerung soll sobald es draußen dunkel ist, vorausgesetzt alle Tiere sind im Stall, das Tor schließen, und überprüfen, dass es auch verschlossen ist. Wenn nicht alle Tiere im Stall sind oder die Tür nicht richtig verschlossen ist, soll auf das Problem aufmerksam gemacht werden.
 
|[[Datei:ESW18P50UC01b.png]]
 
|}
 
   
  +
* (R01) Developer : He should choose the components, write the software and assembly the end Product/Prototype.
=== (UC02) Beobachtung der Anzahl der Tiere außerhalb und innerhalb des Stalls ===
 
  +
* (R02) End User : End User can be Receiver or Sender of goods. He will request the service (Send or Receive).
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
|'''(UC02a) Hühner, welche den Stall verlassen oder betreten, sollen individuell getrackt werden, um sicherzustellen,dass sich bei Dunkelheit alle Tiere im Stall befinden.'''
 
   
|[[Datei:UC03a.png]]
 
|-
 
|'''(UC0) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren'''
 
Der Entwickler soll neue Sensoren und Aktoren anbinden und für dieser Treiber neu entwickeln bzw. erweitern können.
 
|[[Datei:UC03b.png]]
 
|-
 
|'''(UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer'''
 
Der Entwickler soll die Kommuniukation der entwickelten Endgeräte in einem Versuchsaufbau monitoren und analysieren.
 
|[[Datei:UC03c.png]]
 
|}
 
   
  +
== Milestones ==
   
  +
* (M01) Interface and control of Sensors and Actuators.
=== (UC03) Probleme im Betriebsablauf werden übermittelt(Warnlampe oder SMS-Modem) ===
 
  +
* (M02) Assembly of the Product.
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
  +
* (M03) Development of the functionality algorithm.
|'''(UC03a) Wiederverwendung von Code in Folgeprojekten'''
 
  +
* (M04) Boot can deliver a good to a designated location.
Der Entwickler soll den in diesem Projekt entwickelten Code inbesondere die Profile LightLink und HomeAutomation in großen Teilen wiederverwenden oder erweitern können.
 
|[[Datei:UC03a.png]]
 
|-
 
|'''(UC03b) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren'''
 
Der Entwickler soll neue Sensoren und Aktoren anbinden und für dieser Treiber neu entwickeln bzw. erweitern können.
 
|[[Datei:UC03b.png]]
 
|-
 
|'''(UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer'''
 
Der Entwickler soll die Kommuniukation der entwickelten Endgeräte in einem Versuchsaufbau monitoren und analysieren.
 
|[[Datei:UC03c.png]]
 
|}
 
   
=== (UC04) Bedienung des Displays ===
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
|'''(UC04a) Konfigurieren je nach Hühneranzahl'''
 
Der Endanwender soll die Anzahl der Hühner verändern können und die Zähler, wie viele Hühner sich im Stall befinden, zurücksetzen können.
 
|[[Datei:UC02a.png]]
 
|-
 
|'''(UC04b) Manuelle Torbedinung'''
 
Der Endanwender soll das Tor auch unabhängig von der Lichtsituation regeln können.
 
|[[Datei:UC02b.png]]
 
|-
 
|'''(UC04c) Auslesen der Messwerte'''
 
Der Endanwender soll die Temperatur und die Anzahl der Tiere im Stall ablesen können
 
|[[Datei:UC02c.png]]
 
|}
 
   
  +
== Uses Case ==
<!--
 
* (UC01) Nutzung eines WieDAS-ZigBee-Knotens durch R01
 
** (UC01a) Licht ein- und ausschalten
 
** (UC01b) Licht dimmen
 
* (UC02) Integration eines neuen Knotens durch R02
 
** (UC02a) Festlegen der Knotenadresse des Endknotens
 
** (UC02b) Konfiguration der Security-Features
 
** (UC02c) Binding von Schalter-/Lampenpaaren auf ZigBee-Profilebene
 
* (UC03) Nutzung der Realisierung durch weitere Entwickler R03
 
** (UC03a) Wiederverwendung von Code in Folgeprojekten
 
** (UC03b) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren
 
** (UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer
 
-->
 
   
  +
=== (UC01) Sending an Object to the Receiver ===
== Aktivitätsdiagramme für Anwendungsfälle ==
 
* Ablauf der Schritte in Use Cases in Form von Aktivitätsdiagrammen, u.a. für UC02a/b/c
 
...
 
   
  +
[[Datei:UC01_dboot1.png| 375px]]
== Detaillierte Anforderungen mit zugeordneten Zielen und ggf. Anwendungsfällen ==
 
   
  +
== Requirements and Milestones ==
nf = nicht-funktional, f = funktional
 
   
  +
f = functional, nf = not functional
* (A01, nf) Nutzung von BitCloud als Entwicklungsbasis (Z01, Z02)
 
* (A02, nf) Realisierung auf WieDAS-Knotenhardware (Z01)
 
* (A02a, nf) Beschränkung auf verfügbaren Speicher der Hardware (Z01)
 
* (A02b, f) Unterstützung der WieDAS-Knoten-Sensoren (Z03)
 
* (A02c, f) Aktoransteuerung von WieDAS-Knoten aus (Z03)(UC01)
 
* (A03, nf) Analyse der Kompatibilität von BitCloud mit anderen ZigBee-Umsetzungen (Z02)
 
* (A04, f) Konfigurationsmöglichkeit für Knoten- und PAN-Adresse (Z01)(UC02a)
 
* (A05, f) Elektrische Anbindung einer Lampe an WieDAS-Knoten (Z03)
 
   
  +
* (Req_01, nf) : Microcontroller should be able to operate all the sensors and actuators(M01)
...
 
  +
* (Req_02, f) : Surface of theProduct should provide an accurate goods placing.
  +
* (Req_03, f) : The Product should avoid collisions (M01, M03).
  +
* Req_04, f): The Product should be able to find the delivery goal point and wait there until a new delivery request is received(M03, M04).
  +
== Tests and Simulation ==
   
  +
*Hardware:
== Tests und Simulation ==
 
  +
**Ultrasonic: Read the Distant and check against a physical distant measure.
 
  +
**Motors: Monitoring of direction and speed of rotation.
* Inbetriebnahme der Hardware
 
  +
**Color Sensor: Check against the two color used with variation of the environment light.
** WieDAS-Wandknoten (AVR-Mikrocontroller) und AVR Raven
 
  +
**Reflective Optical Sensor: Check against a line by moving the two sensors to left and right of the line.
** ZigBee Sniffer
 
  +
**Assembly and test again every single sensor/actuator.
** LED Lampe
 
  +
</br>
** Lüfter
 
  +
*Software in Assembly Product and test scenario:
 
  +
**Design the Matrix where the Product should work.
* Inbetriebnahme der Software
 
  +
**Test if line can be followed.
** deCONZ Simulationssoftware für ZigBee
 
  +
**Test if Rotations are accurate.
*** Coordinator
 
  +
**Test if Obstacle can be detected.
*** Binding
 
  +
**Test if Colors can be detected.
**** (DimmableLight <--> DimmerSwitcher)
 
  +
**Test if a delivery without obstacles can be done.
*** Security Einstellung
 
  +
**Test if a delivery with obstacles can be done.
** BitCloud ZigBee Stack
 
  +
**Change test scenario and repeat.
 
* Test der ZigBee-Implementierung (OnOff)
 
** Implementierung des DimmableLights aus dem HomeAutomation-Profil (OnOff-Fuktionalität)
 
** Simulation des Coordinators mit deCONZ
 
** Simulation des DimmerSwitchers mit deCONZ
 
** Bindig der ZigBee-Implementierung mit simuliereten Knoten
 
** Security Einstellung
 
** Simulation der Lampe durch einfache LED
 
 
* Test der ZigBee-Implementierung (Dimmen)
 
** Implementierung des DimmableLights aus dem HomeAutomation-Profil (Dimmer-Fuktionalität)
 
** Simulation des Coordinators mit deCONZ
 
** Simulation des DimmerSwitchers mit deCONZ
 
** Bindig der ZigBee-Implementierung mit simuliereten Knoten
 
** Security Einstellung
 
** Simulation des Dimmens der Lampe durch Debug-Ausgabe
 
 
* Vollständiger Test
 
** Vollständige Implementierung des DimmableLight (OnOff- und Dimmer-Funktionalität)
 
** Simulation des Coordinators mit deCONZ
 
** Simulation des DimmerSwitchers mit deCONZ
 
** Bindig der ZigBee-Implementierung mit simuliereten Knoten
 
** Security Einstellung
 
** Steuerung der LED-Lampe und Lüfters durch Mikrocontroller
 

Aktuelle Version vom 22. November 2019, 20:58 Uhr

Initial Requirements

  • Req_01: Microcontroller should be able to operate all the sensors and actuators.
  • Req_02: Surface of the Product should provide an accurate goods placing.
  • Req_03: The Product should avoid collisions.
  • Req_04: The Product should be able to find the delivery goal point and wait there until a new delivery request is received.

Datei:EM2019WSP06.pdf

Stakeholder Role

  • (R01) Developer : He should choose the components, write the software and assembly the end Product/Prototype.
  • (R02) End User : End User can be Receiver or Sender of goods. He will request the service (Send or Receive).


Milestones

  • (M01) Interface and control of Sensors and Actuators.
  • (M02) Assembly of the Product.
  • (M03) Development of the functionality algorithm.
  • (M04) Boot can deliver a good to a designated location.


Uses Case

(UC01) Sending an Object to the Receiver

UC01 dboot1.png

Requirements and Milestones

f = functional, nf = not functional

  • (Req_01, nf) : Microcontroller should be able to operate all the sensors and actuators(M01)
  • (Req_02, f) : Surface of theProduct should provide an accurate goods placing.
  • (Req_03, f) : The Product should avoid collisions (M01, M03).
  • Req_04, f): The Product should be able to find the delivery goal point and wait there until a new delivery request is received(M03, M04).

Tests and Simulation

  • Hardware:
    • Ultrasonic: Read the Distant and check against a physical distant measure.
    • Motors: Monitoring of direction and speed of rotation.
    • Color Sensor: Check against the two color used with variation of the environment light.
    • Reflective Optical Sensor: Check against a line by moving the two sensors to left and right of the line.
    • Assembly and test again every single sensor/actuator.


  • Software in Assembly Product and test scenario:
    • Design the Matrix where the Product should work.
    • Test if line can be followed.
    • Test if Rotations are accurate.
    • Test if Obstacle can be detected.
    • Test if Colors can be detected.
    • Test if a delivery without obstacles can be done.
    • Test if a delivery with obstacles can be done.
    • Change test scenario and repeat.