florian_czernin Geschrieben May 19, 2016 at 22:41 Geschrieben May 19, 2016 at 22:41 Hallo Zusammen, hat schon jemand versucht einen Benutzeranmeldung an einer Website mittels NFC umzusetzen. Der ID-Tag der Karte soll mit der Datenbank abgeglichen werden. Ist es überhaupt möglich, dass wenn kein Benutzer angemeldet ist ein Dialog offen ist, der Permanent den Reader anfragt ob es einen Neuen Tag gibt? (Eventuell auch eine Rückmeldung das die Karte wieder weg ist für die Abmeldung?) Ich habe jetzt schon versucht die Beispiele mit JavaScript und PHP zum laufen zu bringen, leider bekomme ich keine Verbindung aufgebaut. Anbindung am Rechner via USB (siehe Bilder) Zitieren
borg Geschrieben May 20, 2016 at 06:58 Geschrieben May 20, 2016 at 06:58 Die JavaScript Bindings nutzen WebSockets, diese müssen im Brick Viewer aktiviert werden: http://www.tinkerforge.com/de/doc/Software/Brickd.html#websockets und der Port ist 4280. Aus dem Browser heraus hat man keine Möglichkeit normale Sockets zu nutzen, deshalb die Websockets an dieser Stelle. Zitieren
florian_czernin Geschrieben May 20, 2016 at 07:24 Autor Geschrieben May 20, 2016 at 07:24 Das mit dem WebSockets hatte ich in der Config bereits berücksichtigt. (der Dienst wurde schon mehrfach neu gestartet) Kann es auch damit zu tun haben, dass ich das Modul via USB angebunden habe ... Setze ich das Modul "Ethernet Master Extension (mit PoE)" auf dem Turm auf, bekomme ich im Viewer auch was mit WebSocket angezeigt. Primär wollte ich aber nur die USB Anbindung verwenden. Zitieren
photron Geschrieben May 20, 2016 at 08:19 Geschrieben May 20, 2016 at 08:19 Für das "NFC/RFID Bricklet Scan For Tags" Beispiel musst du WebSockets für Brick Daemon aktivieren (hast du schon) und die Tinkerforge.js und ExampleScanForTags.html Datei in den gleichen Ordner kopieren (sonst findet ExampleScanForTags.html die Tinkerforge.js Datei nicht). Wenn du dann "Start Example" klickst siehst du erstmal nichts in der Ausgabe des Beispiels, bis du einen Tag an den Reader hältst. Dein zweiter Screenshot könnte also einen funktionierenden Zustand anzeigen, bei dem du einfach noch keinen Tag an den Reader gehalten hast. Zitieren
florian_czernin Geschrieben May 20, 2016 at 08:54 Autor Geschrieben May 20, 2016 at 08:54 Hallo und Danke erst einmal ... was auch immer gestern nicht gepasst hat. Das JavaScript beispiel läuft jetzt bei mir. Zitieren
florian_czernin Geschrieben May 24, 2016 at 22:37 Autor Geschrieben May 24, 2016 at 22:37 Hallo, wollte mir jetzt noch das Beispiel mit PHP anschauen. Leider bekomme ich wenn ich die Adresse http://localhost/ExampleConfiguration.php aufrufe nur eine 404 Meldung Ich verwende den Webserver IIS 10 von Windows (Windows 10 Pro) mit PHP 7 Zitieren
photron Geschrieben May 25, 2016 at 07:19 Geschrieben May 25, 2016 at 07:19 Warum versuchst du http://localhost/ExampleConfiguration.php aufzurufen, wenn du in den anderen Screenshots aber ExampleScanForTags.php zeigst? Müsstest du dann nicht eher http://localhost/ExampleScanForTags.php aufrufen? Zitieren
florian_czernin Geschrieben May 25, 2016 at 09:39 Autor Geschrieben May 25, 2016 at 09:39 Hallo ... da hat sich der Fehlerteufel eingeschlichen. Es sollte tatsächlich http://localhost/ExampleScanForTags.php aufrufen werden. Diese kommt aber mit einer HTTP 500 Fehlermeldung zurück Zitieren
photron Geschrieben May 25, 2016 at 09:48 Geschrieben May 25, 2016 at 09:48 500 heißt Serverfehler. Da muss du mal ins Log deines Webservers schauen, was genau das Problem ist. Zitieren
florian_czernin Geschrieben May 25, 2016 at 21:42 Autor Geschrieben May 25, 2016 at 21:42 Hallo, da mir der IIS wohl dazu keine Sinnvolle Meldung zeigt, hab ich mir auf einen Anderen Rechner mal eben kurz eine Testumgebung mit XAMPP eingerichte. Ebenfalls mit PHP Version 7.0.6. Die Ordner-Struktur ist identisch wie beim IIS-Test. XAMPP kommt jetzt beim Aufruf von "http://localhost/tinkerforge/ExampleScanForTags.php" mit der Fehlermeldung: Fatal error: Uncaught Exception: Required sockets extension is not available in C:\xampp\htdocs\tinkerforge\Tinkerforge\IPConnection.php:19 Stack trace: #0 C:\xampp\htdocs\tinkerforge\ExampleScanForTags.php(3): require_once() #1 {main} thrown in C:\xampp\htdocs\tinkerforge\Tinkerforge\IPConnection.php on line 19 Wo sollte diese "extension_loaded('sockets')" enthalten sein? Zitieren
Nic Geschrieben May 26, 2016 at 08:08 Geschrieben May 26, 2016 at 08:08 Kann es sein, dass du bei der php Installation die ev. notwendigen Socket-Extensions für den Webserver vergessen hast? http://php.net/manual/de/install.windows.extensions.php Zitieren
florian_czernin Geschrieben May 26, 2016 at 21:45 Autor Geschrieben May 26, 2016 at 21:45 Hi Danke für den Tip, ich hatte nur in den "ext" geschaut ob die php_sockets.dll enthalten ist. Als php.ini wurde die "development" verwendet, daher bin ich davon ausgegangen das alles passt. Ich hab den Reader jetzt am Laufen. Habe aber das Phänomen das die ersten beiden Ziffern generell Falsch ausgegeben werden. das Script Tickert ja auch den Viewer an und dieser bringt eine andere Tag ID. Was könnte da der fehler sein? Zudem wäre interessant ob es tatsächlich so ist, das die Website erst dargestellt wird wenn der Reader Timeout kommt und kein neue ID gelesen wird. Zitieren
photron Geschrieben May 30, 2016 at 09:21 Geschrieben May 30, 2016 at 09:21 188 (dezimal) und BC (hex) ist die gleiche Zahl. Im Beispiel fehlt für das erste Byte der Tag ID ein dechex() Aufruf. Das habe ich gerade behoben. Die PHP Beispiele sind nicht direkt als Webseite gedacht, sondern als Kommandozeilenprogramme. In diesem Fall endet das Programm nicht, sondern fragt durchgehend nach der aktuellen Tag ID. Der Webserver wird dem PHP Script aber nur einige Sekunden Laufzeit zugestehen und es dann abwürgen. Eine einfache Änderung des Beispiels wäre es dispatchCallbacks(5) statt dispatchCallbacks(-1) aufzurufen. Dann wartet das Beispiel maximal 5 Sekunden bevor es sich beendet und du die Ausgabe als Webseite sehen solltest. 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.