kramann.info
© Guido Kramann

Login: Passwort:










Archiv
2 SoSe2022
..2.1 MIK
..2.2 SRT
..2.3 HDL
..2.4 AUT
..2.5 SLE
2 WS2020_21
..2.1 RTS
....2.1.1 day_by_day
..2.2 IE
....2.2.1 day_by_day
..2.3 ES
..2.4 EFSEE
....2.4.1 day_by_day
..2.5 KF
....2.5.1 day_by_day
....2.5.2 Haikus
....2.5.3 Haikus_en
..2.6 CC
....2.6.1 day_by_day
2 WS2021_22
..2.1 RTS
....2.1.1 day_by_day
....2.1.2 Versuch002
....2.1.3 Versuch003
....2.1.4 Versuch004
....2.1.5 Versuch005
....2.1.99 Material
..2.2 FTS
....2.2.1 day_by_day
..2.3 ESY
....2.3.1 day_by_day
..2.4 INFmecha5
....2.4.1 day_by_day
..2.5 REGmecha5
....2.5.1 day_by_day
2 WS2023_24
..2.1 day_by_day_RST
..2.2 day_by_day_SRT
..2.3 day_by_day_FTS
..2.4 day_by_day_KF
3 SoSe2021
..3.1 STR
....3.1.1 day_by_day
..3.2 SLE
....3.2.1 day_by_day
..3.3 HDL
....3.3.1 day_by_day
..3.4 MIK
....3.4.1 day_by_day
3 SoSe2024
..3.1 Mik_21_03_2024
..3.2 Mik_04_04_2024
..3.3 Mik_11_04_2024
..3.4 Mik_18_04_2024
..3.5 Mik_25_04_2024
..3.6 Mik_02_05_2024
..3.7 Mik_16_06_2024
..3.8 Mik_23_05_2024
..3.9 Mik_30_05_2024
..3.10 Mik_05_06_2024
..3.11 Mik_13_06_2024
3 WS2022_23
..3.1 day_by_day_RST_3MB
..3.2 day_by_day_RT2_5MT
..3.3 day_by_day_EMB_7MT
..3.4 day_by_day_ABP_7MT
..3.5 day_by_day_FTS_MMB
..3.6 day_by_day_KF
4 SoSe2023
..4.2 RTS_day_by_day
..4.3 MIK_day_by_day
..4.4 AUT_day_by_day
..4.5 HDL_day_by_day
4 WS2024_25
..4.1 ING_day_by_day
....4.1.1 ING_Do_26_09_2024
....4.1.2 ING_Do_10_10_2024
....4.1.3 ING_Do_17_10_2024
....4.1.4 ING_Do_24_10_2024
....4.1.5 ING_Do_07_11_2024
....4.1.6 ING_Do_14_11_2024
....4.1.7 ING_Do_21_11_2024
....4.1.8 ING_Do_28_11_2024
....4.1.9 ING_Do_05_12_2024
....4.1.10 ING_Do_12_12_2024
....4.1.11 ING_Do_19_12_2024
..4.2 INF_day_by_day
....4.2.1 INF_Fr_27_09_2024
....4.2.2 INF_Fr_04_10_2024
....4.2.3 INF_FR_18_10_2024
....4.2.4 INF_Fr_25_10_2024
....4.2.5 INF_Fr_08_11_2024
....4.2.6 INF_Fr_15_11_2024
....4.2.7 INF_Fr_22_11_2024
....4.2.8 INF_Fr_29_11_2024
....4.2.9 INF_Fr_06_12_2024
....4.2.10 INF_Fr_13_12_2024
....4.2.11 INF_Fr_20_12_2024
....4.2.12 INF_Fr_10_01_2025
..4.3 FTS_day_by_day
....4.3.1 FTS_Mi_25_09_2024
....4.3.2 FTS_Mi_02_10_2024
....4.3.3 FTS_Mi_09_10_2024
....4.3.4 FTS_Mi_16_10_2024
....4.3.5 FTS_Mi_23_10_2024
....4.3.6 FTS_Mi_30_10_2024
....4.3.7 FTS_Mi_06_11_2024
....4.3.8 FTS_Mi_13_11_2024
....4.3.9 FTS_Mi_20_11_2024
....4.3.10 FTS_Mi_27_11_2024
....4.3.11 FTS_Mi_04_12_2024
....4.3.12 FTS_Mi_11_12_2024
....4.3.13 FTS_Mi_18_12_2024
6 Ing
..6.1 Bauplan
....6.1.1 Bootstick
....6.1.2 Xubuntu
....6.1.3 Webserver
....6.1.4 Hotspot
....6.1.5 Videostream
....6.1.6 Lampe
....6.1.7 Chassis
....6.1.8 Akku
....6.1.9 Motore
....6.1.10 Laborsteckboard
....6.1.11 Antriebstest
7 007
..7.1 Einschalten
..7.2 Vorversuche
kramann.info
© Guido Kramann

