User Tools

Site Tools


de:remote

This is an old revision of the document!


FIXME This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)

Ferngesteuerte Geräte

Falls Du es bisher noch nicht getan hast, empfehle ich Dir das oder die Geräte mit “Jennifer in Control” zu verlinken. Wir hoffen, wir können es für jeden einfach machen, sein Gerät zu verbinden, aber das benötigt Zeit. Der zur Zeit leichteste Weg is ein Audio controlled e-stim, aber das ist leider sehr teuer. Wir hoffen, dass wir bald eine einfache Lösung finden, die sich jeder zusammenbauen, oder aber für unter 50€ kaufen kann.

Falls Du zu ängstlich sein solltest, “Jennifer in Control” beizutreten, ist die Schnittstelle zur Fernsteuerung (Device-API) dennoch unter https://play-link.com/devices.html für Dich verfügbar. Du musst Dir lediglich eine kostenlose ID erzeugen lassen. Wenn Du dann dein Gerät direkt oder über ein Steuerungsprogramm mit der Schnittstelle verbunden hast, kannst Du einen Test unter https://play-link.com/jen/devices.php?id=XXXX starten. Dabei kannst Du das Gerät entweder direkt oder zufallsgesteuert triggern.

Beschreibung des API

Gelesene Werte

Die Geräte werden über JSON-Daten getriggert, die von der folgenden Adresse gelesen werden: [https://play-link.com/jen/remote.php?id=XXX]

Dabei wird folgenden Format genutzt:

{
"servertime": 1466500571,
"triggers": [
{
"start": 1466500601,
"level": 100,
"device": "estim",
"duration": 2
}
,
{
"start": 1466500606,
"level": 100,
"device": "lock",
"duration": 2
}
]}

Wenn Du “&format=text” oder “&format=json2” an den obigen Link anfügst, kannst Du die Daten auch in Text- oder einem alternativen JSON-Format erhalten. Manchmal sind diese Formate einfach besser zu lesen. Im obigen Beispiel werden zwei Trigger definiert: einer für die elektrische Stimulation und der andere zum Öffnen des Verschlusses.

Viele zur Zeit entwickelte Geräte verwenden Relais bei denen der Level ignoriert wird.

Rückgabewert

Wo immer möglich, ist es wünschenswert ein Statusupdate zu erhalten, wenn der Trigger aktiviert wurde. Das ermöglicht Herrin Jennifer (und externen Herrinnen/Herren) eine Rückmeldung zu erhalten, wenn sie/er versucht Dich zu schocken ;-) Um einen Statustext zurückzumelden, benutze bitte den folgenden Link: https://play-link.com/jen/return.php?id=XXX&device=estim&text=Shock

Das obige Beispiel würde den Text “Shock” zurückmelden, wen ein Gerät erfolgreich aktiviert wurde. Außerdem wäre es gut, wenn die Geräte eine Statusmeldung versenden würden, um anzuzeigen, dass das Gerät verbunden und betriebsbereit ist. Beispiel: https://play-link.com/jen/return.php?id=XXX&device=estim&text=Ready

Erzeugen von Triggern

Das hier wird eigentlich nur zu Testzwecken benötigt…

Trigger können wie folgt hinzugefügt werden: https://play-link.com/jen/remote.php?id=XXX&device=estim&delay=60&duration=1&level=100 In diesem Beispiel wird das Gerät für eine 1 Sekunde nach einer Wartezeit von 60 Sekunden aktiviert. Wenn Du keine Verzögerung (delay), keine Dauer (duration) und/oder keinen Level (level) definierst, werden Standardwerte genutzt.

Dem System aktuell bekannte Geräte sind: estim, shock, lock und vibe

Alternativ kannst Du auch das Kontrollprogramm unten nutzen um Trigger für den Test zu erzeugen.

Safe API

(Für Safes und Keuschheitsgürtel)

Im letzten Jahr haben wir verschiedene Anfragen nach einer Erweiterung des API zur Kontrolle eines Safes, einer Lockbox oder eines Keuschheitsgürtels gehabt. Um zu verhindern, dass die Leute ihr Gerät “hacken”, besitzt das Safe API ein zusätzliches Schlüsselcode-System. Ein Beispiel (ok, ein wenig Arbeit benötigt es schon noch ;-)):

