Python exemplarisch |
Befehl | Aktion |
makeGPanel() | erzeugt ein (globales) GPanel-Grafikfenster mit Koordinaten (0, 1, 0, 1). Cursor auf (0, 0) |
makeGPanel(xmin, xmax, ymin, ymax) |
erzeugt ein (globales) GPanel-Grafikfenster mit angegebenen Koordinaten. Cursor auf (0, 0) |
makeGPanel(xmin, xmax, ymin, ymax, False) |
dasselbe, aber mit unsichtbarem Fenster (sichtbar mit visible(True)) |
makeGPanel(Size(width, height)) |
wie makeGPanel(), aber Fenstergrösse wählbar (in Pixels) |
getScreenWidth() |
gibt Bildschirmbreite zurück (in Pixels) |
getScreenHeight() |
gibt Bildschirmhöhe zurück (in Pixels) |
window(xmin, xmax, ymin, ymax) |
setzt ein neues Koordinatensystem |
drawGrid(x, y) | zeichnet Gitter mit 10 Ticks im Bereich 0..x, 0..y. Anschrift abhängig, ob x,y int oder float |
drawGrid(x, y, color) | dasselbe mit Angabe der Farbe |
drawGrid(x1, x2, y1, y2) |
dasselbe im Bereich x1..x2, y1..y2 |
drawGrid(x1, x2, y1, y2, color) |
dasselbe mit Angabe der Farbe |
drawGrid(x1, x2, y1, y2, x3, y3) |
dasselbe mit Angabe der Anzahl der Anzahl Ticks x3, y3 in x- und y-Richtung |
drawGrid(x1, x2, y1, y2, x3, y3, color) |
dasselbe mit Angabe der Farbe |
drawPanelGrid(p, ...) | wie drawGrid(...) mit Angabe der GPanel-Referenz (für mehrere GPanels) |
visible(isVisible) | macht Fenster sichtbar/unsichtbar |
resizeable(isResizeable) | aktiviert, deaktiviert das Zoomen des Fensters |
dispose() | schliesst das Fenster |
isDisposed() | gibt True zurück, falls das Fenster geschlossen ist |
bgColor(color) | setzt die Hintergrundfarbe (X11-Farbstring oder Color type, zurückgegeben von makeColor()) |
title(text) | setzt den Text in der Titelzeile |
makeColor(colorStr) | gibt Farbe als Color type zum gegebenen X11-Farbstring zurück |
windowPosition(ulx, uly) | setzt das Fenster an die gegebene Bildschirmposition |
windowCenter() | setzt das Fenster in Bildschirmmitte |
storeGraphis() | speichert die Grafik in einem internen Buffer |
recallGraphics() | rendert die Grafik aus dem internen Buffer |
clearStore(color) | löscht den internen Buffer (überschreibt mit Farbe) |
delay(time) | Programm um Zeit time (Millisekunden) anhalten |
getDividingPoint(pt1, pt2, ratio) | liefert den Teilpunkt der Strecke mit Punktlisten pt1, pt2, der sie im Teilverhältnis ratio teilt |
getDividingPoint(c1, c2, ratio) | liefert den Teilpunkt der Strecke mit complex c1, c2, der sie im Teilverhältnis ratio teilt |
clear() | löscht Fensterinhalt (füllt mit Hintergrundfarbe) und setzt Cursor auf (0, 0) |
erase() | löscht Fensterinhalt (füllt mit Hintergrundfarbe) ohne Veränderung des Cursors |
putSleep() |
hält den Programmablauf an, bis wakeUp() aufgerufen wird |
wakeUp() | führt angehaltenen Programmablauf weiter |
linfit(X, Y) | führt eine lineare Regression y = a*x+b mit Daten in X- und Y-Liste aus und gibt (a, b) zurück |
addExitListener(onExit) | registriert die Callbackfunktion onExit(), die beim Click des Close-Buttons aufgerufen wird. Damit Fenster schliesst, muss dispose() aufgerufen werden |
lineWidth(width) | setzt die Stiftdicke (in Pixel) |
setColor(color) | setzt die Stiftfarbe (X11-Farbstring oder Colortype) |
move(x, y) | setzt Cursor auf (x, y) ohne zu zeichnen |
move(coord_list) | setzt Cursor auf Punktliste = [x, y] |
move(c) | setzt Cursor auf complex(x, y) ohne zu zeichnen |
getPosX() | liefert x-Koordinate des Cursors |
getPosY() | liefert y-Koordinate des Cursors |
getPos() | liefert Cursorposition als Punktliste |
draw(x, y), lineTo(x, y), lineto(x, y) | zeichnet Linie zu neuem Punkt (x, y) und ändert Cursor |
draw(coord_list), lineTo(coord_list), lineto(coord_list) | zeichnet Linie zu Punktliste = [x, y] und ändert Cursor |
draw(c), lineTo(c), lineto(c) | zeichnet Linie zu complex(x, y) und ändert Cursor |
line(x1, y1, x2, y2) | zeichnet Linie von (x1, y1) zu (x2, y2) ohne Änderung des Cursors |
line(pt1, pt2) | zeichnet Linie von pt1 = [x1, y1] zu pt2 = [x2, y2] ohne Änderung des Cursors |
line(c1, c2) | zeichnet Linie von complex(x1, y1) zu complex(x2, y2) ohne Änderung des Cursors |
line(li[p0, p1, ..]) | zeichnet Linienzug der Punkte in der Liste (auch Tupel) |
circle(radius) | zeichnet Kreis mit Mitte bei Cursor und gegebenem Radius |
fillCircle(radius) | zeichnet gefüllten Kreis (Füllfarbe = Stiftfarbe) |
ellipse(a, b) | zeichnet Ellipse mit Mitte bei Cursor und Halbachsen |
fillEllipse(a, b) | zeichnet gefüllte Ellipse (Füllfarbe = Stiftfarbe) |
rectangle(a, b) | zeichnet Rechteck mit Zentrum bei Cursor und Seiten |
rectangle(x1, y1, x2, y2) | zeichnet Rechteck mit gegenüberliegenden Eckpunkten |
rectangle(pt1, pt2) | zeichnet Rechteck mit gegenüberliegenden Punktlisten |
rectangle(c1, c2) | zeichnet Rechteck mit gegenüberliegenden complex |
fillRectangle(a, b) | zeichnet gefülltes Rechteck (Füllfarbe = Stiftfarbe) |
fillRectangle(x1, y1, x2, y2) | zeichnet gefülltes Rechteck (Füllfarbe = Stiftfarbe) |
fillRectangle(pt1, pt2) | zeichnet gefülltes Rechteck (Füllfarbe = Stiftfarbe) |
fillRectangle(c1, c2) | zeichnet gefülltes Rechteck (Füllfarbe = Stiftfarbe) |
arc(radius, startAngle, extendAngle) |
zeichnet Kreisbogen mit Zentrum bei Cursor, Radius und Start- und Sektorwinkel (0 nach Osten, positiv im Gegenuhrzeigersinn) |
fillArc(radius, startAngle, extendAngle) |
zeichnet gefüllten Kreisbogen (Füllfarbe = Stiftfarbe) |
polygon(x_list, y_list) | zeichnet Polygon mit Eckpunkten mit x-Koordinaten aus der Liste x_list und y-Koordinaten aus y_list |
polygon((li[pt1, pt2,..]) | zeichnet Polygon mit Liste aus Eckpunktlisten pt1, pt2,... |
polygon(li[c1, c2, c3,...]) | zeichnet Polygon mit Liste aus Eckpunktcomplex c1, c2,... |
fillPolygon(x_list, y_list) | zeichnet gefülltes Polygon (Füllfarbe = Stiftfarbe) |
fillPolygon((li[pt1, pt2,..]) | zeichnet gefülltes Polygon (Füllfarbe = Stiftfarbe) |
fillPolygon(li[c1, c2, c3,...]) | zeichnet gefülltes Polygon (Füllfarbe = Stiftfarbe) |
lowerPath, upperPath, hull = getHull(li[pt1, pt2,...]) | liefert Punkttupels lowerPath, upperPath und hull der konvexen Hülle der Punkte pt1, pt2, ... |
quadraticBezier(x1, y1, xc, yc, x1, y2) |
zeichnet quadratische Bezier-Kurve mit 2 Punkten (x1, y1), (x2, y2) und Kontrollpunkt (xc, yc) |
quadraticBezier(pt1, pc, pt2) |
zeichnet quadratische Bezier-Kurve mit 3 Punktlisten |
quadraticBezier(c1, cc, c2) |
zeichnet quadratische Bezier-Kurve mit 3 complex |
cubicBezier(x1, y1, xc1, yc1, xc2, yc2, x2, y2) |
zeichnet kubische Bezier-Kurve mit 2 Punkten (x1, y1), (x2, y2) und 2 Kontrollpunkten (xc1, yc1), (xc2, yc2) |
cubicBezier(pt1, ptc1, ptc2, pt2) |
zeichnet kubische Bezier-Kurve mit 2 Punktlisten und 2 Kontrollpunktlisten |
cubicBezier(c1, cc1, cc2, c2) |
zeichnet kubische Bezier-Kurve mit 4 complex |
triangle(x1, y1, x2, y2, x3, y3) |
zeichnet Dreieck mit Eckpunkten |
triangle(pt1, pt2, pt3) |
zeichnet Dreieck mit Eckpunktlisten |
triangle(c1, c2, c3) |
zeichnet Dreieck mit complex |
triangle(li[pt1, pt2, pt3]) |
zeichnet Dreieck mit Liste der Eckpunkte |
fillTriangle(x1, y1, x2, y2, x3, y3) |
zeichnet gefülltes Dreieck (Füllfarbe = Stiftfarbe) |
fillTriangle(pt1, pt2, pt3) |
zeichnet gefülltes Dreieck (Füllfarbe = Stiftfarbe) |
fillTriangle(c1, c2, c3) | zeichnet gefülltes Dreieck (Füllfarbe = Stiftfarbe) |
fillTriangle(li[pt2, pt2, pt3]) | zeichnet gefülltes Dreieck (Füllfarbe = Stiftfarbe) |
point(x, y) | zeichnet 1-Pixel-Punkt bei (x, y) |
point(pt) | zeichnet 1-Pixel-Punkt bei Punktliste pt = [x,y] |
point(complex) | zeichnet 1-Pixel-Punkt bei complex(x, y) |
fill(x, y, color, replacementColor) | füllt geschlossenes Gebiet um Punkt (x, y). color wird durch replacementColor ersetzt (floodfill) |
fill(pt, color,replacementColor) | füllt geschlossenes Gebiet um Punkt pt. color wird durch replacementColor ersetzt (floodfill) |
fill(complex, color,replacementColor) | füllt geschlossenes Gebiet um complex(x, y). color wird durch replacementColor ersetzt (floodfill) |
image(path, x, y) | fügt eine Bild im GIF- , PNG- oder JPG-Format mit unterer linker Ecke bei (x, y) ein. Pfad zur Bilddatei: Relativ zum Verzeichnis von TigerJython, im Distributions-JAR (Verzeichnis sprites) oder mit http:// vom Internet. |
image(path, pt) | dasselbe mit Punktliste |
image(path, complex) | dasselbe mit complex |
imageHeighpath) | gibt die Bildhöhe zurück |
imageWidth(path) | gibt die Bildbreite zurück |
enableRepaint(boolean) | aktiviert/deaktiviert das automatische Rendern des Offscreen-Buffers (Standard: aktiviert) |
repaint() | rendert den Offscreen-Buffer (nötig, wenn das automatische Rendern deaktiviert ist) |
setPaintMode() | wählt den normalen Zeichnungsmodus |
setXORMode(color) | wählt den XOR-Zeichnungsmodus mit gegebener Farbe. Zweimaliges Zeichnen löscht |
getPixelColor(x, y) | gibt Farbe am Punkt (x, y) als Color type zurück |
getPixelColor(pt) | gibt Farbe an Punktliste pt = [x, y] als Color type zurück |
getPixelColor(complex) | gibt Farbe an complex(x, y) als Color type zurück |
getPixelColorStr(x, y) | gibt Farbe am Punkt (x, y) als X11-Farbstring zurück |
getPixelColorStr(pt) | gibt Farbe an Punktliste als X11-Farbstring zurück |
getPixelColorStr(complex) | gibt Farbe an complex als X11-Farbstring zurück |
makeColor(value) | gibt eine Farbreferenz von value zurück. Werte-Beispiele: ("7FFED4"), ("Aqua-Marine"), (0x7FFED4), (8388564), (0.5, 1.0, 0.83), (128, 255, 212), ("rainbow"", n) mit n = 0..1, Lichtspektrum |
text(string) | schreibt Text mit Beginn beim aktuellen Cursor |
text(x, y, string) | schreibt Text mit Beginn bei Punkt (x, y) |
text(pt, string) | schreibt Text mit Beginn bei Punktliste pt = [x, y] |
text(complex, string) | schreibt Text mit Beginn bei complex(x, y) |
text(x, y, string, font, textColor, bgColor) |
schreibt Text mit Beginn bei (x, y) mit Font, Textfarbe und Hintergrundfarbe |
text(pt, string, font, textColor, bgColor) |
schreibt Text mit Beginn bei Punkliste mit Font, Textfarbe und Hintergrundfarbe |
text(complex,string, font, textColor, bgColor) |
schreibt Text mit Beginn bei complex(x, y) mit Font, Textfarbe und Hintergrundfarbe |
font(font) | setzt ein neues Standardfont |
makeGPanel(mouseNNN = onMouseNNN) auch mehrere, durch Komma getrennt |
registriert die Callbackfunktion onMouseNNN(x, y), die beim Mausevent aufgerufen wird. Werte für NNN: Pressed, Released, Clicked, Dragged, Moved, Entered, Exited, SingleClicked, DoubleClicked |
isLeftMouseButton(), |
gibt True zurück, falls beim Event die linke bzw. rechte Maustaste verwendet wurde |
makeGPanel(keyPressed = onKeyPressed) |
registriert die Callbackfunktion onKeyPressed(keyCode), die beim Drücken einer Tastaturtaste aufgerufen wird. keyCode ist ein für die Taste eindeutiger integer Code |
getKeyModifiers() |
liefert nach einem Tastaturevent einen Code für Spezialtasten (Shift, Ctrl, usw., auch kombiniert) |
makeGPanel(closeClicked = onCloseClicked) |
registriert die Callbackfunktion onCloseClicked(), die beim Klick des Close-Buttons der Titelzeile aufgerufen wird. Das Fenster muss mit dispose() geschlossen werden |
showSimulationBar(NNN = onNNN) | zeigt ein Dialogfenster mit den Button 'Step', 'Run'/'Pause', 'Reset' und einem Slider zum Einstellen der Simulationsperiode. Folgende Callbacks NNN können registiert werden: start, pause, step, reset, change(Parameter: simulationPeriod), loop, exit (close button gedrückt). loop wird in jedem Simulationszyklus vom Simulationsthread aufgerufen |
showSimulationBar(ulx, uly, initPeriod, NNN = onNNN) | wie oben, aber mit Positionierung des Dialogfensters (obere linke Ecke) und Anfangswert der Simulationsperiode (default: 100) |
hideSimulationBar() | schliesst das Dialogfenster und gibt alle Ressourcen frei |
getKey() | holt den letzten Tastendruck ab und liefert String zurück (leer, falls illegale Taste) |
getKeyCode() | holt den letzten Tastendruck ab und liefert Code zurück |
getKeyWait() | wartet bis Taste gedrückt und liefert String zurück (leer, falls illegale Taste) |
getKeyCodeWait() | wartet bis Taste gedrückt und liefert Code zurück |
kbhit() | liefert True, falls ein Tastendruck noch nicht mit getKey() od. getKeyCode() abgeholt ist |
add(component) | fügt component in einer Zeile am oberen Rand hinzu |
validate() | baut das Fenster mit hinzugefügten Komponenten neu auf |
addStatusbar(height) | fügt eine Statusbar mit gegebener Höhe in Pixels hinzu |
setStatusText(text) | schreibt Text in Statusbar |
setStatusText(text, font, color) | schreibt Text mit Font und Textfarbe in Statusbar |
Font(name, style, size) | erzeugt eine neues Font mit gegebenen Namen, Stil und Grösse |
name | ein String mit einem dem System bekannten Fontnamen, z.B.. "Times New Roman", "Arial", "Courier" |
style | einer der Konstanten: Font.PLAIN, Font.BOLD, Font.ITALIC oder einen Kombination davon: Font.BOLD + Font.ITALIC |
size | ein Integer mit einer auf dem System verfügbaren Font-Grösse (in pixels), z.B. 12, 16, 72 |
msgDlg(message) | öffnet einen modalen Dialog mit einem OK-Button und gegebenem Mitteilungstext |
msgDlg(message, title = title_text) | dasselbe mit Titelangabe |
inputInt(prompt) | öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt den eingegebenen Integer zurück (falls kein Integer, wird Dialog neu angezeigt). Abbrechen od. Schliessen beendet das Programm. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
inputInt(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern gibt None zurück. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
inputFloat(prompt) | öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt den eingegebenen Float zurück (falls kein Float, wird Dialog neu angezeigt). Abbrechen od. Schliessen beendet das Programm. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
inputFloat(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern gibt None zurück. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
inputString(prompt) | öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt den eingegeben String zurück. Abbrechen od. Schliessen beendet das Programm. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
inputString(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern gibt None zurück. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
input(prompt) | öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt Eingabe als Integer, Float oder String zurück. Abbrechen od. Schliessen beendet das Programm. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
input(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern gibt None zurück. Mit dem benannten Parameter init kann ein Initialisierungswert gesetzt werden |
askYesNo(prompt) | öffnet einen modalen Dialog mit Ja/Nein-Buttons. Ja gibt True, Nein gibt False zurück. Schliessen beendet das Programm |
askYesNo(prompt, False) | dasselbe, aber Schliessen beendet das Programm nicht, sondern gibt None zurück |
bm = GBitmap(width, height) | erzeugt Bitmap mit gewünschte Anzahl horizontaler und vertikaler Bildpunkten |
bm = GBitmap(width, height) | erzeugt Bitmap mit gewünschte Anzahl horizontaler und vertikaler Bildpunkten |
bm.getPixelColor(x ,y) | liefert die Farbe des Pixels mit der Koordinate (x, y) |
bm.getPixelColorStr(x ,y) | gibt den X11-Color-Namen der Farbe im Pixels mit der Koordinate (x, y) |
bm.setPixelColor(x ,y, color) | setzt die Farbe des Pixels (x, y) |
bm.setPixelColorStr(x ,y, color) | setzt die X11-Color-Farbe des Pixels (x, y) |
image(bm, x, y) | stellt Bitmap bm im GPanel an der Position x, y dar |
save(img, imgname, imgtype) | speichert Bild unter dem gegebnen Dateinamen |
Befehl | Aktion |
polynomfit(xdata, ydata, n) | fittet mit einem Polynom der Ordnung n und liefert in ydata die gefitteten Werte. Rückgabewert: Liste mit den n + 1 Polynom-Koeffizienten |
splinefit(xdata, ydata, nbKnots) | fittet mit einer Splinefunktion, die durch nbKnots äquidistante Datenpunkte geht. Liefert in ydata die gefitteten Werte |
functionfit(func, derivatives, initialGuess, xdata, ydata) | fittet die Funktion func(x, param) mit n Parametern in der Liste param. derivatives(x, param) gibt eine Liste mit den Werten der n partiellen Ableitungen nach den Parametern zurück. initGuess ist eine Liste mit n Lösungsvorschlägen der Parameter |
functionfit(func, derivatives, initialGuess, xdata, ydata, weights) | dasselbe unter Angabe einer Liste weights von relativen Gewichten der Datenpunkte |
toAequidistant(xrawdata, yrawdata, deltax) | gibt zwei Listen xdata, ydata mit äquidistanten Werten in x-Abständen deltax zurück (lineare Interpolation) |
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, serverName = "PYSERVER", port = 80, isVerbose = False) | erzeugt einen HTTPServer (Web server, abgeleitet aus TCPServer), der auf dem gegebenen port (default: 80) auf einen Client wartet. Startet einen Thread, der an kommende HTTP GET requests abarbeitet und einen HTTP response erzeugt. Dieser verwendet im Header den gegebenen Servernamen (default: PYSERVER). Es werden nur Textresponses unterstützt requestHandler() ist eine Callbackfunktion, die bei einem GET request aufgerufen wird. Für stateHandler = None wird nichts gemacht. Die Funktion kann länger dauernde Aktionen umfassen oder eine Wartezeit enthalten, damit keine neuen Requests mehr angenommen werden, bis ein Sensor wieder bereits ist, diese zu verarbeiten. 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) |
HTTPServer.getServerIP() | gibt die gepunktete IP-Adresse des Servers zurück (statische Methode) |
(alle Methoden von TCPServer) |
server = BTServer(serviceName, stateChanged, isVerbose = False) | erzeugt einen Bluetooth-Server, der den RFCOMM-Service mit dem Namen serviceName anbietet. 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 den LISTENING-Zustand und gibt interne Ressourcen 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). |
BTServer.getVersion() | gibt die Version des Moduls als String zurück |
client = BTClient(stateChanged, isVerbose = False) | erzeugt einen Bluetooth-Client, der für eine Verbindung mit einem BTServer vorbereitet ist. Zustandsänderungen rufen stateChanged() auf. Für isVerbose = True werden Debug-Messages im Ausgabefenster ausgeschrieben |
client.findServer(serverName, timeout) | führt eine Bluetooth-Inquiry durch, um den Server mit dem gegebenen Bluetooth-Namen zu finden. Gibt das Tupel serverInfo zurück: ("nn:nn:nn:nn:nn:nn", channel) , z.B. ("B8:27:EB:04:A6:7E", 1). Falls der Server nicht antwortet, wird None zurückgegeben. Die Suche wird bis zum Erreichen des timeout (in s) wiederholt |
client.findService(serviceName, timeout) | führt eine Bluetooth-Inquiry durch, um einen Bluetooth-Server mit dem gegebenen RFCOMM-Servicenamen zu finden. Gibt das Tupel serverInfo zurück: ("nn:nn:nn:nn:nn:nn", channel) , z.B. ("B8:27:EB:04:A6:7E", 1). Falls der server nicht antwortet, wird None zurückgegeben. Die Suche wird bis zum Erreichen des timeout (in s) wiederholt |
stateChanged(state, msg) | Callback, der bei Zustandsänderungen aufgerufen wird. state: "CONNECTING" , msg: server info (MAC-Adresse, Bluetooth-Kanal) state: "CONNECTED" , msg: server info state: "CONNECTION_FAILED", msg: sever info state: "DISCONNECTED", msg: leer state: "MESSAGE", msg: erhaltene Message |
client.connect(serverInfo, timeout) | erstellt eine Verbindung zum Server (blockierend bis maximal timeout in s). Gibt True zurück, falls die Verbindung zustande gekommen ist, sonst wird False zurückgegeben. serverInfo ist ein Tupel mit MAC-Adresse und Kanal ("nn:nn:nn:nn:nn:nn", channel) , z.B. ("B8:27:EB:04:A6:7E", 1) |
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() | schliesst die Verbindung mit dem Server |
client.sendMessage(msg,) | sendet die Information msg zum Server (als String, das Zeichen \0 (ASCII 0) dient als Endzeichen, automatisch transparent hinzugefügt und wieder entfernt). |
BTClient.getVersion() | gibt die Version des Moduls als String zurück |
client = MQTTClient(messageReceived = None, username = "", password = "") | erzeugt einen MQTTClient, der Topics publiziert (publish) und/oder abonniert (subscribe). Der Client erstellt noch keine Verbindung zu einem Broker. |
client.connect(host, port = 1883, keepalive = 60) | startet einen Verbindungsaufbau zum gegebenen Broker auf dem gegebenen IP port (default: 1883).
keepalive ist die maximale Periode (in s) zwischen zwei Kommunikationen mit dem Broker (default: 60 s) Falls keine anderen Messages ausgetauscht werden, handelt es sich um das Zeitintervall zwischen bei Ping-Messages. Gibt True zurück, falls die Verbindung zustande gekommen ist; sonst wird False zurück gegeben |
client.disconnect() | beendet die Verbindung zum Broker |
client.publish(topic, payload, qos = 0, retain = False) | sendet eine Message mit gegebenen Topic und Payload zum Broker. payload ist ein String (bei einem int oder float, wird dieser zuerst in einen String konvertiert). qos ist die Qualitätsstufe (quality of service level, Zahl 0, 1, 2, default: 0). retain bestimmt, ob die Message als “last known good”/retained message für dieses Topic betrachtet wird (default: False) |
client.subscribe(topic, qos = 0) | abonniert (subscribes) den Client auf eines oder mehrere Topics. topic ist ein String oder eine Liste mit Tupels im Format (topic, qos). qos ist die Qualitätsstufe (quality of service level, Zahl 0, 1, 2, default: 0); wird nicht verwendet, falls topic eine Liste ist |
client.setVerbose(verbose) | schaltet das Ausschreiben von Log-Informationen ein/aus |
Klasse GameClient
client = GameClient(stateChanged, messageReceived, topic = "/ch/aplu/mqtt/gameclient") | erzeugt eine GameClient Instanz zur Rückgabe von Statusinformationen und dem Austausch von Informationen für Zweipersonen-Spiele. stateChanged(state) ist eine Callbackfunktion, da bei der Änderng des Game-Zustands aufgerufen wird. Statuswert: 'CONNECTING' (während des Verbindungsaufbaus zum Broker), 'CONNECTED' (falls im dem Broker verbunden, aber noch auf den Spielpartner wartend), 'READY' (beide Spieler sind spielbereit), 'DISCONNECTED' (der Spielpartner ist nicht mehr verbunden). messageReceived(msg) ist eine Callbackfunktion, die beim Empfang von Informationen aufgerufen wird. topic ist das MQTT Topic, das für den Datenaustausch verwendet wird (default: /ch/aplu/mqtt/gameclient) |
client.connect(host, port = 1883) | startet einen Verbindungsaufbau zum MQTT Broker mit gegebenen IP Adresse und IP Port (default: 1883) |
client.sendMessage(text) | sendet eine Textinformation zum Partner |
client.disconnect() | beendet die Verbindung zum Broker |
client.getState() | gibt den aktuellen Zustand zurück (ein Wert aus 'IDLE', 'CONNECTING', 'CONNECTED', 'READY', 'DISCONNECTED') |