Login: Passwort:




Inhalte zur Vorlesungswoche #2, Einführung in die Ingenieurwissenschaften im Wintersemester 2024/25

(EN google-translate)

(PL google-translate)

Themen heute:

  1. Rückblick auf die Themen der letzten Lehrveranstaltung
  2. Vorstellen des Gesamtkonzepts
  3. Einführung in Xubuntu an den Laptops
  4. Einführung in Processing an den Laptops
  5. Videostreaming mit esp32 und Processing am Laptop

1 Rückblick auf die Themen der letzten Lehrveranstaltung

In der letzten Woche wurde

  1. ...eine Diskussion rund um Staubsaugroboter geführt und die Ergebnisse dokumentiert,
  2. ...Projektteams gebildet (bitte nachholen, wer vorlestzte Woche nicht da war),
  3. ...Videostreaming mit dem esp32 ausprobiert.

Der aktualisierte DAY BY DAY - Eintrag findet sich hier:

04_WS2024_25/01_ING_day_by_day/01_ING_Do_26_09_2024 h4 2 Vorstellen des Gesamtkonzepts
  • Bei dem Gesamtkonzept wird ein Hotspot mit dem Laptop eingerichtet.
  • Bei diesem Hotspot meldet sich der Laptop auch an.
  • Auch der esp32 muss sich bei diesem Hotspot anmelden.
  • Dann ist es möglich, Videosignale vom esp mit einer Software am Laptop zu empfangen und
  • ...Steuersignale von einer Software an den esp zu senden.

Hier ist ein entsprechendes Übersichtsschaubild dazu:

Übersichtsschaubild -- Linienverfolgung ist eine mögliche von vielen Anwendungen.

Bild 0-1: Übersichtsschaubild -- Linienverfolgung ist eine mögliche von vielen Anwendungen.

  • Jede Gruppe sollte einen Laptop zur Verfügung haben und zu zweit daran arbeiten (bitte abwechseln).
  • Die Gruppennummer sollte auf dem Deckel des Laptops stehen, bzw. dorthin geklebt werden.
  • Wir arbeiten mit dem Betriebssystem Linux/Xubuntu.
  • Zunächst wird die elementare Handhabung von Xubuntu gemeinsam geübt:
  1. XAMPP starten, um eine (nicht aktuelle) lokale Kopie einiger Vorlesungen von kramann.info lokal zur Verfügung zu haben.
  2. Verzeichnis erstellen mit dem Dateimanager
  3. Anschauen des Arduino-Projektordners und des Processing-Projektordners
  4. Arbeiten mit einem Terminal
  5. Erzeugen eines Hotspots
  6. Verbinden mit eduroam, wenn möglich
  7. Starten der Entwicklungsumgebung von Arduino
  8. Starten der Entwicklungsumgebung von Processing

Zur Verbindung mit eduroam unter Linux ist es nötig, ein Python-Skript laufen zu lassen, das bereits in Ihrem Downloads-Ordner liegen sollte. Führen Sie deshalb folgende Schritte aus:


Öffnen Sie ein Terminal und wechseln darin mit folgendem Befehl in den Downloads-Ordner:
cd ~/Downloads

Führen Sie dann folgenden Befehl aus:
python eduroam-linux-THB.py

Folgen Sie den Anweisungen in den sich öffnenden Fenstern.


Code 0-1: Schritte um sich mit eduroam zu verbinden.


Erfahrungsgemäß funktioniert die Anmeldung auf eduroam an den Laptops nicht bei allen. In diesem Fall werden die nötigen Dateien mit USB-Sticks auf den Leptops übertragen.



..oder probieren Sie es von Hand:


Einstellungen für die Einrichtung des Funknetzwerkes eduroam (Beispiel)

Bild 0-2: Einstellungen für die Einrichtung des Funknetzwerkes eduroam (Beispiel)

Einstellungen für die Einrichtung des Funknetzwerkes eduroam (Beispiel, Sicherheit)

Bild 0-3: Einstellungen für die Einrichtung des Funknetzwerkes eduroam (Beispiel, Sicherheit)


Sollte eine fremde Person bei der automatischen Anmeldung mit eduroam eingetragen sein, so ersetzen Sie bitte die login-Daten durch Ihre eigenen!



Löschen Sie die eduroam-Verbindung am Ende der Lehrveranstaltung wieder, da die Laptops auch von anderen Studierendengruppen verwendet werden. h4 4 Einführung in Processing an den Laptops


  1. Erzeugen eines neuen Processing-Projektes
  2. Grundstruktur: setup / draw verstehen
  3. Einfaches Programm mit wanderndem Ball
  4. Wie lerne ich mehr: Beispiele in der Installation / Referenz bei processing.org / Programm kommentieren mit chatGPT
