Jump to content

[C#] Redbrick => c# Programm aus Weboberfläche starten


Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...