andreas.kolbe Posted October 4, 2013 at 12:21 PM Share Posted October 4, 2013 at 12:21 PM Hallo alle zusammen, ich bin am verzweifeln, verwende die PHP.exe um unter Windows das simple Minimalbeispiel zum TemperatureBricklet zum laufen zu bekommen. Habe schon verschiedene PHP-Versionen (5.4.13, 5.4.20) unter Win2012 und Win8 ausprobiert. Die Bindings sind nicht als PEAR-Paket installiert sondern gem. Anleitung lokal kopiert (alles in einem Pfad). Der Brick und das Bricklet sind vom BrickV aus ansprechbar und auslesbar. Wenn ich dann aber das PHP-Skript von der Eingabeaufforderung mittels php.exe x.php starte, stirbt das Skript. Durch Einbau verschiedener Debug-Punkte lässt sich das auf den $ipcon->connect zurückführen. Der wirft allerdings keinen Fehler, selbst my try...catch nichts erkennbar. Hat jemand eine Idee, wo ich weitersuchen kann? Hier das Skript (kommt Euch bestimmt bekannt vor)... <?php require_once('IPConnection.php'); require_once('BrickletTemperature.php'); use Tinkerforge\IPConnection; use Tinkerforge\BrickletTemperature; $host = '192.168.0.10'; $port = 4223; $uid = '8jm'; // Change to your UID $ipcon = new IPConnection(); // Create IP connection $t = new BrickletTemperature($uid, $ipcon); // Create device object $ipcon->connect($host, $port); // Connect to brickd // Don't use device before ipcon is connected // Get current temperature (unit is °C/100) $temperature = $t->getTemperature() / 100.0; echo "Temperature: $temperature °C\n"; echo "Press key to exit\n"; fgetc(fopen('php://stdin', 'r')); $ipcon->disconnect(); ?> Viele Grüße vom frustrierten Andreas Quote Link to comment Share on other sites More sharing options...
Strolch Posted October 4, 2013 at 02:20 PM Share Posted October 4, 2013 at 02:20 PM Moin Andreas, nur um sicher zu sein: Du sprichst das Bricklet über eine Ethernet Master Extension an, also nicht an Deinem Rechner über USB steckend, ja? Kommst Du denn auf das MasterBrick dort wenigstens (da gibt es ja auch einen Temperaturwert zum Auslesen...taugt nix, aber zeigt, ob die Config rennt)... Cu Strolch Quote Link to comment Share on other sites More sharing options...
andreas.kolbe Posted October 4, 2013 at 08:01 PM Author Share Posted October 4, 2013 at 08:01 PM Hallo Strolch, ja, auf TF-HW-Seite habe ich ein Master Brick mit ner Ethernet-Extension, via PoE versorgt, mit nem Temperature-Bricklet dran. Die Bindings sind V2.0.10, HW gem. Update-Check im BrickV up to date. Ich habe nun einfach mal die ExampleStackStatus.php als Grundlage genommen, die stirbt ganz genauso an der $ipcon->connect <?php require_once('IPConnection.php'); require_once('BrickMaster.php'); use Tinkerforge\IPConnection; use Tinkerforge\BrickMaster; $host = '192.168.0.10'; $port = 4223; $uid = '6xhvDs'; // Change to your UID $ipcon = new IPConnection(); // Create IP connection $master = new BrickMaster($uid, $ipcon); // Create device object $ipcon->connect($host, $port); // Connect to brickd // Don't use device before ipcon is connected // Get voltage and current from stack (in mV/mA) $voltage = $master->getStackVoltage(); $current = $master->getStackCurrent(); echo "Stack Voltage: " . $voltage / 1000.0 . " V\n"; echo "Stack Current: " . $current / 1000.0 . " A\n"; echo "Press key to exit\n"; fgetc(fopen('php://stdin', 'r')); $ipcon->disconnect(); ?> Habe schon überlegt, ob die Windows-Firewall im Weg steht? Muss ich Regeln für ausgehenden oder eingehenden Traffic einrichten? Vielen Dank für Deine Unterstützung! Gruß Andreas Quote Link to comment Share on other sites More sharing options...
Nemo Posted October 5, 2013 at 05:05 PM Share Posted October 5, 2013 at 05:05 PM Hallo Andreas, hast du mal versucht das Stack direkt über USB anzusprechen, da du dann ja die Firewall umgehst. Gruß, Jakob Quote Link to comment Share on other sites More sharing options...
andreas.kolbe Posted October 5, 2013 at 05:17 PM Author Share Posted October 5, 2013 at 05:17 PM Hallo Jakob, über USB ist das alles kein Problem. Als Schnellschuss ohne viel Nachdenken habe ich auch schon Firewall-Regeln eingerichtet, incoming und outgoing für php.exe alles erlauben... und dann wieder über Ethernet probiert - hat auch nicht geholfen. Ich bin ratlos... Gruß Andreas Quote Link to comment Share on other sites More sharing options...
Strolch Posted October 5, 2013 at 06:22 PM Share Posted October 5, 2013 at 06:22 PM Moin, ich muss noch weiter dumme Fragen stellen - was auch daran liegt, dass ich das Ethernet-Modul noch nicht habe : [*]Also lokal per USB rennt das Ding, ja? d.h. der Dienst unter Windows läuft? [*]Das Ethernet-Modul musst Du ja konfigurieren bevor Du es das erste Mal ins Ethernet hängst - da stimmen auch Gateway, Netmask usw? [*]wenn Du ein Telnet auf den Host:Port aufmachst, geht der durch oder kommt da "no answer" schnell zurück? Cu Strolch Quote Link to comment Share on other sites More sharing options...
Nemo Posted October 5, 2013 at 06:24 PM Share Posted October 5, 2013 at 06:24 PM Hallo Andreas, eine andere Idee die ich noch hätte wäre, den Stack über USB mit Strom zu versorgen und dann das ganze nochmal zu versuchen. Ansonsten ist es mir mal passiert, dass ich die falsche IP-Adresse eingegeben habe. Ich selber lasse bei mir auch Tinkerforge über PHP laufen, allerdings nutze ich XAMPP unter Windows und da konnte ich meine WIFI-Extension allerdings ohne Probleme direkt über PHP ansprechen. Gruß, Jakob Quote Link to comment Share on other sites More sharing options...
Nemo Posted October 5, 2013 at 09:58 PM Share Posted October 5, 2013 at 09:58 PM Hallo Andreas, ich habe gerade nochmal ein bisschen hier im Forum rungeschaut und bin durch Zufall auf einen alten Post gestoßen in dem es um eine änliche Problematik ging. http://www.tinkerunity.org/forum/index.php/topic,519.msg2830.html#msg2830 Daher kam mir jetzt einfach mal die ganz einfache Idee, schalte mal deine Firewall komplett aus und versuche es dann nochmal. In dem Beitrag ging es auch um das Freischalten von Ports unter Windows. Link zum freischalten eines Ports unter Windows: http://windows.microsoft.com/de-at/windows7/open-a-port-in-windows-firewall Quote Link to comment Share on other sites More sharing options...
andreas.kolbe Posted October 6, 2013 at 07:22 AM Author Share Posted October 6, 2013 at 07:22 AM Hallo Jakob, vielen Dank für Deine Arbeit... Also, netzwerkseitig erreiche ich die Ethernet-Extension (ich sehe am Switch den Port "up" mit PoE-Versorgung; ich sehe auf dem DHCP, dass der Lease geholt wurde; ich bekomme einen Ping zurück, sowohl über DNS-Auflösung als auch über IP-Adresse). Habe gerade mal die Firewall KOMPLETT ausgeschaltet - läuft auch weiterhin nicht. Vielleicht ist die Extension fehlerhaft? Das habe ich mich noch nicht gefragt, ich werde gleich mal meine zweite Ethernet-Extension auspacken... Gruß Andreas Quote Link to comment Share on other sites More sharing options...
andreas.kolbe Posted October 6, 2013 at 07:27 AM Author Share Posted October 6, 2013 at 07:27 AM Hallo Strolch, gibt keine Dummen Fragen... erst recht nicht, wenn Du sie stellst, um mir zu helfen!!! [*]lokal per USB rennt das Ding und der Dienst unter Windows läuft! [*]TCP/IP-Config kommt vom DHCP, mit den selben Gateway-, Netmask-, ...-Einstellungen wie mein ganzer LAN-Zoo [*]Telnet auf den Host:Port geht durch, ich bekomme kein "no answer" oder sowas - Allerdings: ich bekomme keine Meldung in Klartext, sowas wie ne MOTD oder so gibts offenbar nicht. Bin aber auch mit dem Protokoll, dass das gesprochen wird, nicht vertraut - habe angenommen, dass das okay ist (?) Gruß Andreas Quote Link to comment Share on other sites More sharing options...
andreas.kolbe Posted October 6, 2013 at 07:48 AM Author Share Posted October 6, 2013 at 07:48 AM Öhm, hallo nochmal allen freundlichen Mithelfern! Mir ist gerade aufgefallen, dass ich mich nun ein wenig verrannt habe. Ich habe aus den Augen verloren, dass der BrickV ja kontinuierlich OHNE PROBLEME Kontakt mit dem Brick, der Extension und dem Bricklet bekommt. Das Problem dürfte damit eigentlich nicht an Firewall, TF-Hardware, Netzwerk o.ä. liegen. Ich muss das Problem im installierten PHP und den Bindings suchen... Stimmt ihr mir da zu? - Werde mit diesem neuen Gedanken nochmal einsteigen. Gruß Andreas Quote Link to comment Share on other sites More sharing options...
Nemo Posted October 6, 2013 at 09:26 AM Share Posted October 6, 2013 at 09:26 AM Hallo Andreas, wenn der BrickV ohne Probleme alles anzeigt und eine Verbindung hat, dann muss es an deinem Programm liegen. Was PHP angeht kann ich dir helfen, allerdings kenne ich mich mit der Windows-.exe-Geschichte nicht aus. Ich kann mal versuchen dein Programm über die WIFI-Extension laufen zu lassen, wenn ich wieder zu Hause bin. Wo bekomme ich denn diese PHP.exe her? Gruß, Jakob Quote Link to comment Share on other sites More sharing options...
andreas.kolbe Posted October 6, 2013 at 04:05 PM Author Share Posted October 6, 2013 at 04:05 PM Hallo Jakob, das ist sehr nett!!! Die php.exe ist Bestandteil der Windows-Distribution von PHP, wenn Du das Archiv runterlädst und in ein Verzeichnis entpackst, findest Du darin die php.exe. Von der Kommandozeile aufgerufen, kann sie ein Skript ausführen mit D:\pfad\zu\php\php.exe X:\pfad\zum\skript.php Gruß Andreas Quote Link to comment Share on other sites More sharing options...
photron Posted October 7, 2013 at 11:19 AM Share Posted October 7, 2013 at 11:19 AM Das Problem ist, dass die Sockets Extension standardmäßig nicht aktiviert ist in der Windows-Distribution von PHP, die es auf der PHP Webseite zum herunterladen gibt. Du musst in der php.ini folgende Zeile einfügen: extension=ext/php_sockets.dll Mir war bis eben nicht bekannt, dass die Socket Funktionen eine Extension sind. Daher ist das bisher noch nicht dokumentiert, ich werde das verbessern. Quote Link to comment Share on other sites More sharing options...
photron Posted October 7, 2013 at 11:51 AM Share Posted October 7, 2013 at 11:51 AM Die Dokumentation listet jetzt bcmath und sockets als benötigte Extensions auf und die nächste Version der PHP Bindings wird prüfen ob bcmath und sockets Extension verfügbar sind und sich ansonsten per Exception beschweren. Quote Link to comment Share on other sites More sharing options...
andreas.kolbe Posted October 7, 2013 at 04:09 PM Author Share Posted October 7, 2013 at 04:09 PM Juchuhhh!!! Ich muss nicht mehr an mir selbst verzweifeln... Vielen Dank für die Unterstützung - das gilt Euch allen. *strahl* LG Andreas P.S.: Soll heißen: jetzt läufts! 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.