Studentische Beispiele:

int x = 0;
int y = 0;
public void setup()
{
size(640,480);
frameRate(100);
}

public void draw()
{
  background(0,110,145);
  fill(190,0,65);
  stroke(50,155,50);
  ellipse(x,100,30,30);
  fill(100,100,55);
  ellipse(50,y,30,30);
  fill(55,0,200);
  ellipse(x,y,x,y);
  x=x+1;
  y=y+2;
  if(x>width) x=0;
  if(y>width) y=1;
}


Code 0-2: Beispiel 1


int x = 0;
int y = 0;
public void setup()
{
  size(1200,1200);
frameRate(120);
}
public void draw()
{
  background(130,70,130);
  fill(255,255,255);
  stroke(130,70,130);
  ellipse(x+20,200,30,30);
  ellipse(x,100,30,30);
   ellipse(x+10,150,30,30);
  ellipse(x+30,250,30,30);
   ellipse(x+40,300,30,30);
  ellipse(x+50,350,30,30);
   ellipse(x+60,400,30,30);
  ellipse(x+70,450,30,30);
 
    ellipse(200,y+200,30,30);
  ellipse(100,y+100,30,30);
   ellipse(100,y+150,30,30);
  ellipse(300,y+250,30,30);
   ellipse(400,y+300,30,30);
  ellipse(500,y+350,30,30);
   ellipse(600,y+400,30,30);
  ellipse(700,y+450,30,30);
  x=x+200;
  if(x>width) x=0;
  y=y+200;
  if(y>width) y=0;
}

Code 0-3: Beispiel 2



int x=0;

public void setup()
{
  size(640,480);
  frameRate(100);
}

public void draw()
{
  background(155,200,100);
  fill(255,0,0);
  stroke(0,0,255);
  ellipse(x,100,30,30);
  x=x+1;
  if(x>width) x=0;

  fill(255,0,255);
  stroke(0,0,255);
  ellipse(0,x,30,30);
  x=x+1;
  if(x>width) x=0;
}


Code 0-4: Beispiel 3


int x = 0;
int y = 0;
int z = 0;
public void setup()
{
  size(640,480);
  frameRate(1000);
}



public void draw()
{
  background (180,210,210);
  fill(0,130,200);
  stroke(100, 100, 0);
  ellipse(x,100,30,30);
  x=x+1;
  if(x>width)x=0;
  fill (0,70,99);
  ellipse (x,90,y,z);
  y= y+41;
  if (y>width)y=0;
  z=z+1;
  if (z>width)z=0;
  
}

Beispiel 4


h4

Code 0-5: 5 Videostreaming mit esp32 und Processing am Laptop

Auf folgender Seite finden Sie das gezipte Processing-Projekt "Saugbot101_Basis.zip":

06_Ing/01_Bauplan/11_Antriebstest
  1. Laden Sie das Zip-File herunter und speichern es im Ordner sketchbook.
  2. Entpacken Sie das Zip-File im Ordner sketchbook.
  3. Starten Sie Processing (ggf. Neustart) und öffnen das Projekt Saugbot101_Basis.
  4. Richten Sie nun zunächst einen Hotspot ein, der Ihrer Gruppennummer entspricht, also Gruppe 7 beispielsweise hotspot7 (klein geschrieben!), Anleitung: Link weiter unten.
  5. Verbinden Sie Ihren Laptop mit dem eigenen Hotspot über "mit verborgenem Funknetzwerk verbinden"
  6. Schließen Sie den esp32 von letzter Woche an den Laptop an und schauen Sie dann über den seriellen Monitor der Arduino IDE, ob sich Ihr esp32 mit Ihrem Hotspot verbindet.
  7. Passen Sie nun zunächst Zeile 6 im Processing-Sketch Saugbot101_Basis an, indem Sie die IP Ihres esp32 (aus seriellem Monitor kopieren) dort eintragen und den Sketch speichern.
  8. Starten Sie nun den Processing-Sketch und es sollte das Kamerabild des esp32 zu sehen sein. Ausserdem kann über die Tasten 7 und 8 am Laptop die LED auf dem esp32 an- und ausgeschaltet werden.

Anleitung Hotspot einrichten:

06_Ing/01_Bauplan/04_Hotspot
06_Ing/01_Bauplan/06_Lampe -- Screenshots zum Test der Fernsteuerung der LED auf dem esp32 über den Processing-Sketch.
Übung
  • Hätten Sie eine Idee, wie Sie die LED auf dem esp32 gesteuert vom Processing-Sketch dazu bringen, automatisch zu blinken?
  • Speichern Sie eine Kopie von Saugbot101_Basis mit dem Namen Saugbot102_Basis_BLINKLED und versuchen Sie Ihre Idee in dieser Kopie umzusetzen.