Update readme.
This commit is contained in:
174
README.md
174
README.md
@@ -1,5 +1,8 @@
|
||||
# IOT-Labor
|
||||
|
||||
<!-- philip.lee2@yahoo.de
|
||||
prause@finf.uni-hannover.de -->
|
||||
|
||||
## Versuch 1: Bash
|
||||
|
||||
- Alle Aufgaben sind als Skripte implementiert
|
||||
@@ -8,6 +11,8 @@
|
||||
|
||||
- Aufgaben a bis c als Skripte implementiert
|
||||
|
||||
- sshfs pi@172.23.90.43:/home/pi ~/test
|
||||
|
||||
### d)
|
||||
|
||||
- Laden des Servo Daemon
|
||||
@@ -25,14 +30,21 @@
|
||||
- Servos und Pulsbreite in ```/dev/servoblaster``` eintragen
|
||||
|
||||
```bash
|
||||
echo 1=10000 > /dev/servoblaster
|
||||
echo 2=10000 > /dev/servoblaster
|
||||
sudo /home/pi/src/PiBits/ServoBlaster/user/servod --cycle-time 1000
|
||||
|
||||
echo 1=wert > /dev/servoblaster
|
||||
echo 2=wert > /dev/servoblaster
|
||||
```
|
||||
|
||||
### e)
|
||||
|
||||
- Oszilloskop an GPIO Pin 17 anschließen
|
||||
- Minimale Pulsbreite ermitteln? 10$\mu s$ ???
|
||||
- Minimale Pulsbreite ermitteln?
|
||||
|
||||
- 25% sind 60
|
||||
- 50% sind ~120
|
||||
- 75% sind ~190
|
||||
- 100% sind 250
|
||||
|
||||
### f)
|
||||
|
||||
@@ -53,10 +65,11 @@ echo 2=10000 > /dev/servoblaster
|
||||
|
||||
| v [m/s] | PWM (gemessen) | PWM (soll) |
|
||||
|---------|----------------|------------|
|
||||
| 0 | |1.5ms |
|
||||
| -12.3 | |2ms |
|
||||
| 0.9 | |15.409ms |
|
||||
| -7.4 | |11.636ms |
|
||||
| 0 |1.5ms |1.5ms |
|
||||
| -12.3 |2ms |2ms |
|
||||
| 0.9 |1.54ms |1.5409ms |
|
||||
| 10.5 |1.54ms |1.5ms |
|
||||
| -7.4 |1.16ms |11.636ms |
|
||||
|
||||
#### Steuerung
|
||||
|
||||
@@ -65,10 +78,11 @@ echo 2=10000 > /dev/servoblaster
|
||||
|
||||
| $\alpha$ [°] | PWM (gemessen) | PWM (soll) |
|
||||
|-------|----------------|------------|
|
||||
| -3 | |14.66ms |
|
||||
| 18 | |17ms |
|
||||
| 0 | |1.5ms |
|
||||
| -44.2 | |10.08ms |
|
||||
| -3 |1.46ms |14.66ms |
|
||||
| 18 |1.3ms |17ms |
|
||||
|51.7 |2ms | 2ms
|
||||
| 0 |1.5ms |1.5ms |
|
||||
| -44.2 |1ms |1ms |
|
||||
|
||||
## Veruch 4: Wiimote
|
||||
|
||||
@@ -88,13 +102,13 @@ hcitool scan
|
||||
## Versuch 5
|
||||
|
||||
- Verbinden mit WLAN
|
||||
- ESSID: group20n
|
||||
- ESSID: group20n oder iot_lab_wlan_bgn_03?
|
||||
- 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
|
||||
sudo ifconfig wlan0 192.168.1.42 netmask 255.255.255.0 up
|
||||
sudo iwconfig wlan0 essid off
|
||||
sudo iwconfig wlan0 essid iot_lab_wlan_bgn_2
|
||||
```
|
||||
|
||||
- dann Routen prüfen
|
||||
@@ -104,22 +118,23 @@ sudo iwconfig ra0 essid group02n
|
||||
- Zeit synkronisieren
|
||||
|
||||
```bash
|
||||
ntpq time1.rrzn.uni-hannover.de
|
||||
ntpq -pn time1.rrzn.uni-hannover.de
|
||||
> peers
|
||||
```
|
||||
|
||||
- Für dratgebunden
|
||||
- 8.962 0.071
|
||||
|
||||
| | Dealy | Offset |
|
||||
| | Dealy [ms] | Offset [ms] |
|
||||
|-------|-------|--------|
|
||||
|Laptop | | |
|
||||
| Pi | | |
|
||||
|Laptop | 1.991 | 0.023 |
|
||||
| Pi | 0.508 | 0.321 |
|
||||
|
||||
- Für dratlos
|
||||
|
||||
| | Dealy | Offset |
|
||||
| | Dealy [ms] | Offset [ms] |
|
||||
|-------|-------|--------|
|
||||
|Laptop | | |
|
||||
| Pi | | |
|
||||
| Pi |0.425 |0.157 |
|
||||
|
||||
- **Default Route wieder auf ethernet stellen**
|
||||
- NTP Service konfigurieren#
|
||||
@@ -149,13 +164,13 @@ ethtool -K <interface> tso off
|
||||
- Auf dem Client
|
||||
|
||||
```bash
|
||||
tcpdump -i <interface> tcp and port 1337 and dst <server-ip> -r <file-name.pcap>
|
||||
tcpdump -i <interface> tcp and port 1337 and dst <server-ip> -w <file-name.pcap>
|
||||
```
|
||||
|
||||
- Auf dem Server
|
||||
|
||||
```bash
|
||||
tcpdump -i <interface> tcp and port 1337 and src <client-ip> -r <file-name.pcap>
|
||||
tcpdump -i <interface> tcp and port 1337 and src <client-ip> -w <file-name.pcap>
|
||||
```
|
||||
|
||||
- simple-server.py und simple-client.py verwenden
|
||||
@@ -180,12 +195,13 @@ tcpdump -i <interface> tcp and port 1337 and src <client-ip> -r <file-name.pcap>
|
||||
./calc-owd.py --client <pcap> --server <pcap>
|
||||
```
|
||||
|
||||
- Mittelwert:
|
||||
- Varianz:
|
||||
- Standardabweichung:
|
||||

