bastir Posted January 12, 2015 at 10:34 PM Share Posted January 12, 2015 at 10:34 PM 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 Quote Link to comment Share on other sites More sharing options...
photron Posted January 13, 2015 at 09:00 AM Share Posted January 13, 2015 at 09:00 AM 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 Quote Link to comment Share on other sites More sharing options...
bastir Posted January 13, 2015 at 10:31 PM Author Share Posted January 13, 2015 at 10:31 PM 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? Quote Link to comment Share on other sites More sharing options...
photron Posted January 14, 2015 at 01:06 PM Share Posted January 14, 2015 at 01:06 PM 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. Quote Link to comment Share on other sites More sharing options...
bastir Posted January 14, 2015 at 09:43 PM Author Share Posted January 14, 2015 at 09:43 PM Danke photron, deine Tipps haben geholfen. Ich poste das endgültige Script später dann auch noch hier. Grüße Sebastian Quote Link to comment Share on other sites More sharing options...
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.