bastir Geschrieben January 12, 2015 at 22:34 Geschrieben January 12, 2015 at 22:34 Hallo, ich habe ein kleines C# Programm auf den Redbrick geladen. Dieses kann ich zwar auch aus dem Brick Viewer ausführen, gibt es auch eine Möglichkeit, das Programm aus der Weboberfläche auszuführen (evtl. per PHP (o.ä.) script? Vielen Dank im Voraus! Sebastian Zitieren
photron Geschrieben January 13, 2015 at 09:00 Geschrieben January 13, 2015 at 09:00 Ja, das geht über die API des RED Bricks: http://www.tinkerforge.com/de/doc/Software/Bricks/RED_Brick_PHP.html Die Dokumentation ist derzeit noch unvollständig. Was du tun muss hier sehr grob skizziert: - mit createSession eine Session erzeugen - mit getPrograms(session_id) die Liste der Programs erhalten - aus der Liste der Programs das entsprechende heraussuchen - startProgram mit der herausgesuchten program_id aufrufen Zitieren
bastir Geschrieben January 13, 2015 at 22:31 Autor Geschrieben January 13, 2015 at 22:31 Hallo photron, danke für die Hinweise! Das ist der aktuelle Stand: require_once('Tinkerforge/IPConnection.php'); require_once('Tinkerforge/BrickRED.php'); use Tinkerforge\IPConnection; use Tinkerforge\BrickRED; const HOST = 'localhost'; const PORT = 4223; const UID = 'ABCDEF'; // Change to your UID $ipcon = new IPConnection(); // Create IP connection $red = new BrickRED(UID, $ipcon); // Create device object $ipcon->connect(HOST, PORT); // Connect to brickd const lifetime = 60; $session = $red->createSession(lifetime); $progams = $red->getPrograms($session['session_id']); // Rückgabe Array ( [error_code] => 0 [programs_list_id] => 682 ) echo $red->startProgram('Box'); // Rückgabe 7 Leider funktioniert das startProgram nicht. Ich kann auch nichts mit der programs_list_id anfangen, bei jedem Aufruf des Scripts wird diese ID hochgezählt. Muss bei startProgram der Wert "Identifier" aus dem brickv verwendet werden? Zitieren
photron Geschrieben January 14, 2015 at 13:06 Geschrieben January 14, 2015 at 13:06 Mit getListLength() und getListItem() kannst du die Einträge der Programmliste abfragen, dir durch programs_list_id repräsentiert wird. Mit den program_ids aus der Liste kannst du dann wiederum startProgram() aufrufen. Um in der Programmliste das Programm zu finden, dass du suchst kannst du mit getProgramIdentifier() von einem Program dessen Identifier abfragen. Über getProgramIdentifier() erhälst du die identifier_string_id mit der du dann über getStringLength() und getStringChunk() den Inhalt des Strings abfragen kannst. Zitieren
bastir Geschrieben January 14, 2015 at 21:43 Autor Geschrieben January 14, 2015 at 21:43 Danke photron, deine Tipps haben geholfen. Ich poste das endgültige Script später dann auch noch hier. Grüße Sebastian Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.