Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekt:python

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekt:python [2026/02/08 17:24] torsten.roehlprojekt:python [2026/02/26 09:39] (aktuell) – [Python] torsten.roehl
Zeile 1: Zeile 1:
-====== Python ======+======= Python =======
  
 +[[raspberry_pi:einstiegskurs_raspberry_pi|  ☚ zurück - Einstiegskurs]]
  
-[[raspberry_pi:einstiegskurs_raspberry_pi|  ☚ zurück ]] +//**Python** ist eine interpretierte, plattformunabhängige Programmiersprache für Automatisierung, Webanwendungen, Datenanalyse, KI und wissenschaftliche Berechnungen. Sie ist **Open Source**, weit verbreitet und besonders **beliebt für Hobby- und Bastelprojekte** dank der großen Auswahl an Bibliotheken. Der **Raspberry Pi** setzt bewusst auf **Python** und etablierte es gezielt als zentrale Sprache für Bildung und Experimente.//
- +
-//**Python** ist eine interpretierte, plattformunabhängige Programmiersprache für Automatisierung, Webanwendungen, Datenanalyse, KI und wissenschaftliche Berechnungen. Sie ist **Open Source**, weit verbreitet und besonders **beliebt für Hobby- und Bastelprojekte** dank der großen Auswahl an Bibliotheken. **Raspberry Pi** setzt bewusst auf **Python** und etablierte es gezielt als zentrale Sprache für Bildung und Experimente.// +
  
  
  
 {{ :raspberry_pi:python_running.png?600 |}} {{ :raspberry_pi:python_running.png?600 |}}
-Von den vielen Möglichkeiten, Python zu benutzen, befassen wir uns lediglich mit dem **<color #22b14c>interaktiven Modus in der Shell</color>** und der **<color #22b14c>Verwendung von Skripten</color>**. Im Bereich Web/Server werden wir **<color #22b14c>FastAPI</color>** einführen.+Von den vielen Möglichkeiten, Python zu verwenden, befassen wir uns lediglich mit dem **<color #22b14c>interaktiven Modus in der Shell</color>** und der **<color #22b14c>Verwendung von Skripten</color>**. Im Bereich Web/Server werden wir **<color #22b14c>FastAPI</color>** einführen.
  
  
  
  
-===== Überblick ===== 
  
 +<note>**ONLINE  Python Hilfe**
 +  * Hilfe/Beispiele: https://www.w3schools.com/python/
 +  * Offizielle Dokumentation: https://docs.python.org/
  
 +  * Online Python: https://onecompiler.com/python
 +</note>
  
-  * [[Python „Erste Schritte“ auf der interaktiven Konsole]]   
-  * Python „Python-Umgebung (env) einrichten“ – Vorbereitungen für Projekte schaffen   
-  * Python „Erste Skripte“   
-  * Python „Projekt GPIO“ 
  
 +===== Überblick =====
  
