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

Aus Verteilte Systeme - Wiki
Zur Navigation springen Zur Suche springen
 
(76 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
  +
= Initial Requirements =
<!-- = Initiale Anforderungen = -->
 
   
  +
<!-- = Initial Requirements = -->
== Initiale Anforderung ==
 
   
  +
*Req_01: Microcontroller should be able to operate all the sensors and actuators.
[[:Datei:EM2019WSP12_Aufgabenstellung.pdf|Ursprüngliche Aufgabenstellung]]
 
   
  +
*Req_02: Surface of the Product should provide an accurate goods placing.
== Rollen (Stakeholder) ==
 
   
  +
*Req_03: The Product should avoid collisions.
* (R01) Endanwender (Nutzer mit einer mit ZigBee-Knoten ausgestatteten Wohnung)
 
* (R02) Integrator (fügt ZigBee-Knoten einer bestehenden Installation hinzu)
 
* (R03) Entwickler von Erweiterungen und verwandter Projekte (knüpft an Design und Code der erzielten Ergebnisse an)
 
   
  +
*Req_04: The Product should be able to find the delivery goal point and wait there until a new delivery request is received.
== Ziele ==
 
  +
[[Datei:EM2019WSP06.pdf| Initial Project Description]]
   
  +
== Stakeholder Role ==
* (Z01) BitCloud-basierte Firmware für WieDAS-Wandknoten
 
* (Z02) Bewertung der Entwicklung mit BitCould
 
* (Z03) Realisierung eines konkreten WieDAS-ZigBee-Knotens für Lichtsteuerung
 
   
  +
* (R01) Developer : He should choose the components, write the software and assembly the end Product/Prototype.
== Anwendungsfälle ==
 
  +
* (R02) End User : End User can be Receiver or Sender of goods. He will request the service (Send or Receive).
   
=== (UC01) Nutzung eines WieDAS-ZigBee-Knotens durch R01 ===
 
[[Datei:EM18WSP15 UC01.png]]
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
|'''(UC01a) Licht ein- und ausschalten'''
 
Der Endanwender soll die entwickelte ZigBee Lampe mit einem kompatiblen Schalter ein und ausschalten können.
 
|[[Datei:ESW18P50UC01a.png]]
 
|-
 
|'''(UC01b) Licht dimmen'''
 
Der Endanwender soll die entwickelte ZigBee Lampe mit einem kompatiblen Dimmer dimmen können.
 
|[[Datei:ESW18P50UC01b.png]]
 
|}
 
   
  +
== Milestones ==
=== (UC02) Integration eines neuen Knotens durch R02 ===
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
|'''(UC02a) Festlegen der Knotenadresse des Endknotens'''
 
Der Integrator soll die Knotenadresse des Endgerätes konfigurieren können.
 
|[[Datei:UC02a.png]]
 
|-
 
|'''(UC02b) Konfiguration der Security-Features'''
 
Der Integrator soll den Security-Mchanismus auswählen und konfigurieren können.
 
|[[Datei:UC02b.png]]
 
|-
 
|'''(UC02c) Binding von Schalter-/Lampenpaaren auf ZigBee-Profilebene'''
 
Der Integrator soll die Endgeräte und den Coordinator so konfigurieren, dass das Binding zwischen Lampe und Schalter automatisch erfolgt.
 
|[[Datei:UC02c.png]]
 
|}
 
   
  +
* (M01) Interface and control of Sensors and Actuators.
=== (UC03) Nutzung der Realisierung durch weitere Entwickler R03 ===
 
  +
* (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]]
 
|}
 
   
<!--
 
* (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
 
-->
 
   
  +
== Uses Case ==
== Aktivitätsdiagramme für Anwendungsfälle ==
 
* Ablauf der Schritte in Use Cases in Form von Aktivitätsdiagrammen, u.a. für UC02a/b/c
 
...
 
   
  +
=== (UC01) Sending an Object to the Receiver ===
== Detaillierte Anforderungen mit zugeordneten Zielen und ggf. Anwendungsfällen ==
 
   
  +
[[Datei:UC01_dboot1.png| 375px]]
nf = nicht-funktional, f = funktional
 
   
  +
== Requirements and Milestones ==
* (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)
 
   
  +
f = functional, nf = not functional
...
 
   
  +
* (Req_01, nf) : Microcontroller should be able to operate all the sensors and actuators(M01)
== Tests und Simulation ==
 
  +
* (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:
* Inbetriebnahme der Hardware
 
  +
**Ultrasonic: Read the Distant and check against a physical distant measure.
** WieDAS-Wandknoten (AVR-Mikrocontroller) und AVR Raven
 
  +
**Motors: Monitoring of direction and speed of rotation.
** ZigBee Sniffer
 
  +
**Color Sensor: Check against the two color used with variation of the environment light.
** LED Lampe
 
  +
**Reflective Optical Sensor: Check against a line by moving the two sensors to left and right of the line.
** Lüfter
 
  +
**Assembly and test again every single sensor/actuator.
 
  +
</br>
* Inbetriebnahme der Software
 
  +
*Software in Assembly Product and test scenario:
** deCONZ Simulationssoftware für ZigBee
 
  +
**Design the Matrix where the Product should work.
*** Coordinator
 
  +
**Test if line can be followed.
*** Binding
 
  +
**Test if Rotations are accurate.
**** (DimmableLight <--> DimmerSwitcher)
 
  +
**Test if Obstacle can be detected.
*** Security Einstellung
 
  +
**Test if Colors can be detected.
** BitCloud ZigBee Stack
 
  +
**Test if a delivery without obstacles can be done.
 
  +
**Test if a delivery with obstacles can be done.
* Test der ZigBee-Implementierung (OnOff)
 
  +
**Change test scenario and repeat.
** 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.