florian_czernin Posted May 19, 2016 at 10:41 PM Posted May 19, 2016 at 10:41 PM 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) Quote
borg Posted May 20, 2016 at 06:58 AM Posted May 20, 2016 at 06:58 AM 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. Quote
florian_czernin Posted May 20, 2016 at 07:24 AM Author Posted May 20, 2016 at 07:24 AM 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. Quote
photron Posted May 20, 2016 at 08:19 AM Posted May 20, 2016 at 08:19 AM 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. Quote
florian_czernin Posted May 20, 2016 at 08:54 AM Author Posted May 20, 2016 at 08:54 AM Hallo und Danke erst einmal ... was auch immer gestern nicht gepasst hat. Das JavaScript beispiel läuft jetzt bei mir. Quote
florian_czernin Posted May 24, 2016 at 10:37 PM Author Posted May 24, 2016 at 10:37 PM 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 Quote
photron Posted May 25, 2016 at 07:19 AM Posted May 25, 2016 at 07:19 AM 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? Quote
florian_czernin Posted May 25, 2016 at 09:39 AM Author Posted May 25, 2016 at 09:39 AM 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 Quote
photron Posted May 25, 2016 at 09:48 AM Posted May 25, 2016 at 09:48 AM 500 heißt Serverfehler. Da muss du mal ins Log deines Webservers schauen, was genau das Problem ist. Quote
florian_czernin Posted May 25, 2016 at 09:42 PM Author Posted May 25, 2016 at 09:42 PM 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? Quote
Nic Posted May 26, 2016 at 08:08 AM Posted May 26, 2016 at 08:08 AM 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 Quote
florian_czernin Posted May 26, 2016 at 09:45 PM Author Posted May 26, 2016 at 09:45 PM 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. Quote
photron Posted May 30, 2016 at 09:21 AM Posted May 30, 2016 at 09:21 AM 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. Quote
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.