| # IOT-Labor | # IOT-Labor | ||||
| ## Versuch 1 | |||||
| ## Versuch 1: Bash | |||||
| - Alle Aufgaben sind als Skripte implementiert | - Alle Aufgaben sind als Skripte implementiert | ||||
| ## Versuch 2 | |||||
| ## Versuch 2: Python | |||||
| - Aufgaben a bis c als Skripte implementiert | - Aufgaben a bis c als Skripte implementiert | ||||
| ### f) | ### f) | ||||
| - in der servoblaster_ctl.py **TODO** | |||||
| - in der servoblaster_ctl.py | |||||
| ### g) | ### g) | ||||
| - Als Skript implementiert | - Als Skript implementiert | ||||
| ## Versuch 3 | |||||
| ## Versuch 3: Steuerung Keyboard | |||||
| ### Aufgabe 1 a) | |||||
| ### 4d) | |||||
| --- | |||||
| #### Motor | |||||
| Implementieren Sie eine Methode, mit der Sie die Geschwindigkeit auf Basis eines einfachen Tastendrucks, stufenweise verändern können. Nehmen Sie für die maximale Geschwindigkeit (Vor- und Rückwärts) den Wert v max = 11m/s an. Fügen Sie außerdem eine Möglichkeit hinzu, die Geschwindigkeit zurückzusetzen. (Resetbutton). | |||||
| - Pulsbreite von 100 bis 200 | |||||
| - $150 + \frac{v}{v_{max}} * 50$ | |||||
| --- | |||||
| | v [m/s] | PWM (gemessen) | PWM (soll) | | |||||
| |---------|----------------|------------| | |||||
| | 0 | |1.5ms | | |||||
| | -12.3 | |2ms | | |||||
| | 0.9 | |15.409ms | | |||||
| | -7.4 | |11.636ms | | |||||
| - Taste zum positiven Beschleunigen ist **w**, zum negativen Beschleunigen **s** | |||||
| #### Steuerung | |||||
| - Pulsbreite von 100 bis 200 | |||||
| - $150 + \frac{\alpha}{\alpha_{max}} * 50$ | |||||
| | $\alpha$ [°] | PWM (gemessen) | PWM (soll) | | |||||
| |-------|----------------|------------| | |||||
| | -3 | |14.66ms | | |||||
| | 18 | |17ms | | |||||
| | 0 | |1.5ms | | |||||
| | -44.2 | |10.08ms | | |||||
| ### Versuch 5 | |||||
| - Verbinden mit WLAN | |||||
| - ESSID: group20n | |||||
| - Kein Passwort und kein DHCP | |||||
| ```bash | |||||
| sudo ifconfig ra0 192.168.1.42 netmask 255.255.255.0 up | |||||
| sudo iwconfig ra0 essid off | |||||
| sudo iwconfig ra0 essid group02n | |||||
| ``` | |||||
| - dann Routen prüfen | |||||
| #### Delays und Offset messen | |||||
| - Zeit synkronisieren | |||||
| ```bash | |||||
| ntpq time1.rrzn.uni-hannover.de | |||||
| ``` | |||||
| - Für dratgebunden | |||||
| | | Dealy | Offset | | |||||
| |-------|-------|--------| | |||||
| |Laptop | | | | |||||
| | Pi | | | | |||||
| - Für dratlos | |||||
| | | Dealy | Offset | | |||||
| |-------|-------|--------| | |||||
| |Laptop | | | | |||||
| | Pi | | | | |||||
| - **Default Route wieder auf ethernet stellen** | |||||
| ### Streaming über das drahtgebundene Netz | |||||
| - Mittelwert = sum(i)/n = x | |||||
| - Varianz = sum((i - x)^2)/n | |||||
| - Std.Abw = root(Varianz) | |||||
| - Eingestellte Bitrate: | |||||
| - Tatsächlich gesendete Bitrate: | |||||
| ### Streaming über WLAN | |||||
| #### Plot TCP | |||||
| #### Plot UDP | |||||
| #### Mittelwert und Standardabweichung der OWDs | |||||
| - TCP: | |||||
| - Mittelwert: | |||||
| - Standardabweichung: | |||||
| - UDP: | |||||
| - Mittelwert: | |||||
| - Standardabweichung: | |||||
| - Um OWDs mit UDP genauer zu berechnen müsste die Reihenfolge der Pakete beachtet werden und die Uhren von Client und Server genaustens synkronisiert werden. | |||||