|
||||
|
||||
- Eingestellte Bitrate:
|
||||
- Tatsächlich gesendete Bitrate:
|
||||
- Mittelwert: 0.395ms
|
||||
- Standardabweichung: 0.213ms
|
||||
|
||||
- Eingestellte Bitrate: 2Mbit/s
|
||||
- Tatsächlich gesendete Bitrate: 0.26Mbit/s
|
||||
|
||||
### Streaming über WLAN
|
||||
|
||||
@@ -198,56 +214,113 @@ tcpdump -i <interface> tcp and port 1337 and src <client-ip> -r <file-name.pcap>
|
||||
- Plot der Pakete
|
||||
- OWDS
|
||||
|
||||
- Mittelwert:
|
||||
- Varianz:
|
||||
- Standardabweichung:
|
||||
- Mittelwert: 13.78ms
|
||||
- Standardabweichung: 8.11ms
|
||||
|
||||

|
||||
|
||||
|
||||
#### Plot UDP
|
||||
|
||||
- Mittelwert:
|
||||
- Varianz:
|
||||
- Standardabweichung:
|
||||
- Mittelwert: 4.68ms
|
||||
- Standardabweichung: 2.87ms
|
||||
|
||||

|
||||
|
||||
|
||||
- Was ist besser?
|
||||
|
||||
- UDP
|
||||
#### Mittelwert und Standardabweichung der OWDs
|
||||
|
||||
- TCP:
|
||||
- Mittelwert:
|
||||
- Standardabweichung:
|
||||
- Mittelwert: 13.78ms
|
||||
- Standardabweichung: 8.11ms
|
||||
- UDP:
|
||||
- Mittelwert:
|
||||
- Standardabweichung:
|
||||
- Mittelwert: 4.68ms
|
||||
- Standardabweichung: 2.87ms
|
||||
|
||||
- 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.
|
||||
|
||||
#### Verschiedene Bitraten
|
||||
|
||||
- Hier wieder OWDs messen
|
||||
- Mit UDP
|
||||
|
||||
- Für LAN
|
||||
- 0.2 MBit/s mit LAN
|
||||

|
||||
|
||||
- 2 MBit/s mit LAN
|
||||

|
||||
|
||||
|
||||
| LAN | $\mu_{OWD}$ | $\sigma_{OWD}$ | Wertung |
|
||||
| -------- | -------- | -------- | --------- |
|
||||
| 0.2 Mbits/s | -0.01 | 0 | + - |
|
||||
| 2 Mbit/s | -0.007 | 0 | + + |
|
||||
|
||||
- 0.2 MBit/s mit WLAN
|
||||

|
||||
|
||||
- 2 MBit/s mit WLAN
|
||||

