PN532 Keyboard

  • Um den UART laufen zu bekommen reicht mittlerweile wohl der workaround: https://www.doorpi.org/forum/t…ild/?postID=2674#post2674


    Ich habe den UART wie oben beschrieben zum laufen bekommen, funktioniert am RPi3 mit einem RDM6300 fehlerfrei.


    Den RPi3 killen sollte nicht passieren, mein PN532 Board gibt bei angelegten 5V am UART 3.3V aus. (Leider zeigt das Oszi keinerlei Kommunikation aus dem Board heraus)

  • Wie schon gesagt, ich habe den PN532 an 3,3V Eingangsspannung hängen funktioniert am Pi2 sehr gut. Warum hier das Oszi keine Werte ausspuckt ist schon seltsam, oder ist der reader jetzt wirklich defekt?

  • Jetzt bin ich einen Schritt weiter, auch wenn ich mir nicht alles erklären kann..


    der RDM6300 funktioniert am UART der PN532 nicht, warum -keine Ahnung- . .


    Ich frage mich gerade warum wir überhaupt versuchen den UART des RPi 3s umzubiegen, ich habe gerade aus einer Kiste einen USB Adapter herausgezogen (den PL2303 habe ich vor langer Zeit für 1,50€ bei eBay gekauft, hier ein Beispiel )


    USB UART Adapter einstelcken, prüfen ob Adapter erkannt wird:


    dmesg | grep tty

    Code
    [    0.000000] Kernel command line: 8250.nr_uarts=1 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa02082 bcm2709.serial=0xd094b4ed smsc95xx.macaddr=B8:27:EB:94:B4:ED bcm2708_fb.fbswap=1 bcm2709.uart_clock=48000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    [    0.001338] console [tty1] enabled
    [    1.958129] 3f201000.uart: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
    [    4.564905] usb 1-1.3: pl2303 converter now attached to ttyUSB0

    dann die /etc/nfc/devices.d/pn532_uart_on_rpi.conf auf connstring = pn532_uart:/dev/ttyUSB0 angepasst


    die PN523 UART on RPI Config auf connstring = pn532_uart:/dev/ttyUSB0 umgestellt, neu gestartet und läuft :)


    Ich mach einen Haken an das Thema und verwende den USB Adapter (Daran wollte ich ursprünglich das Display hängen, jetzt kommt ein zweiter Adapter an den RPi3, geht problemlos)


    Code
    [    4.564905] usb 1-1.3: pl2303 converter now attached to ttyUSB0
    [ 1875.610319] usb 1-1.5: FTDI USB Serial Device converter now attached to ttyUSB1
  • @HomeLab
    Hast Du es mittlerweile zum laufen gebracht? Das würde mich brennend interesieren.


    @pula
    Ich habe jetzt nochmal frisch ein neues Raspbian auf meinen Pi3 aufgespielt aber das Problem mit dem hängen des readers besteht weiterhin aber nur beim Pi3.
    Ich habe mal einen Kernel Update gemacht aber gleiches Problem.

  • bin noch nicht dazu gekommen zu testen, gibt in der nfcpy Doku einen Hinweis:


    Direkt über nfc-poll wird er gefunden und funktioniert bei jeder Abfrage (auch nach dem reboot).
    Tagtool meldet "reader not found", das könnte der Ansatz sein: (komme erst morgen Abend zum testen.. Pi ist dummerweise ausgesteckt..)


    Zitat

    This is sold by Adafruit as “PN532 NFC/RFID Controller Breakout Board” and can directly be connected to a serial port of, for example, a
    Raspberry Pi (the device path shown is for the Raspberry Pi’s UART, when using a USB/UART bridge it would be usb:USB0:pn532). Note that
    the serial link speed is only 115200 baud when connected at /dev/ttyAMA0 while with a USB/UART bridge it may be up to 921600 baud (on Linux
    the driver tries to figure this out).


    https://media.readthedocs.org/pdf/nfcpy/latest/nfcpy.pdf

  • Also ich habe den Pi3 nochmal komplett neu aufgesetzt, nfc-list findet den reader. Das Programm tagtool funktioniert bei mir. Sobald ich dann DoorPi starte funktioniert der reader, wenn ich DooPi beende hängt der reader dann. Dies kann man nur durch ausstecken, bzw. kurz Spannungslos machen, beheben.


    @pula
    Ich habe hier das keyboard in Verdacht. Leider ist das alles Python und ich verstehe diese Sprache, noch, nicht. Kann es sein das hier der reader zuerst frei gegeben werden muss, weil es exklusiv belegt ist, wegen dem loop im keyboard? Dass das keyboard bei dem Pi2 funktioniert unterstützt zwar meine These nicht aber es wäre durchaus denkbar das beim Pi3 es doch anders gelöst werden muss.


    Danke

  • Ist zwar nicht dieses Thema, hängt aber evtl. mit zusammen. Habe Probleme mit dem Keyboard usb_plain, nach dem ersten Start des RPI gehen die Eingänge des Piface nicht und manchmal läßt sich der doorpi_cli Task nicht beenden. Es genügt ein


    Code
    arduino = usb_plain

    in der doorpi.ini als Keyboard einzutragen, um den Fehler zu simulieren bei mir.
    Beide Keyboards funktionieren ja seriell.
    Ich muß mal die Log's durchkauen, ob beim ersten Log was anderes zu sehen ist, da beim zweiten Start die Eingänge funktionieren.

  • Hallo,


    bin leider grad nicht in der Lage, das auszuprobieren (unterwegs).
    Aber probier mal bitte in der from_pn532.py folgendes destroy anstatt dessen, das jetzt drin ist (fast ganz am ende des Files):

    Code
    def destroy(self):
            self.__clf.close()
            self.__clf = None
            if self.is_destroyed: return
            logger.debug("destroy")
            self._shutdown = True
            doorpi.DoorPi().event_handler.unregister_source(__name__, True)
            self.__destroyed = True
  • @pula


    Yippie, danke pula nun funktioniert es auch und der reader wird wieder frei gegeben wenn DoorPi beendet wird.


    Hatte ich doch den richtigen riecher......


    Auf jedenfall läuft es nun perfekt. Danke nochmal!

  • Hallo, ich versuche auch gerade den PN532 zum laufen zu bekommen. Mit dem testnfc.py konnte ich die Karten auslesen, allerdings schaffe ich es nicht in Doorpi. Sobald ich alles in die Doorpi.ini eintrage startet Doorpi nicht mehr. Es scheint wohl an OpenSSL zu liegen, hatte jemand ähnliche Probleme oder kann mir sagen wie ich den Fehler beheben kann?


    Im Logfile findet sich folgender Eintrag:
    2018-02-19 17:30:04,219 [INFO] [doorpi.conf.config_object] use configfile: /usr/local/etc/DoorPi/conf/doorpi.ini
    2018-02-19 17:30:04,346 [INFO] [doorpi.status.webserver] Initiating WebService at ip and port 80
    2018-02-19 17:30:04,380 [WARNING] [root] section ReadPermission not found in configfile
    2018-02-19 17:30:04,395 [ERROR] [doorpi.status.webserver] no ReadPermission found
    2018-02-19 17:30:04,442 [INFO] [doorpi.keyboard.KeyboardInterface] using multi-keyboard mode (keyboards: nfcreader, onboardpins)
    2018-02-19 17:30:04,445 [INFO] [doorpi.keyboard.KeyboardInterface] trying to add keyboard 'nfcreader' to handler
    2018-02-19 17:30:04,490 [WARNING] [root] section nfcreader_OutputPins not found in configfile
    2018-02-19 17:30:04,898 [WARNING] [nfc.llcp.sec] OpenSSL libcrypto.so.1.1 is not supported
    2018-02-19 17:30:05,406 [INFO] [nfc.clf] searching for reader on path tty:AMA0:pn532
    2018-02-19 17:30:06,420 [INFO] [doorpi.doorpi] ======== DoorPi successfully shutdown ========

  • Hi zusammen,


    mein pn532 läuft ast rein.


    jetzt aber die Frage gibt es eine möglichkeit alle Chips und Karten zu senden


    sprich eine art wildcard in der Art


    Code
    [nfcreader_InputPins]
    FFFFFFFF = mqtt.......

    ich muss jetzt aktuell für jede ID die Ini bearbeiten
    da ich per mqtt die ID an den IO Broker sende und der wiederum dann einen öffenbefehl zurücksendet wäre das super wenn das ginge.
    Hat mir hier wer einen Tipp?