Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| phtg:bp:ch3:datacollection [2024-05-16 11:32] – [Python: Zeitstempel formatieren] hof | phtg:bp:ch3:datacollection [2024-05-31 07:42] (aktuell) – [Python: Datei Ein- und Ausgabe] hof | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ## Data Collection | ## Data Collection | ||
| + | |||
| + | < | ||
| Keine Batterie hält ewig - nun möchten wir wissen, wie lange unsere Batterie Strom liefert, und wieviel Energie wir praktisch nutzen konnten, bis sie leer ist. Aus der Physik wissen wir, dass $Spannung\cdot{}Strom$ die Leistung unserer Batterie (bzw. die Leistungsaufnahme der Leuchte) ergibt. Wenn wir die Leistung über die ganze Lebensdauer unseres Systems aufzeichnen, | Keine Batterie hält ewig - nun möchten wir wissen, wie lange unsere Batterie Strom liefert, und wieviel Energie wir praktisch nutzen konnten, bis sie leer ist. Aus der Physik wissen wir, dass $Spannung\cdot{}Strom$ die Leistung unserer Batterie (bzw. die Leistungsaufnahme der Leuchte) ergibt. Wenn wir die Leistung über die ganze Lebensdauer unseres Systems aufzeichnen, | ||
| Zeile 60: | Zeile 62: | ||
| #### Python: Sensoren auslesen | #### Python: Sensoren auslesen | ||
| - | Einmalig muss in Python die `godirect` Bibliothek installiert werden ([Anleitung](https:// | + | **Einmalig** muss in Python die `godirect` Bibliothek installiert werden ([Anleitung](https:// |
| <code bash> | <code bash> | ||
| pip3 install godirect | pip3 install godirect | ||
| Zeile 87: | Zeile 89: | ||
| ##### Aufgabe | ##### Aufgabe | ||
| Schliesse deinen Spannungs-Sensor an und führe obigen Code aus. Die gemessene Spannung sollte nahe bei null sein. | Schliesse deinen Spannungs-Sensor an und führe obigen Code aus. Die gemessene Spannung sollte nahe bei null sein. | ||
| - | |||
| #### Python: Datei Ein- und Ausgabe | #### Python: Datei Ein- und Ausgabe | ||
| Zeile 103: | Zeile 104: | ||
| * Wenn Dateien gelesen oder geschrieben werden, müssen sie beim Betriebssystem reserviert werden. Mit `with` wird sichergestellt, | * Wenn Dateien gelesen oder geschrieben werden, müssen sie beim Betriebssystem reserviert werden. Mit `with` wird sichergestellt, | ||
| * Die Datei (hier ' | * Die Datei (hier ' | ||
| - | * `' | + | * `' |
| * `str()` verwandelt die Zahl in einen Text. | * `str()` verwandelt die Zahl in einen Text. | ||
| * `' | * `' | ||
| ##### Aufgabe | ##### Aufgabe | ||
| - | Beschreibe eine Datei mit einigen Zeilen. Es ist ungünstig, mehr als einige zehntausend Zeilen zu schreiben.. | + | Beschreibe eine Datei mit einigen Zeilen. Es ist ungünstig, mehr als einige zehntausend Zeilen zu schreiben... |
| - | . | + | |
| #### Python: Schlafen | #### Python: Schlafen | ||
| Wir wollen nur alle zehn Sekunden einen neuen Record schreiben, aber der Computer ist viel schneller. Zwischen den Messungen schlafen wir also: | Wir wollen nur alle zehn Sekunden einen neuen Record schreiben, aber der Computer ist viel schneller. Zwischen den Messungen schlafen wir also: | ||
| - | <code python> | + | <html>< |
| - | import time | + | duration = 3 |
| - | duration = 5 | + | |
| print(f' | print(f' | ||
| time.sleep(duration) | time.sleep(duration) | ||
| print(' | print(' | ||
| - | </code> | + | </bottom-editor></ |
| ##### | ##### | ||
| Führe den obigen Code aus. Ändere ihn so ab, dass der Schlaf nur noch $2.5s$ dauert! | Führe den obigen Code aus. Ändere ihn so ab, dass der Schlaf nur noch $2.5s$ dauert! | ||
| + | |||
| #### Python: Zeitstempel formatieren | #### Python: Zeitstempel formatieren | ||
| Zeitstempel können aus der `datetime` Bibliothek geholt werden: | Zeitstempel können aus der `datetime` Bibliothek geholt werden: | ||
| - | <code python> | + | <html>< |
| - | from datetime import datetime | + | |
| print(datetime.now()) | print(datetime.now()) | ||
| - | </code> | + | </bottom-editor></ |
| Mit Python f-Strings können mehrere Argumente praktisch in einen String gepackt werden: | Mit Python f-Strings können mehrere Argumente praktisch in einen String gepackt werden: | ||
| - | <code python> | + | <html>< |
| - | from datetime import datetime | + | |
| timestamp = datetime.now() | timestamp = datetime.now() | ||
| planet = ' | planet = ' | ||
| magnitude = ' | magnitude = ' | ||
| print(f' | print(f' | ||
| - | </code> | + | </bottom-editor></ |
| ##### | ##### | ||
| Zeile 148: | Zeile 148: | ||
| Ändere den Code so ab, dass eine _small_ disturbance auf dem Planet _Coruscant_ rapportiert wird. | Ändere den Code so ab, dass eine _small_ disturbance auf dem Planet _Coruscant_ rapportiert wird. | ||
| - | (Du weisst nicht, was mit _Alderaan_ oder _Coruscant_ oder der [[https:// | + | (Du weisst nicht, was mit _Alderaan_ oder _Coruscant_ oder der [[https:// |
| - | ) | + | |
| #### CSV-Format | #### CSV-Format | ||
| Unsere Log-Datei ist im [[wpde> | Unsere Log-Datei ist im [[wpde> | ||