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 16:52] torsten.roehlprojekt:python [2026/02/14 11:49] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
-====== Python ======+======= Python =======
  
  
 [[raspberry_pi:einstiegskurs_raspberry_pi|  ☚ zurück ]] [[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. **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 
-  * dann Dauerprozess 
-  * dann Web-API 
-  * dann Apache davor 
-  * EIN Projekt, keine Neuentwicklung 
  
-**ENV:** gpio_projects   
-**Projektpfad:** ~/devel/gpio_projects   
  
-----+{{ :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.
  
-===== PHASE 1 – Reines Python + GPIO ===== 
  
----- 
  
-==== 0) System vorbereiten ==== 
  
-<code bash> +===== Überblick =====
-sudo apt update +
-sudo apt install -y python3 python3-pip python3-venv +
-</code>+
  
----- 
  
-==== 1) Projektordner anlegen ==== 
  
-<code bash> +  * Python „Erste Schritte“ auf der interaktiven Konsole    
-mkdir -p ~/devel/gpio_projects +  * [[Python „Python-Umgebung (env) einrichten“ – Vorbereitungen für Projekte schaffen]]   
-cd ~/devel/gpio_projects +  * [[Python „Erste Skripte“]]   
-</code>+  * [[Python „Projekt GPIO“]]
  
----- 
  
-==== 2) Virtuelle Umgebung anlegen (NAME: gpio_projects) ====+===== Anhang =====
  
-<code bash> 
-python3 -m venv gpio_projects 
-source gpio_projects/bin/activate 
  
-pip install RPi.GPIO 
-</code> 
  
----- 
  
-==== 3) Projektstruktur Phase 1 ====+<code | readme.txt>
  
-<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 
- 
- 
-<code  readme.txt> 
 # [python env] # [python env]
  
 ## env anlegen ## env anlegen
-cd ~/devel/gpio_projects          # ordner wechseln +cd ~/devel/gpio_projects          # in den Projektordner wechseln 
-python3 -m venv gpio_env          # env mit namen gpio_env erstellen+python3 -m venv gpio_env          # venv mit Namen gpio_env erstellen
  
 ## aktivieren ## aktivieren
-source ~/devel/gpio_projects/gpio_env/bin/activate   # absoluter pfad zur env+source ~/devel/gpio_projects/gpio_env/bin/activate   # absolute Pfadangabe zur venv
  
 ## deaktivieren ## deaktivieren
-deactivate                       # env verlassen+deactivate                       # venv verlassen
  
 ## löschen ## löschen
-cd ~/devel/gpio_projects         # in projektordner wechseln +cd ~/devel/gpio_projects         # in den Projektordner wechseln 
-rm -rf gpio_env                  # env-ordner entfernen+rm -rf gpio_env                  # venv-Ordner entfernen 
  
 </code> </code>
 +
 +
projekt/python.1770569523.txt.gz · Zuletzt geändert: von torsten.roehl