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 15:45] 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.//
  
  
-====== Raspberry-Pi-Kursprojekt: GPIO-App mit wachsender Architektur ====== 
  
-  * erst reines Python +{{ :raspberry_pi:python_running.png?600 |}} 
-  dann Dauerprozess +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.
-  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 ====+<note>**ONLINE  Python Hilfe** 
 +  * Hilfe/Beispiele: https://www.w3schools.com/python/ 
 +  * Offizielle Dokumentation: https://docs.python.org/
  
-<code bash> +  * Online Python: https://onecompiler.com/python 
-sudo apt update +</note>
-sudo apt install -y python3 python3-pip python3-venv +
-</code>+
  
----- 
  
-==== 1) Projektordner anlegen ====+===== Überblick =====
  
-<code bash> +|{{ :raspberry_pi:projects_overview.png?400 |}}| 
-mkdir -p ~/devel/gpio_projects +| Kursüberblick zu den Python-Projekten |
-cd ~/devel/gpio_projects +
-</code>+
  
-----+^ Nr ^ Projekt ^ Projektordner ^ Hauptprogramm ^ 
 +|**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'' |
  
-==== 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 
  
projekt/python.1770565550.txt.gz · Zuletzt geändert: von torsten.roehl