-====== Raspberry-Pi-KursprojektGPIO-App mit wachsender Architektur ====== +|{{ :raspberry_pi:projects_overview.png?400 |}}| 
- +| Kursüberblick zu den Python-Projekten |
-  * erst reines Python +
-  * dann Dauerprozess +
-  * dann Web-API +
-  * dann Apache davor +
-  * EIN Projekt, keine Neuentwicklung +
- +
-**ENV:** gpio_projects   +
-**Projektpfad:** ~/devel/gpio_projects   +
- +
- +
- +
-===== PHASE 1 – Reines Python + GPIO ===== +
- +
- +
- +
-==== 0) System vorbereiten ==== +
- +
-<code bash> +
-sudo apt update +
-sudo apt install -y python3 python3-pip python3-venv +
-</code> +
- +
----- +
- +
-==== 1) Projektordner anlegen ==== +
- +
-<code bash> +
-mkdir -p ~/devel/gpio_projects +
-cd ~/devel/gpio_projects +
-</code> +
- +
----- +
- +
-==== 2) Virtuelle Umgebung anlegen (NAME: gpio_projects) ==== +
- +
-<code bash> +
-python3 -m venv gpio_projects +
-source gpio_projects/bin/activate +
- +
-pip install RPi.GPIO +
-</code> +
- +
----- +
- +
-==== 3) Projektstruktur Phase 1 ==== +
- +
-<code> +
-gpio_projects/ +
- ├── gpio_hw.py +
- ├── logic.py +
- ├── main.py +
- └── gpio_projects/        # ENV +
- +
-(gpio_env) pi@raspi88:~/devel/gpio_projects $ tree -L 1    +
-+
-├── gpio_env +
-├── gpio_hw.py +
-├── logic.py +
-└── main.py +
- +
- +
- +
-</code> +
- +
----- +
- +
-==== 4) gpio_hw.py ==== +
- +
-<code python  gpio_hw.py> +
-import RPi.GPIO as GPIO +
- +
-PIN = 17 +
- +
-GPIO.setmode(GPIO.BCM) +
-GPIO.setup(PIN, GPIO.OUT) +
- +
-def on(): +
-    GPIO.output(PIN, GPIO.HIGH) +
- +
-def off(): +
-    GPIO.output(PIN, GPIO.LOW) +
- +
-def status(): +
-    return GPIO.input(PIN) +
- +
-def cleanup(): +
-    GPIO.cleanup() +
-</code> +
- +
----- +
- +
-==== 5) logic.py ==== +
- +
-<code python logic.py> +
-import gpio_hw +
- +
-def turn_on(): +
-    gpio_hw.on() +
-    return "on" +
- +
-def turn_off(): +
-    gpio_hw.off() +
-    return "off" +
- +
-def get_status(): +
-    return "on" if gpio_hw.status() else "off" +
-</code> +
- +
----- +
- +
-==== 6) main.py ==== +
- +
-<code python  main.py> +
-import logic +
-import gpio_hw +
- +
-print("GPIO CLI gestartet (CTRL+C beendet)"+
- +
-try: +
-    while True: +
-        cmd = input("on / off / status > ").strip() +
-        if cmd == "on": +
-            print(logic.turn_on()) +
-        elif cmd == "off": +
-            print(logic.turn_off()) +
-        elif cmd == "status": +
-            print(logic.get_status()) +
-except KeyboardInterrupt: +
-    pass +
-finally: +
-    gpio_hw.cleanup() +
-</code> +
- +
----- +
- +
-==== 7) Start Phase 1 ==== +
- +
-<code bash> +
-cd ~/devel/gpio_projects +
-source gpio_projects/bin/activate +
-python3 main.py +
-</code> +
- +
----- +
- +
-===== PHASE 3 – Web später ===== +
- +
-<code bash> +
-pip install fastapi uvicorn +
-</code> +
- +
----- +
- +
-===== systemd später mit dieser ENV ===== +
- +
-<code> +
-ExecStart=/home/pi/devel/gpio_projects/gpio_projects/bin/uvicorn api:app --host 127.0.0.1 --port 8000 +
-</code> +
- +
----- +
- +
-===== Ergebnis ===== +
- +
-  * ENV = gpio_projects +
-  * Projekt = ~/devel/gpio_projects +
-  * kein raspi_gpio_env mehr +
-  * konsistent für alle Phasen +
- +
- +
-===== Anhang ===== +
- +
-<code readme.txt> +
-# [python env] +
- +
-## env anlegen +
-cd ~/devel/gpio_projects          # ordner wechseln +
-python3 -m venv gpio_env          # env mit namen gpio_env erstellen +
- +
-## aktivieren +
-source ~/devel/gpio_projects/gpio_env/bin/activate   # absoluter pfad zur env+
  
-## deaktivieren +^ Nr ^ Projekt ^ Projektordner ^ Hauptprogramm ^ 
-deactivate                       # env verlassen+|**1**| Python „Erste Schritte“ in der interaktiven Konsole – //Praktische Übungen im Kurs// | - | - | 
 +|| 
 +|**2.1**|[[Python "Erste Skripte"]]| **course_reflex_simple** | ''reflex_simple.py''
 +|**2.2**|↳ Erweiterung | **course_reflex_advanced** | ''reflex_advanced.py''
 +|| 
 +|**3**|[[Python "Python-Umgebung (env) einrichten" – Vorbereitungen für Projekte schaffen]]| **course_env** | | 
 +|| 
 +|**4.1**|[[Python "Projekt GPIO"]]| **course_led_simple** | ''led_simple.py''
 +|**4.2**|↳ Erweiterung | **course_led_advanced** | ''led_advanced.py''
 +|| 
 +|**5**|[[Python "Projekt DS18B20 digitaler Temperatursensor"]]| **course_temp_reader** | ''temp_reader.py''
 +|**6**|[[python_ds18b20_logger|Python "Projekt: DS18B20 – Temperaturdaten loggen und visualisieren"]]| **course_temp_logger** | ''temp_logger.py''
 +|| 
 +|**7**|[[Projekt: Python FASTAPI]] //Raspi über das Internet mit Python steuern.//| **course_web** | ''app.py'' |
  
-## löschen 
-cd ~/devel/gpio_projects         # in projektordner wechseln 
-rm -rf gpio_env                  # env-ordner entfernen 
  
-</code> 
projekt/python.1770571486.txt.gz · Zuletzt geändert: von torsten.roehl