|
||||
|
||||
|
||||
| WLAN | $\mu_{OWD}$ | $\sigma_{OWD}$ | Wertung |
|
||||
| -------- | -------- | -------- | --------- |
|
||||
| 0.2 Mbits/s | 53.03 | 29.76 | - - |
|
||||
| 2 Mbit/s | 5.17 | 3.03 | + - |
|
||||
|
||||
- Für WLAN
|
||||
|
||||
#### Verschiedene Parameter raspivid
|
||||
|
||||
- Hier wieder OWDs messen
|
||||
- 1280 x 720, 20fps, 2Mbit/s ,
|
||||
- ```-t 0 -fps 20 -w 1280 -h 720 -b 2000000 -o```
|
||||
- 1280 x 720, 10fps, 2Mbit/s
|
||||
- ```-t 0 -fps 10 -w 1280 -h 720 -b 2000000 -o```
|
||||
- 1280 x 720, 5fps, 2Mbit/s
|
||||
- ```-t 0 -fps 5 -w 1280 -h 720 -b 2000000 -o```
|
||||
- 640 x 360, 40fps, 2Mbit/s
|
||||
- ```-t 0 -fps 40 -w 640 -h 360 -b 2000000 -o```
|
||||
- 640 x 360, 20fps, 2Mbit/s
|
||||
- ```-t 0 -fps 20 -w 640 -h 360 -b 2000000 -o```
|
||||
|
||||
| Parameterset | $\mu_{OWD}$ | $\sigma_{OWD}$ | Wertung |
|
||||
|--------------|-------------|----------------|---------|
|
||||
|```-t 0 -fps 20 -w 1280 -h 720 -b 2000000 -o```| 5.17ms | 3.02ms | + - |
|
||||
|```-t 0 -fps 10 -w 1280 -h 720 -b 2000000 -o```| 5.69ms | 3.38ms | - - |
|
||||
|```-t 0 -fps 5 -w 1280 -h 720 -b 2000000 -o```| 5.64ms | 3.40ms | - - |
|
||||
|```-t 0 -fps 40 -w 640 -h 360 -b 2000000 -o```| 6.2ms | 3.91ms | + + |
|
||||
|```-t 0 -fps 20 -w 640 -h 360 -b 2000000 -o```| 8.86ms | 5.03ms | + + |
|
||||
|
||||
|
||||
#### Verschiedene Puffergrößen
|
||||
|
||||
- Einmal mit 10Byte und 1400 Byte (WLan MTU)
|
||||
- Was passiert, wenn die Puffergröße größer als tie MTU
|
||||
- WLAN
|
||||
- Puffergröße: 10B, nichts zu sehen
|
||||
- Puffergröße: 1400B
|
||||
- $\mu_{OWD}: 5.17ms$
|
||||
- $\sigma_{OWD}: 3.02ms$
|
||||
- Wertung: +-
|
||||
|
||||
- Was passiert, wenn die Puffergröße größer als die MTU
|
||||
- Fragmentierung, mehr Overhead
|
||||
- Mit 4000B Puffergröße versuchen
|
||||
- Mit Wireshark angucken
|
||||
- Fragmentierung ist zu sehen
|
||||
|
||||
|
||||
|
||||
### Streaming am Fahrzeug
|
||||
|
||||
- Ploten der Pakete in einer Abbildung (wie vorher)
|
||||
- Wenn das Modellauto sich stetig vom Router entfernt.
|
||||
- Wenn das Modellauto den Raum verlässt.
|
||||
- Was kann in beiden Fällen beobachtet werden?
|
||||
|
||||

|
||||
|
||||
- Wenn das Modellauto den Raum verlässt.
|
||||
|
||||

|
||||
|
||||
|
||||
## Versuch 6
|
||||
|
||||
@@ -265,9 +338,14 @@ sudo i2cdetect -l
|
||||
sudo i2cdetect -y 1
|
||||
```
|
||||
|
||||
- Adressen der Sensoren:
|
||||
- Infrarot: 0x4f in V
|
||||
- Kompas: 0x60
|
||||
- Radencoder: On pin 21
|
||||
- Ultraschall-Modul: 0x70, 0x71
|
||||
|
||||
- Kernelmodule laden i2c-bcm2708
|
||||
- Überprüfen mit ```lsmod```
|
||||
|
||||
- Adressen in die ```ikt_car_sensorik.py``` eintragen
|
||||
- Unten in der Main
|
||||
|
||||
|
||||
Reference in New Issue
Block a user