1) Bevor der Safe verschlossen wird, wird die Adresse https://play-link.com/jen/safe.php?id=1XXX&cmd=status&locked=0 angepingt. Es wird die folgende Zeile zurückgegeben:

unlocked

2) Wenn der Safe verschlossen werden soll, werden 2 Zeilen zurückgegeben (die zweite Zeile enthält den Freischaltcode):

close
BKJG989hBJG

Dieser Code wird nur ein einziges Mal geschickt (Zur Sicherheit, damit er nicht mehr ermittelt werden kann, nachdem der Safe verschlossen ist). - DEIN CODE WIRD EIN ANDERER SEIN Die Moderatoren haben zur Zeit keine Möglichkeit den Code zurückzusetzen, falls Du ihn vergessen solltest (das wird wahrscheinlich geändert werden). Weitere Statusanfragen (“status”) geben dann das Folgende zurück:

locked

Falls Herrin Jennifer der Meinung ist, dass der Save bei der nächsten Statusabfrage geöffnet werden kann, wird die folgende Zeile zurückgegeben:

open

Um das Öffnen des Safes zu vervollständigen, muss dann das folgende gesendet werden:

/jen/safe.php?id=1XXX&cmd=open&code=BKJG989hBJG

Wenn der Code korrekt ist, wird folgendes gesendet:

releasing

Der Safe kann sich nun selbst öffnen und sollte wieder in der Startposition sein. Fall ein falscher Code gesendet wird, wird ein Manipulationsflag gesendet und die Zeit bis zum Öffnen verlängert.

Darüber hinaus haben die Geräte noch folgende Kommandos:

/jen/safe.php?id=1XXX&cmd=tamper&text=motion

Diese Zeile loggt Manipulationsversuche, wie z.B. den falschen Unlockschlüssel, oder einen Verschlussstatus der nicht mit dem auf dem Server gespeicherten Status übereinstimmt.

Andere Manipilationsversuche sind z.B., dass das Gerät einen Impuls registriert. Das resultiert in einer verlängerten Verschlusszeit.

/jen/safe.php?id=1XXXXX&cmd=tamper&text=no pulse

Testen

Wenn Dein Verschluss nicht mit Deinem Keuschheitsstatus verlinkt ist, kann Du für 4 Minuten für Deine ID einen Verschluss anfragen:

/jen/safe.php?id=1XXX&cmd=lock

Sobald wir einige Geräte in Betrieb haben, wird Dein Verschlussstatus mit Deinem Keuschheitsstatus abgeglichen. Du kannst Liz eine Nachricht senden, um Wege zum Testen eines Geräts zu erfahren.

Kontrolle

Instead of having to workout how to use the API you can download a controller program.

The controller program is available at [https://play-link.com/jen/controller.zip] you can download this and after updating the ini file will allow you to run commands to trigger devices. An example ini file would be as follows

[PlayLink]
ID=XXXX

[Device]
type=estim
start=CommandApp_USBRelay.exe SVJGX open 01
end=CommandApp_USBRelay.exe SVJGX close 01

[Device2]
type=lock
start=cdtray=D
end=cdtray=D

You will need to change the ID to match yours. In the above example your estim device is switched on and off from a command line instruction and the lock is via open and closing the CD drive “D”. With the advent of IoT you can also send start and stop instructions by putting in a webaddress e.g.

[Device2]
type=lock
start=http://192.168.1.32/control.php?switch1=on
end=http://192.168.1.32/control.php?switch1=off

Even if you can't control a device directly you should be able to do so by calling a script e.g for “lovesense Lush” you can create a python script to switch the device on or off at different levels that is called by the controller - see https://pypi.python.org/pypi/lovesense/

The controller package also contains the source-code in Lazarus and some examples in other languages such as C++ so worth a look if you need some pointers.

Devices

Design & Experimentation

de/remote.1485365048.txt.gz · Last modified: 2017/01/25 17:24 by schlabi