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> |