Module import: | from ev3robot import * |
|
Spickzettel (die wichtigsten Python-Befehle)
Funktion | Action |
LegoRobot() | erzeugt Roboter (ohne Motoren) und stellt die Verbindung zum Roboter her |
addPart(part) | fügt eine Komponente zum Roboter |
clearDisplay() | Löscht die Anzeige [Simulationsmodus: Status bar] |
drawString(text, x, y) | Schreibt text an Position x, y [Simulationsmodus: in Status bar, (x, y) irrelevant] |
isEscapeHit() | True, falls ESCAPE-Taste gedrückt wurde [Simulationsmodus: Tastaturtaste Escape] |
isEnterHit() | True, falls ENTER-Taste gedrückt wurde [Simulationsmodus: Tastaturtaste Enter] |
isLeftHit() | True, falls LEFT-Taste gedrückt wurde [Simulationsmodus: Tastaturtaste Cursor-Left] |
isRightHit() | True, falls RIGHT-Taste gedrückt wurde [Simulationsmodus: Tastaturtaste Cursor-Right] |
isUpHit() | True, falls UP-Taste gedrückt wurde [Simulationsmodus: Tastaturtaste Cursor-Up] |
isDownHit() | True, falls DOWN-Taste gedrückt wurde [Simulationsmodus: Tastaturtaste Cursor-Up] |
playTone(frequency, duration) | spielt einen Ton mit geg, Frequenz (in Hz) in Länge (ms) [Simulationsmodus: nicht vorhanden] |
setVolume(volume) | setzt die Lautstärke für alle Tonausgaben (0..100) |
playSample(tag, volume) | spielt mit der Lautstärke volume (0..100) eine WAV Datei aus dem Verzeichnis /home/root/music mit dem Dateinamen song<tag>.wav ab (tag: integer) (Funktion nicht blockierend). WAV format: mono, 8 bit unsigned oder 16 bit signed mit maximaler Samplingrate 11025 Hz. [Simulationsmodus: nicht verfügbar] |
playSampleWait(tag, volume) | dasselbe, aber Funktion blockierend, bis Datei fertig abgespielt. [Simulationsmodus: nicht verfügbar] |
setLED(pattern) | setzt EV3-LEDS: 0: aus, 1: grün, 2: rot, 3: rot hell, 4: grün blinkend, 5: rot blinkend, 6: rot blinkend hell, 7: grün doppelblinkend, 8: rot doppelblinkend, 9: rot doppelblinkend hell |
exit() | stoppt den Roboter und beendet die Verbindung |
isConnected() | gibt True zurück, falls die Verbindung besteht [Simulationsmodus: Fenster nicht geschlossen] |
reset() | Simulationsmodus: setzt den Roboter an die Startposition/Startrichtung |
Gear() | erzeugt ein Fahrwerk mit 2 synchronisierten Motoren an Port A, B |
backward() | fährt rückwärts (nicht-blockierende Methode) |
backward(ms) | fährt während gegebener Zeit (in ms) rückwärts (blockierende Methode) |
isMoving() | gibt True zurück, wenn das Fahrwerk in Bewegung ist |
forward() | fährt vorwärts (nicht blockierende Methode) |
forward(ms) | fährt während gegebener Zeit (in ms) vorwärts (blockierende Methode) | left() | dreht links (nicht blockierende Methode) |
left(ms) | dreht während gegebener Zeit (in ms) links (blockierende Methode) |
leftArc(radius) | fährt auf einem Linksbogen mit geg. Radius (nicht- blockierende Methode) |
leftArc(radius, ms) | fährt während gegebener Zeit (in ms) auf einem Linksbogen (blockierende Methode) |
right() | dreht rechts (nicht-blockierende Methode) |
right(ms) | dreht während gegebener Zeit (in ms) rechts (blockierende Methode) |
rightArc(radius) | fährt auf einem Rechtsbogen mit geg. Radius (nicht blockierende Methode) |
rightArc(radius, ms) | fährt während gegebener Zeit (in ms) auf einem Rechtsbogen (blockierende Methode) |
setSpeed(speed) | setzt die Geschwindigkeit (default 30) |
stop() | stoppt das Fahrwerk |
getLeftMotorCount() | gibt momentanen Zählerstand für den linken Motor zurück [nicht für Sim] |
getRightMotorCount() | gibt momentanen Zählerstand für den rechten Motor zurück [nicht für Sim] |
resetLeftMotorCount() | setzt den Zähler des linken Motors auf 0 [nicht für Sim] |
resetRightMotorCount() | setzt den Zähler des rechten Motors auf 0 [nicht für Sim] |
TurtleRobot() | erzeugt Roboter mit Fahrwerk mit Motoren an Port A, B |
backward() | fährt rückwärts (nicht-blockierende Methode) |
backward(step) | fährt die gegebene Anzahl Schritte rückwärts (blockierende Methode) |
forward() | fährt vorwärts (nicht-blockierende Methode) |
forward(step) | fährt die gegebene Anzahl Schritte vorwärts (blockierende Methode) |
left() | dreht links (nicht-blockierende Methode) |
left(angle) | dreht um den gegebenen Winkel links (blockierende Methode) |
right() | dreht rechts (nicht-blockierende Methode) |
right(angle) | dreht um den gegebenen Winkel rechts (blockierende Methode) |
setTurtleSpeed(speed) | setzt die Geschwindigkeit |
Motor(MotorPort.port) | erzeugt einen Motor am Motorport A, B, C oder D |
backward() | dreht den Motor rückwärts |
forward() | dreht den Motor vorwärts |
setSpeed(speed) | setzt die Geschwindigkeit |
isMoving() | gibt True zurück, wenn der Motor in Bewegung ist |
stop() | stoppt den Motor |
getMotorCount() | gibt den momentanen Stand des Zählers zurück [nicht für Sim] |
resetMotorCount() | setzt den Zähler auf 0 [nicht für Sim] |
rotateTo(count) | setzt Zähler auf 0, bewegt Motor bis Zählerstand count und stoppt (blockierend) [nicht für Sim] |
rotateTo(count, blocking) | wie rotateTo(count), aber mit blocking False nicht blockierend [nicht für Sim] |
continueTo(count) | wie rotateTo(count), aber Zähler nicht auf 0 gesetzt [nicht für Sim] |
continueTo(count, blocking) | wie rotateTo(count, blocking), aber Zähler nicht auf 0 gesetzt [nicht für Sim] |
continueRelativeTo(count) | wie continueTo(count), aber count ist Inkrement [nicht für Sim] |
continueRelativeTo(count, blocking) | wie continueTo(count, blocking), aber count ist Inkrement [nicht für Sim] |
LightSensor(SensorPort.port) |
erzeugt einen Lichtsensor am SensorPort S1, S2, S3, S4 |
LightSensor(SensorPort.port, bright = onBright, dark = onDark) | dasselbe mit registrierten Event-Callbacks onBright(port, value), onDark(port, value) beim Überqueren des Triggerlevels |
LightSensor(SensorPort.port, True) | Nur Simulationsmodus: erzeugt einen nach oben gerichteten Lichtsensor am SensorPort S1, S2, S3, S4. Port S1: vorne rechts, S2: vorne links, S3: hinten rechts, S4: hinten links |
LightSensor(SensorPort.port, True, bright = onBright, dark = onDark) | dasselbe mit registrierten Event-Callbacks onBright(port, value), onDark(port, value) beim Überqueren des Triggerlevels |
getValue() | gibt den Wert des Lichtsensors zurück (Zahl zwischen 0 und 1000) |
setTriggerLevel(level) | setzt den Triggerlevel (default: 500) |
ColorSensor(SensorPort.port) | erzeugt einen Colorsensor am Port S1, S2, S3, S4 |
getColor() | gibt die gemessene Farbe zurück als Color-Objekt mit den Methoden getRed(), getGreen() und getBlue(), welche den RGB-Wert 0 - 255 liefern |
getColorID() | gibt eine Farbidentifikationszahl zurück: 0: undefiniert, 1: schwarz, 2: blau, 3:grün, 4: gelb, 5: rot, 6: weiss |
getColorStr() | liefert die Farbe als String (BLACK, BLUE, GREEN, YELLOW, RED, WHITE und UNDEFINED) |
getLightValue() | gibt die Helligkeit (im HSG Modell) der gemessenen Farbe zurück |
TouchSensor(SensorPort.port) | erzeugt einen Berührungssensor am SensorPort S1, S2, S3, S4 Simulationsmodus: Port S1: rechts, S2: links, S3: vorne Mitte, S4: hinten Mitte |
TouchSensor(SensorPort.port, pressed = onPressed, released = onReleased) | dasselbe mit registrierten Event-Callbacks onPressed(port), onReleased(port) |
isPressed() | gibt True zurück, falls der Touchsensor gedrückt ist |
SoundSensor(SensorPort.port) | erzeugt einen Soundsensor am Port S1, S2, S3, S4 (nur 1 Instanz erlaubt) |
SoundSensor(SensorPort.port, loud = onLoud, quiet = onQuiet) | dasselbe mit registrierten Event-Callbacks onLoud(port, value), onQuiet(port, value) beim Überqueren des Triggerlevels. Beim EV3: NxtSoundSensor(SensorPort.port, loud = onLoud, quiet = onQuiet) |
getValue() | gibt die Lautstärke zurück (0 - 150) |
setTriggerLevel(level) | setzt den Triggerlevel (default: 50) |
UltrasonicSensor(SensorPort.port) | erzeugt einen Ultraschallsensor. |
UltrasonicSensor(SensorPort.port, far = onFar, near = onNear) |
dasselbe mit registrierten Event-Callbacks onFar(port, value), onNear(port, value) beim Überqueren des Triggerlevels |
getDistance() | gibt die Entfernung zurück |
setTriggerLevel(level) | setzt einen Triggerlevel (default: 10) |
setProximityCircleColor(color) | Simulationsmodus: setzt die Farbe des Suchkreises |
setMeshTriangleColor(color) | Simulationsmodus: setzt die Füllfarbe der Maschen |
eraseBeamArea() | Simulationsmodus: löscht den Strahlbereich |
GyroRateSensor(SensorPort.port) | erzeugt einen GyroRateSensor am SensorPort S1, S2, S3, S4 |
getValue() | gibt die Winkelgeschwindigkeit zurück (Grad pro Sekunde, positiv im Gegenuhrzeigersinn) |
GyroAngleSensor(SensorPort.port) | erzeugt einen GyroAngelSensor am SensorPort S1, S2, S3, S4 |
getValue() | gibt die Orientierung des Sensors bezüglich seiner Startposition zurück (Grad im Gegenuhrzeigersinn) |
reset() | setzt die Startposition |
IRRemoteSensor(SensorPort.port) | erzeugt einen Infrarot-Fernsteuerungssensor am Port S1, S2, S3, S4 |
getCommand() | gibt die aktuelle Kommando-ID zurück: 0: nichts, 1:oben-links, 2:unten-links, 3:oben-rechts, 4:unten-rechts,5:oben-links+oben-rechts,6:oben-links+unten-rechts,7:unten-links+oben-rechts, 8::unten-links+unten-.rechts,9:Zentrum,10:unten-links+oben-links,11:oben-rechts+unten-rechts. Der Kanal wird mit dem roten Schiebeschalter gewählt.1: oben, 4: unten. Er entspricht der Portnummer, wo der Sensor angeschlossen ist. |
actionPerformed(port, command) | Callback-Funktion, die als benannter Parameter registriert werden kann |
IRSeekSensor(SensorPort.port) | erzeugt einen Infrarot-Suchensor am Port S1, S2, S3, S4 (aktive IR-Quelle der Fernsteuerung, wenn der Zentrums-Button gedrückt wird) |
v = getValue() | v.bearing gibt den Richtungswert (-12..12) und v.distance die Distanz (in cm) zur Quelle zurück. Der Kanal wird mit dem roten Schiebeschalter gewählt.1: oben, 4: unten. Er entspricht der Portnummer, wo der Sensor angeschlossen ist. |
IRDistanceSensor(SensorPort.port) | erzeugt einen Infrarot-Distanzsensor am Port S1, S2, S3, S4 (reflektierendes Target) |
getDistance() | gibt die Entfernung zurück (in cm; 255, falls die die Distanzmessung misslingt) |
TemperatureSensor(SensorPort.port) | erzeugt einen Temperatursensor am SensorPort S1, S2, S3, S4 (Lego NXT Temperature Sensor 9749) |
getTemperature() | gibt die Temperatur im Bereich -55..128 Grad Celsius zurück |
ArduinoLink(SensorPort.port) | erzeugt einen I2C-Master zur Verbindung mit dem Arduino auf Port S1, S2, S3, S4 |
getReply(request, reply) | sendet den request (Integer 0..255) an den Arduino und liefert die Antwort in der übergebenen Liste reply (max.16 Integers 0..255) |
getReplyInt(request) | sendet den request (Integer 0..255) an den Arduino und liefert eine Antwort als Integer 0..255 |
getReplyString(request) | sendet den request (Integer 0..255) an den Arduino und liefert die Antwort als String (max. 15 ASCII-Zeichen) |
I2CExpander(SensorPort.port, deviceType, slaveAddress) | erzeugt einen I2C Expander auf Port S1, S2, S3, S4. deviceType = 0: PCF8574, 1: PCF8574A, 2: PCF8591; slaveAddress: 8-bit I2C Adresse |
I2CExpander(SensorPort.port, deviceType, inputMode, slaveAddress) | dasselbe, aber mit Angabe von inputMode: 0: single ended, 2: three differential, 3: mixed, 4: two differential (gemäss Datenblatt PCF8591) |
writeDigital(out) |
setzt den Digital-Eingang/Ausgang (8 bits) und liefert den aktuellen Wert zurück. Für einen digitalen Eingang wird das Portbit auf 1 gesetzt. (Nur für PCF8574/PCF8574A) |
writeAnalog(out) | setzt den Analog-Ausgang (8 bits). (Nur für PCF8591) |
readAnalog(channel) | liefert den aktuellen Wert von channel 0..3 (0..255 für single ended, -128..127 für differential). (Nur für PCF8591) |
readAnalog() | liefert Liste mit den aktuellen Werten aller Kanäle. (Nur für PCF8591) |
sht = SHTSensor(SensorPort.port) | erzeugt eine Sensorinstanz am SensorPort S1, S2, S3, S4 |
sht.getValues() | liefert ein Float-Tupel mit Temperatur (Grad C) und Luftfeuchtigkeit (%) |
bme = BMESensor(SensorPort.port) | erzeugt eine Sensorinstanz am SensorPort S1, S2, S3, S4 |
bme.getValues() | liefert ein Float-Tupel mit Temperatur (Grad C), Luftfeuchtigkeit (%) und Luftdruck (hPa) |
adxl = ADXLSensor(SensorPort.port) | erzeugt eine Sensorinstanz am SensorPort S1, S2, S3, S4 |
adxl.getValues() | liefert ein Float-Tupel mit den Beschleunigungen in x-, y- und z-Richtung (m/s^2 im Bereich -2g .. 2g) |
enableTrace(True) | roboter hinterlässt Spuren |
enableRotCenter(True) | zeichnet bei Bewegungen auf einem Kreisbogen das Rotationszentrum |
setStartDirection(angle) | setzt die Startrichtung des Roboters (0 gegen Osten, positiv im Uhrzeigersinn) |
setStartPosition(x, y) | setzt die Startposition des Roboters (Pixelkoordinaten, Nullpunkt oben links |
showStatusBar(height) | fügt eine Statusbar mit gegebener Höhe unten am Fenster an |
setStatusText(text) | setzt den Statustext (alter Text wird gelöscht) |
useBackground(filename) | fügt ein Hintergrundbild für den Lichtsensor ein |
useObstacle(filename, x, y) | fügt ein Hindernis für den Touchsensor an der Position (x, y) ein |
useTarget(filename, mesh, x, y) | fügt ein Target für den Ultraschallsensor an der Position (x, y) ein |
setProximityCircleColor(color) | setzt die Farbe des Suchkreises |
setMeshTriangleColor(color) | setzt die Füllfarbe der Maschen |
eraseBeamArea() | löscht den Strahlbereich |
useTorch(power, x, y, z) | fügt ein Spotlicht mit der Leistung power an der Position (x, y, z) ein (mit Maus bewegbar, z: Höhe über Boden). Das Licht wird von nach oben zeigenden Lichtsensoren detektiert |
useShadow(ulx, ul.y, lrx, lry) | fügt einen rechteckigen Schatten im oberer linker Ecke (ulx, uly) und unterer rechten Ecke (lrx, lry) ein. Dieser deckt Licht von allen Spotlichtern ab |
EV3Copy (nur EV3, direkter Modus)
EV3Copy.copyFile(ipAddress, sourcePath, targetPath) | kopiert die lokale Datei sourcePath auf den targetPath des EV3 mit gegebener IP Adresse (Bsp.: copyFile("10.0.1.1", "c:/test.wav", /home/root/music/song1.wav") |
server = TCPServer(port, stateChanged, isVerbose = False) | erzeugt einen TCP-Socket-Server, der auf dem TCP-Port port auf Clients hört. Zustandsänderungen rufen stateChanged() auf. Für isVerbose = True werden Debug-Mitteilungen im Ausgabefenster ausgeschrieben |
stateChanged(state, msg) | Callback, der bei Zustandsänderungen aufgerufen wird. |
server.disconnect() | beendet die Verbindung mit dem Client und geht in den LISTENING-Zustand |
server.isConnected() | gibt True zurück, falls ein Client mit dem Server verbunden ist |
server.terminate() | beendet die Verbindung und den LISTENNG-Zustand, gibt den IP-Port frei |
server.isTerminated() | gibt True zurück, falls der Server terminiert wurde |
server.sendMessage(msg) | sendet die Information msg zum Client (als String, das Zeichen \0 (ASCII 0) dient als Endzeichen, automatisch transparent hinzugefügt und wieder entfernt) |
TCPServer.getVersion() | gibt die Version des Moduls als String zurück |
client = TCPClient(ipAddress, port, stateChanged, isVerbose = False) | erzeugt einen TCP-Socket-Client, der für eine Verbindung mit einem TCPServer mit der IP-Adresse ipAddress (String) und dem TCP-Port port vorbereitet ist. Zustandsänderungen rufen stateChanged() auf. Für isVerbose = True werden Debug-Messages im Ausgabefenster ausgeschrieben |
stateChanged(state, msg) | Callback, der bei Zustandsänderungen aufgerufen wird. state: TCPClient.CONNECTING, msg: IP Adresse:Port des Servers state: TCPClient.CONNECTION_FAILED, msg: IP Adresse:Port des Servers state: TCPClient.CONNECTED, msg: IP Adresse:Port des Servers state: TCPClient.SERVER_OCCUPIED, msg: IP Adresse:Port des Servers state: TCPClient.DISCONNECTED, msg: leer state: TCPClient.MESSAGE, msg: vom Server erhaltene Message (String) |
client.connect() | erstellt eine Verbindung zum Server (blockierend bis Timeout). Gibt True zurück, falls die Verbindung zustande gekommen ist, sonst wird False zurückgegeben |
client.connect(timeout) | dasselbe, aber Angabe des Timeouts (in s) für den Verbindungsversuch |
client.isConnecting() | gibt True zurück, während der Client einen Verbindungsversuch unternimmt |
client.isConnected() | gibt True zurück, falls der Client mit einem Server verbunden ist |
client.disconnect() | beendet die Verbindung mit dem Server |
client.sendMessage(msg, responseTime) | sendet die Information msg zum Server (als String, das Zeichen \0 (ASCII 0) dient als Endzeichen, automatisch transparent hinzugefügt und wieder entfernt). Für responseTime > 0 ist die Methode blockierend und erwartet innerhalb von responseTime (in s) eine Antwort. Die Antwort wird als Rückgabewert geliefert. Falls die Antwort nicht ankommt, wird None zurückgegeben |
TCPClient.getVersion() | gibt die Version des Moduls als String zurück |
server = HTTPServer(requestHandler, port = 81, isVerbose = False) | erzeugt und startet einen einfachen HTTP-Server mit dem gegebenen Namen, der auf dem gegebenen Port auf HTTP GET-Requests hört. Beim Eingang eines Requests wird die Callbackfunktion requestHandler mit folgenden Parametern aufgerufen: clientIP: IP-Adresse des Clients Der Rückgabewert wird dem Client als Messageteils des HTTP-Respose zugesendet. Mit verbose = True werden Debug-Informationen ausgeschrieben Um den Server zu stoppen und den Port wieder freizugeben, sollte terminate() aufgerufen werden |
server.getClientIP() | gibt die gepunktete IP-Adresse des Clients zurück (leerer String, falls kein Client verbunden ist) |
server.terminate() | beendet den Server und gibt die Port-Ressource frei |
Funktion | Aktion |
HTTPClient.getRequest(url, data = None) | sendet einen GET-Request an den Server. url ist entweder "http://serveraddress?key1=value1&key2=value2..." oder nur "http://serveraddress" und data eine Directory {key1: value1, key2: value2, ..}. In diesem Fall werden automatisch key und value URL-codiert. Für SSL (Port: 443) wird http: durch https: ersetzt. |
HTTPClient.postRequest(url, data = None) | sendet einen POST-Request an den Server . url ist entweder "http://serveraddress?key1=value1&key2=value2..." oder nur "http://serveraddress" und data eine Directory {key1: value1, key2: value2, ..}. In diesem Fall werden automatisch key und value URL-codiert. Für SSL (Port: 443) wird http: durch https: ersetzt. Der Rückgabewert ist der HTTP-Response (ohne Header). Falls ein Fehler auftritt, wird die Fehlerbeschreibung zurückgegeben |
HTTPClient.deletetRequest(url, data = "") | sendet einen DELETE-Request an den Server . url ist "http://serveraddress "http://serveraddress" und data ein String mit dem Dateipfad der zu löschenden Datei Für SSL (Port: 443) wird http: durch https: ersetzt. Der Rückgabewert ist der HTTP-Response (ohne Header). Falls ein Fehler auftritt, wird die Fehlerbeschreibung zurückgegeben |
HTTPClient.pushover(token_key, user_key, title, message) | sendet einen Push-Request an den Pushover-Server api.pushover.net mit gegebenen token key, user key, title und message. Für verbose = True werden Debug-Informationen ausgeschrieben. Der Rückgabewert ist der HTTP-Response (ohne Header). Falls ein Fehler auftritt, wird die Fehlerbeschreibung zurückgegeben |
Funktion | Aktion |
chn = ThingSpeakChannel(channelId, readKey, writeKey, userKey, verbose = False) | erzeugt eine Instanz der Klasse ThinkSpeakChannel für die Kommunikation mit einem eingerichteten Channel auf dem Cloudserver www.thingspeak.com. Die Parameter entsprechen den bei der Channel-Definition vom Server erhaltenenen Werten. Mit verbose = True werden Debuginformationen ausgeschrieben. userKey ist dem Konto und nicht dem Channel zugeordnet (User API Key) |
chn.getData(nbEntries = -1, includeDate = True) | liefert die letzten nbEntries Datensätze als Liste von Dictionaries [{fieldId: value}...] (fieldId = 1..8). Für nbEntries = -1 werden alle Datensätze zurückgegeben. Für includeDate = True wird auch das Feld 'data' zurückgegeben, das die Datumszeit der Erzeugung des Datensatzes enthält. Alle Werte sind Strings. Im Fehlerfall wird None zurückgegeben |
chn.getTable(nbEntries = -1, includeDate = True) | dasselbe, aber liefert eine Instanz von DbTable mit den Tabellenwerten (als Strings) zurück. Im Fehlerfall wird eine leere Tabelle zurückgegeben |
chn.show(nbEntries = -1, includeDate = True) | dasselbe, aber schreibt den Tabelleninhalt in der Konsole aus |
chn.getLastValue(fieldId = 1) | gibt den Wert (String) des letzten Datensatz mit gegebener fieldId (1..8) zurück. Im Fehlerfall oder falls die Tabelle leer ist, wird None zurückgegeben |
chn.getFields() | gibt ein Dictionary mit den im Channel definierten Feldern und ihren Namen: {'field1': <field name 1>, 'field2':, <field name 2>..}. Im Fehlerfall wird None zurückgegeben |
chn.insert(data, timeout = 20) | macht einen Tabelleneintrag und gibt bei Erfolg True zurück. data ist entweder ein Einzelwert (Zahl oder String) oder ein Dictionary {fieldId: wert, ...} für den Eintrag in mehrere Felder. Felder, die keinen Wert erhalten, werden auf None gesetzt. Für Gratiskonten ist nur alle 15 s ein neuer Eintrag erlaubt; ist der Server noch nicht bereit, so wird der Versuch alle Sekunden wiederholt, bis die Zeit timeout (in s) erreicht ist. Dann wird False zurückgegeben |
chn.clear() |
löscht alle Tabelleneinträge und gibt bei Erfolg True zurück |
Funktion | Aktion | ||||||||||||||||||||
info = weather.request(ssid, password, city, key = defaultKey, lang = "en") |
macht einen Wetterdaten-Request bei http://openweathermap.org für den gegebenen Ort. Dabei wird der gegebene Authorisierungsschlüssel verwendet. Dieser kann man man kostenfrei auf diesem Host beziehen. (Wird der Parameter weggelassen, so wird ein Standardschlüssel verwendet, der maximal 60 Anfragen / min für alle Nutzer erlaubt.) Rückgabewert: Dictionary mit den Feldern:
|
Modul time
Modulimport: import time
Funktion | Aktion |
time.time() |
Gibt die aktuelle Zeit in Sekunden an |