瀏覽代碼

Update readme.

master
langspielplatte 5 年之前
父節點
當前提交
b3e66e9779
共有 1 個文件被更改,包括 127 次插入49 次删除
  1. +127
    -49
      README.md

+ 127
- 49
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:
![](https://i.imgur.com/MiUiD78.png)

- 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

![](https://i.imgur.com/SeeoqsY.png)


#### Plot UDP

- Mittelwert:
- Varianz:
- Standardabweichung:
- Mittelwert: 4.68ms
- Standardabweichung: 2.87ms

![](https://i.imgur.com/o9eunaC.png)

- Was ist besser?

- 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

- 0.2 MBit/s mit LAN
![](https://i.imgur.com/11t6Skr.png)

- 2 MBit/s mit LAN
![](https://i.imgur.com/TBB2xbD.png)


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

- Für LAN
- 0.2 MBit/s mit WLAN
![](https://i.imgur.com/qlLJ9S4.png)

- 2 MBit/s mit WLAN
![](https://i.imgur.com/6KARpaL.png)


| 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?

![](https://i.imgur.com/GWpC1ek.png)

- Wenn das Modellauto den Raum verlässt.

![](https://i.imgur.com/a6SrYKR.png)


## 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
- Unten in der Main

Loading…
取消
儲存