Methode | Aktion |
Robot() | erzeugt Roboter-Instanz (ohne Motoren) und stellt die Verbindung zum Roboter her |
Robot(ip) | dasselbe, aber verbindet ohne Abfragedialog mit geg. IP-Adresse/Alias (String) |
exit() | stoppt den Roboter, gibt alle Ressourcen frei und beendet die Verbindung |
getIPAdresses()() | gibt die IP-Adressen des Roboters zurück |
isEscapeHit() | True, falls Push-Button (autonom) bzw. Tastaturtaste Esc (Remote-Modus) gedrückt wurde |
isLeftHit() | True, falls Tastaturtaste Cursor-Left gedrückt (nur Remote-Modus) |
isRightHit() | True, falls Tastaturtaste Cursor-Right gedrückt (nur Remote-Modus) |
isUpHit() | True, falls Tastaturtaste Cursor-Up gedrückt (nur Remote-Modus) |
isDownHit() | True, falls Tastaturtaste Cursor-Down gedrückt (nur Remote-Modus) |
playTone(frequency, duration) | spielt einen Ton mit geg, Frequenz (in Hz) in Länge (ms) |
setSoundVolume(volume) | setzt die Lautstärke für alle Tonausgaben (0..100) |
initSound(soundFile, volume) | bereitet die gegebene Sounddatei (wav, mp3) zum Abspielen vor |
playSound() | beginnt das Abspielen |
stopSound() | beendet das Abspielen |
fadeoutSound(time) | lässt das Abspielen mit der Ausklingzeit (ms) ausklingen |
pauseSound() | hält das Abspielen an |
resumeSound() | fährt mit dem Abspielen weiter |
rewindSound() | beginnt von Anfang an |
isSoundPlaying() | True, falls das Abspielen nach im Gang ist |
Gear() | erzeugt ein Fahrwerk mit 2 synchronisierten Motoren |
backward() | fährt rückwärts (nicht-blockierende Methode) |
backward(ms) | fährt während gegebener Zeit (in ms) rückwärts und stoppt (blockierende Methode) |
forward() | fährt vorwärts (nicht blockierende Methode) |
forward(ms) | fährt während gegebener Zeit (in ms) vorwärts und stoppt (blockierende Methode) | left() | dreht links (nicht blockierende Methode) |
left(ms) | dreht während gegebener Zeit (in ms) links und stoppt (blockierende Methode) |
leftArc(radius) | fährt auf einem Linksbogen mit geg. Radius (in m) (nicht- blockierende Methode) |
leftArc(radius, ms) | fährt während geg. Zeit (in ms) auf einem Linksbogen und stoppt (blockierende Methode) |
right() | dreht rechts (nicht-blockierende Methode) |
right(ms) | dreht während gegebener Zeit (in ms) rechts und stoppt (blockierende Methode) |
rightArc(radius) | fährt auf einem Rechtsbogen mit geg. Radius (in m) (nicht blockierende Methode) |
rightArc(radius, ms) | fährt während geg. Zeit (in ms) auf einem Rechtsbogen und stoppt(blockierende Methode) |
setSpeed(speed) | setzt die Geschwindigkeit (0..100) (erst beim nächsten Bewegungsbefehl übernommen) |
stop() | stoppt das Fahrwerk |
Motor(MOTOR_LEFT) | erzeugt eine Instanz des den linken Motor |
Motor(MOTOR_RIGHT) | erzeugt eine Instanz des rechten Motor |
backward() | startet die Rückwärtsdrehung |
forward() | startet die Vorwärtsdrehung |
setSpeed(speed) | setzt die Geschwindigkeit (0..100) (erst beim nächsten Bewegungsbefehl übernommen) |
stop() | stoppt den Motor |
LightSensor(id) | erzeugt eine Instanz eines Lichtsensors mit geg. id (LS_FRONT_LEFT=0, LS_FRONT_RIGHT=1, LS_REAR_LEFT=2, LS_REAR_RIGHT=3) |
LightSensor(id, bright = onBright, dark = onDark) | dasselbe mit registrierten Event-Callbacks onBright(id, value), onDark(id, value) beim Überqueren des Triggerlevels (default: 500) |
LightSensor(id, True) | (nur Simulationsmodus) erzeugt eine Instanz eines aufwärts gerichteten Lichtsensors mit geg. id (LS_FRONT_LEFT=0, LS_FRONT_RIGHT=1, LS_REAR_LEFT=2, LS_REAR_RIGHT=3) |
LightSensor(id, True, bright = onBright, dark = onDark) | dasselbe mit registrierten Event-Callbacks onBright(id, value), onDark(id, value) beim Überqueren des Triggerlevels |
getValue() | gibt den gemessenen Wert des Lichtsensors zurück (0..1000) |
setTriggerLevel(level) | setzt neuen Triggerlevel |
UltrasonicSensor() | erzeugt eine Instanz eines Ultraschallsensors |
UltrasonicSensor(far = onFar, near = onNear) |
dasselbe mit registrierten Event-Callbacks onFar(value), onNear(value) beim Überqueren des Triggerlevels |
getValue() | gibt die Entfernung zurück (in cm, -1 für Fehler) |
setTriggerLevel(level) | setzt neuen Triggerlevel |
InfraredSensor(id) | erzeugt eine Instanz eines Infrarot Sensors mit geg. id (IR_CENTER = 0, IR_LEFT = 1, IR_RIGHT = 2, IR_LINE_LEFT = 3, IR_LINE_RIGHT = 4) |
InfraredSensor(id, activated = onActivated, passivated = onPassivated) | dasselbe mit registrieren Event-Callbacks onActivated(id), onPassivated(id) |
getValue() | gibt 1 zurück, wenn der Sensor reflektiertes Licht registriert, sonst 0 |
setTriggerLevel(level) | setzt neuen Triggerlevel |
Camera() | erzeugt eine Instanz einer Raspberry Pi Kamera |
captureJPEG(width, height) | nimmt ein Bild mit der geg. Pixelaufösung auf und gibt es als String im JPEG Format zurück |
saveData(data, filename) | schreibt den Inhalt von data byteweise in eine binäre Datei (z.B. ein Bild im JPEG Format) |
captureAndSave(width, height, filename) | nimmt ein Bild mit der geg. Pixelaufösung auf und speichert es im JPEG Format im Linux-Dateisystem des Raspi |
captureAndTransfer(width, height) | (nur remote mode) nimmt ein Bild mit der geg. Pixelaufösung auf, transferiert es auf den remote Device und gibt es als String im JPEG Format zurück |
readImage(jpeg) | Wandelt ein Bild als JPEG String in eine in GPanel verwendbare Bitmap um (from gpanel import *) |
ServoMotor(id, home, inc) | erzeugt eine Instanz eines Servomotors mit geg. id. (Stecker S12:id=0, S13:id=1, S14:id =2; S15:id=3). home: PWM duty cycle für Homeposition (0..4095), inc: duty/position-Faktor. Setzt Motor auf Homeposition |
setPos(pos) | setzt relative Position des Motors (pos <> 0 von Homeposition aus) |
setPosAbs(pos) | setzt absolute Position des Motors (PWM duty cycle 0..4095) |
setHome() | setzt Motor auf Homeposition |
Beeper() | erzeugt eine Instanz eines Beepers (aktiver Buzzers zwischen GPIO-Port 40 und Ground angeschlossen, Polarität beachten!) |
Beeper(pin = 40) | dasselbe, aber am angegebenen GPIO-Port angeschlossen |
turnOn() | schaltet den Beeper an |
turnOff() | schaltet den Beeper ab |
start(onTime, offTime, count = 0, blocking = False) | startet Ein-Ausschaltzyklus mit der Einschaltzeit onTime (ms), Ausschaltzeit offTime (ms), Anzahl Perioden count (default: 0: endlos). Mit blocking = True blockiert der Aufruf, bis alle Zyklen gespielt sind, sonst kehrt der Aufruf nach Start des Zyklus zurück (default: False) |
stop() | beendet den Spielzyklus |
setOnTime(onTime) | setzt die Einschaltzeit (auch während des Spielens) (in ms) |
setOffTime(offTime) | setzt die Ausschaltzeit (auch während des Spielens) (in ms) |
setOnOffTime(onTime, offTime) | setzt Ein- und Ausschaltzeit (auch während des Spielens) (in ms) |
isBeeping() | liefert True, falls der Spielzyklus noch im Gang ist |
beep(count = 1) | kurzes Piepen mit count Perioden (default: 1) |
Led(id) | erzeugt eine Instanz eines LED-Paars mit der geg. id (LED_FRONT = 0, LED_LEFT = 1, LED_REAR = 2, LED_RIGHT = 3) |
setColor(red, green, blue) | schaltet ein LED-Paar in der gegebenen RGB-Farbe ein (Farbkomponenten 0 ...255) |
setColor(colorStr) | dasselbe, aber mit X11-Color-String |
startBlinker(onColorStr, offColorStr, onTime,offTime, count, blocking = False) | startet Blinker mit onColorStr, offColorStr (X11-Color-String) und den Zeiten onTime, offTime (in ms). count: Anzahl Einschaltungen (0: endlos). Kehrt sofort zurück, falls blocking = False, sonst blockierend, bis Blinken fertig |
stopBlinker() | stoppt Blinker und schaltet Led ab |
isBlinkerAlive() | True, falls Blinker noch aktiv |
Led.setColorAll(red, green, blue) | schaltet alle 8 LEDs in der gegebenen RGB-Farbe (statische Methode) |
Led.setColorAll(colorStr) | dasselbe, aber mit X11-Color-String |
Led.clearAll() | schaltet alle LEDs aus (statische Methode) |
Display() | erzeugt eine Instanz eines 7-Segment-Displays |
clear() | löscht das Display (und stoppt den Display-Multiplexer) |
isAvailable() | gibt True zurück, falls das Display angeschlossen ist, andernfalls False |
isBlinkerAlive()() | gibt True zurück, falls der Blinker angezeigt wird, sonst False |
isTickerAlive()() | gibt True zurück, falls der Ticker angezeigt wird, sonst False |
scrollToLeft() | scrollt den Text um einen Schritt nach links |
scrollToRight() | scrollt den Text um einen Schritt nach rechts |
setToStart() | setzt den Text an die Startposition |
showText(text, pos=0, dp=[0, 0, 0, 0]] | zeigt den gegebenen Text an. Optional Position pos und Dezimalpunkte dp als Liste mit 0 oder 1 |
showBlinker(text, dp=[0, 0, 0, 0], count=3, speed=1, blocking=False) |
zeigt einen blinkenden Text. Optional Dezimalpunkte dp als Liste mit 0 oder 1, |
showTicker(text, count=1, speed=2, blocking=False) |
zeigt den Tickertext scrollend nach links, bis die letzten 4 Zeichen angezeigt sind. |
stopBlinker() | stoppt den laufenden Blinker |
stopTicker() | stoppt den laufenden Ticker |
OLED1306() | erzeugt eine Instanz eines alphanumerischen OLED-Displays mit 128x64 pixels (mit SSD1306 Chip), der an I2C angeschlossen ist (Adresse 0x3C) |
OLED1306(filename) | dasselbe, aber mit angegebenen Hintergrundbild (ppm-Format 128x64 B/W). (Nur autonomer Modus) |
setBkImage(filename) | wählt das Hintergrundbild (ppm-Format 128x64 B/W). None: ein bestehendes Bild wird entfernt (nur autonomer Modus) |
setFont(ttfFile, fontSize) | entnimmt das Font der angegenenen TTF-Fontdatei (nur autonomer Mode) |
setFontSize(fontSize) | setzt die Schriftgrösse (in pixel) |
setText(text, lineNum, fontSize = None, indent = 0) | schreibt den Text text auf die Zeilennummer lineNum (0, 1,...) mit der gewählten Schriftgrösse in pixel (default: None: aktueller Wert). Der Text wird um indent pixels eingerückt (default: 0) |
println(text) | fügt den Text mit einem Zeilenumbruch in den Textbuffer und zeigt diesen an. Der Text wird im Fenster bei Bedarf nach oben gescrollt, damit die letzte Zeile sichtbar bleibt |
clear() | löscht den Display und den Textbuffer |
setInverse(inverse = True) | wählt schwarze Pixel auf weissem Hintergrund |
startBlinker(count = 3, offTime = 1000, onTime = 1000, blocking = False) | startet einen Blinkzyklus mit count Perioden, der Ausschaltzeit offTime (ms) und der Einschaltzeit onTime (ms). Falls blocking = True blockierend, bis Zyklus beendet |
stopBlinker() | beendet einen laufenden Blinkzyklus |
isBlinking() | liefert True, falls Blinkzyklus läuft |
delay(time) | hält das Programm während der Zeit time (in Millisekunden) an |
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 Infrarotsensor 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 |
useTorch(power, x, y, z) | fügt eine mausverschiebbare Lampe (Punktlichtquelle) mit gegebener Leistung an gegebener Position ein (z: Höhe) (wird für aufwärts gerichtete Lichtsensoren verwendet) |
useShadow(ulx, uly, lrx, lry) | fügt einen rechteckigen Schatten mit gegebenen oberen linken/unteren rechten Ecken ein (absorbiert das Licht von Lampen) |
Vollständige Dokumentation : | RaspiPyLib (Python Doc) |
RaspiJLib (JavaDoc) | |
RaspiSim (JavaDoc, simulation mode) | |
Zustandsauswahl mit Drucktaste und LED/Display-Anzeigen der RaspiBrick Firmware
Zustand |
Einschalten |
Suche Access Point (AP) |
AP gefunden |
AP nicht gefunden |
Bereit |
BrickGate-Server läuft und wartet auf einen Client |
BrickGate-Server hat Verbindung mit einem Client |
Anzeige |
leer |
AP-- |
Ticker: |
Ticker: |
m-n |
HOLd |
kurze Anzeige von Conn, dann leer (frei für User-Programm) |
LEDs |
dunkel |
weiss |
grün |
gelb |
blau, blink die Zahl der Prog.ID |
grün blinkend |
dunkel (frei für User- Programm) |
Mögliche Aktionen |
Warten |
Abbrechen mit Klick |
Abbrechen mit Klick |
Abbrechen mit Klick |
Klick startet gewähltes Python-Programm, Doppelklick wählt Prog.ID aus, |
Klick startet autonomes Java-Programm, langes Halten stoppt BrickGate-Server |
frei für User-Programm |
Zustand |
IdLE |
Shutdown "Are you sure?" |
Shutdown bestätigt |
Shutdown abgebrochen |
Anzeige |
m-n |
oooo |
BYE. |
IdLE |
LEDs |
blau |
rot |
dunkel und dann schwach rot |
blau |
Mögliche Aktionen |
Langes Tastenhalten und vorderem IR-Sensor gleichzeitig aktiviert |
Bestätigen: Klick mit aktiviertem vorderen IR-Sensor. Abbrechen: Klick ohne IR- Sensor |
Warten, bis grüne LED des Raspberry Pi nicht mehr blinkt. Dann ausschalten |
Normal weiterverwenden |