update: readme

This commit is contained in:
Your Name 2024-11-23 22:08:11 +01:00
parent b831fb319e
commit ff7e1614b7
2 changed files with 134 additions and 8 deletions

131
readme.md
View File

@ -0,0 +1,131 @@
# CPS Geislinger Packaging Assistant Workflow
Dieses Repository enthält die Software und Dokumentation für den **CPS Geislinger Packaging Assistant**, ein System, das Mitarbeiter beim Einpacken von Aufträgen unterstützt. Es kombiniert eine Waage und eine Kamera, um Bauteile automatisch zu erkennen, die Stückzahl zu prüfen und den Verpackungsprozess effizienter zu gestalten.
---
## Inhaltsverzeichnis
1. [Ordnerstruktur](#ordnerstruktur)
2. [Systemanforderungen](#systemanforderungen)
3. [Installation](#installation)
4. [Anwendung](#anwendung)
- [Programmstart](#programmstart)
- [Arbeitsablauf](#arbeitsablauf)
5. [Fehlerbehebung](#fehlerbehebung)
6. [Kontakt](#kontakt)
---
## Ordnerstruktur
Die Dateien und Ordner sind wie folgt strukturiert:
- **`workflow.py`**: Hauptprogramm zur Steuerung des Systems.
- **`readme.md`**: Diese Anleitung.
- **`environment.yaml`**: Conda-Umgebungskonfigurationsdatei.
- **`compose.yml`**: Docker Compose Datei für lokale Tests mit MariaDB.
- **`.gitignore`**: Einstellungen für Git, um unnötige Dateien auszuschließen.
- **`doc/`**: Zusätzliche Dokumentation.
- **`ESP32/`**: Firmwaredateien für den ESP32-Hilfscontroller.
- **`lib/`**: Lokale Python-Bibliotheken.
- **`models/`**: Machine Learning-Modelle für die Bauteilerkennung.
- **`pyqt_project/`**: Projektdateien für die Benutzeroberfläche (erstellt mit Qt Designer).
---
## Systemanforderungen
- **Betriebssystem**: Ubuntu 24.04 oder kompatibel.
- **Python-Version**: Python 3.10 oder höher.
- **Abhängigkeiten**:
- Conda oder Miniforge zur Verwaltung von Python-Bibliotheken.
- Docker und Docker Compose (optional für lokale Tests mit MariaDB).
- **Hardware**:
- Eine Waage mit USB-/serieller Verbindung.
- Eine Kamera für die Bauteilerkennung.
- Ein ESP32-Mikrocontroller als Hilfsgerät.
---
## Installation
Falls das System nicht vorinstalliert ist, folgen Sie diesen Schritten:
### 1. Conda-Umgebung erstellen
Installieren Sie die Conda-Abhängigkeiten, indem Sie die `environment.yaml` Datei nutzen:
```bash
conda env create -n geislinger -f environment.yaml
```
### 2. Conda-Umgebung aktivieren
Setzen Sie die erstellte Umgebung als Standardumgebung, indem Sie in der Datei ~/.bashrc folgendes hinzufügen:
> conda activate geislinger
Alternativ können Sie die Umgebung vor jedem Programmstart manuell aktivieren:
```bash
conda activate geislinger
```
### 3. Optional: MariaDB-Testumgebung starten
Falls Sie die Datenbank lokal testen möchten, starten Sie Docker Compose im Projektordner:
```bash
docker-compose up -d
```
## Anwendung
### Programmstart
Starten Sie das Hauptprogramm aus dem Projektordner mit:
```bash
python3 workflow.py
```
Die Benutzeroberfläche wird gestartet und alle Geräte (Waage, Kamera, ESP32) werden automatisch initialisiert.
### Arbeitsablauf
1. Auftrag laden
Geben Sie die Auftragsnummer in das entsprechende Feld ein und laden Sie die Auftragsdaten.
2. Bauteilerkennung
Wählen Sie das Bauteil manuell aus oder lassen Sie es automatisch durch die Kamera und Waage bestimmen.
3. Bestücken
Legen Sie die Teile auf, bis die Waage die gewünschte Stückzahl bestätigt.
4. Weiterverpacken
Wiederholen Sie den Vorgang für alle Bauteile im Auftrag.
5. Auftragsabschluss
Sobald alle Bauteile verpackt sind, schließen Sie den Auftrag ab.
## Fehlerbehebung
- Geräte werden nicht erkannt:
Stellen Sie sicher, dass alle Geräte korrekt verbunden sind und überprüfen Sie die Konfiguration.
- Waage zeigt falsche Werte:
Kalibrieren Sie die Waage erneut gemäß der Dokumentation.
- Fehlerhafte Bauteilerkennung:
Stellen Sie sicher, dass die Kamera sauber ist und die Beleuchtung ausreichend ist. Prüfen Sie auch, ob das entsprechende Modell in models/ geladen wurde.
- Datenbankfehler:
Vergewissern Sie sich, dass MariaDB läuft und die Zugangsdaten korrekt in der Konfiguration hinterlegt sind.
## Kontakt
Für weitere Unterstützung oder Fragen wenden Sie sich bitte an:
- E-Mail: clemens.fritze@unileoben.ac.at
- Telefon:
- Dokumentation: Weitere Informationen finden Sie im Ordner doc/.
Dieses Projekt wurde entwickelt, um die Effizienz und Genauigkeit im Verpackungsprozess zu steigern und die Arbeitsbelastung der Mitarbeiter zu reduzieren. Vielen Dank für die Nutzung des CPS Geislinger Packaging Assistant!

View File

@ -30,18 +30,11 @@ import os
import lib.sainsmartrelay
# db_config = {
# 'user': 'dbUser',
# 'password': 'dbPassword',
# 'host': '127.0.0.1', # 'host': 'localhost',
# 'database': 'projectGeislinger',
# 'port': 3306 # Standard port for MariaDB
# }
db_config = {
'user': 'dbUser',
'password': 'dbPassword',
'host': '127.0.0.1', # 'host': 'localhost',
'host': '127.0.0.1', # 'host': 'localhost', changed because more compatible
'database': 'projectGeislinger',
'port': 3306 # Standard port for MariaDB
}
@ -62,6 +55,8 @@ except serial.SerialException:
#ser = serial.Serial('/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0', 9600) #dadurch garantiert immer die gleiche Schnittstelle verwendet
# und nicht die Schnittstelle, welche die Bezeichnung ttyUSB0 verwendet (welche sich ändern könnte)
# um die ID der USB-Schnittstelle heraus zu finden im Terminal folgendes eingeben: ls -l /dev/serial/by-id/
# addition: now 2 ESP32 are used: 1 for reading the scale and 1 for controlling the led light. Problem is they both use the same id so
# physical port is selected instead.
waageEingeschwungen = False