NFC-Reader Beispielsoftware
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
-
- Beiträge: 7
- Registriert: 04 Apr 2024, 16:33
NFC-Reader Beispielsoftware
Hallo liebe Community,
ich habe mir einen PN532 NFC Reader gekauft und würde diesen gerne in RoboPro Coding in Betrieb nehmen.
Er ist bereits an den TXT Controller angeschlossen, nur fehlt mir die entsprechende Software (die ich nach langer Recherche auch nirgends finden konnte).
Hat zufällig ein schlauer Fuchs ein kleines Beispielprogramm, mit dem ich NFC-Tags beschreiben und auslesen kann?
Würde mich sehr über Hilfe freuen!
Liebe Grüße
ich habe mir einen PN532 NFC Reader gekauft und würde diesen gerne in RoboPro Coding in Betrieb nehmen.
Er ist bereits an den TXT Controller angeschlossen, nur fehlt mir die entsprechende Software (die ich nach langer Recherche auch nirgends finden konnte).
Hat zufällig ein schlauer Fuchs ein kleines Beispielprogramm, mit dem ich NFC-Tags beschreiben und auslesen kann?
Würde mich sehr über Hilfe freuen!
Liebe Grüße
Re: NFC-Reader Beispielsoftware
RoboPro coding => TXT4.0
Python
Probably you need:
to develop a driver in Python for the PN532
from adafruit_pn532.i2c import PN532_I2C
import nfc
import ndef
A suggestion for an experiment with PN532:
Be aware of the I2C clock stretching issues of the pn532, see the data sheet and adafruit
If the I2C bus supports clock stretching, you don't'need req=req_pin, irq=irq_pin,
I was using a FT232H USB to I2C with GPIO ports for experimenting with the PN532.
https://www.adafruit.com/product/2264
Python
Probably you need:
to develop a driver in Python for the PN532
from adafruit_pn532.i2c import PN532_I2C
import nfc
import ndef
A suggestion for an experiment with PN532:
Be aware of the I2C clock stretching issues of the pn532, see the data sheet and adafruit
If the I2C bus supports clock stretching, you don't'need req=req_pin, irq=irq_pin,
Code: Alles auswählen
pn532 = PN532_I2C(i2c, debug=False, req=req_pin, irq=irq_pin, reset=reset_pin)
ic, ver, rev, support = pn532.firmware_version
print("Found PN532 with firmware version: {0}.{1}".format(ver, rev))
# Configure PN532 to communicate with MiFare cards
pn532.SAM_configuration()
print("Waiting for RFID/NFC card...")
while True:
# Check if a card is available to read
uid = pn532.read_passive_target(timeout=0.5)
print(".", end="")
# Try again if no card is available.
if uid is None:
# print("No card found")
continue
print("Found card with UID 01:", [hex(i) for i in uid])
pn532.mifare_classic_read_block()
pn532.mifare_classic_authenticate_block()
pn532.ntag2xx_read_block()
pn532.mifare_classic_get_value_block()
print("found")
https://www.adafruit.com/product/2264
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
Ich bin mir nicht ganz sicher. Ich meine aber, die Robo Pro oder C Software ist bei der Factory dabei. Also die TXT Software auch bei der SPS Version.
BTW Wo habt ihr eure Boards gekauft?
Ich wollte auch damit experimentieren, allerdings mit dem TXT 4.0
Ich wollte soweit aber auf einen 5V Anschluss verzichten und nur eine 3,3V Version benutzen.
Bei dem was ich da habe bin ich mir noch nicht sicher ob die alle 3,3V haben/vertragen/laufen... oder zumindest der I2C 3,3 V hat.
Und die Platine ist wesentlich kleiner als die Arduino-Version zum stapeln.
Mit freundlichen Grüßen
Holger
Ich bin mir nicht ganz sicher. Ich meine aber, die Robo Pro oder C Software ist bei der Factory dabei. Also die TXT Software auch bei der SPS Version.
BTW Wo habt ihr eure Boards gekauft?
Ich wollte auch damit experimentieren, allerdings mit dem TXT 4.0
Ich wollte soweit aber auf einen 5V Anschluss verzichten und nur eine 3,3V Version benutzen.
Bei dem was ich da habe bin ich mir noch nicht sicher ob die alle 3,3V haben/vertragen/laufen... oder zumindest der I2C 3,3 V hat.
Und die Platine ist wesentlich kleiner als die Arduino-Version zum stapeln.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
-
- Beiträge: 7
- Registriert: 04 Apr 2024, 16:33
Re: NFC-Reader Beispielsoftware
The problem is that the RoboPro Coding Software cannot access the adafruit_pn532.i2c module and I can't find a Fischertechnik API that lets me access a similar module.vleeuwen hat geschrieben: ↑04 Apr 2024, 22:25RoboPro coding => TXT4.0
Python
Probably you need:
to develop a driver in Python for the PN532
from adafruit_pn532.i2c import PN532_I2C
import nfc
import ndef
A suggestion for an experiment with PN532:
Be aware of the I2C clock stretching issues of the pn532, see the data sheet and adafruit
If the I2C bus supports clock stretching, you don't'need req=req_pin, irq=irq_pin,I was using a FT232H USB to I2C with GPIO ports for experimenting with the PN532.Code: Alles auswählen
pn532 = PN532_I2C(i2c, debug=False, req=req_pin, irq=irq_pin, reset=reset_pin) ic, ver, rev, support = pn532.firmware_version print("Found PN532 with firmware version: {0}.{1}".format(ver, rev)) # Configure PN532 to communicate with MiFare cards pn532.SAM_configuration() print("Waiting for RFID/NFC card...") while True: # Check if a card is available to read uid = pn532.read_passive_target(timeout=0.5) print(".", end="") # Try again if no card is available. if uid is None: # print("No card found") continue print("Found card with UID 01:", [hex(i) for i in uid]) pn532.mifare_classic_read_block() pn532.mifare_classic_authenticate_block() pn532.ntag2xx_read_block() pn532.mifare_classic_get_value_block() print("found")
https://www.adafruit.com/product/2264
Do you know a solution to that?
Thank you in advance!
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
Mit Robo Pro Coding hat man über Python Zugriff auf den I2C. Und somit auch auf den NFC Reader.
Genau das wollte ich machen. Nur muss ich noch so einen mir erst besorgen. Den Umweg über einen Arduino Uno und dann zum TXT 4.0 wollte ich mir ersparen, da es baulich mir zu groß ist.
Mit freundlichen Grüßen
Holger
Mit Robo Pro Coding hat man über Python Zugriff auf den I2C. Und somit auch auf den NFC Reader.
Genau das wollte ich machen. Nur muss ich noch so einen mir erst besorgen. Den Umweg über einen Arduino Uno und dann zum TXT 4.0 wollte ich mir ersparen, da es baulich mir zu groß ist.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
Re: NFC-Reader Beispielsoftware
@NFC-Enjoyer
I was using MS-Visual Studio code to develop and install Python (libraries with pip(3)) Software remotely on the TXT4.0.
However the TXT 4.0 file oriented memory is to small for the VS code supporting files.
I moved the VS code supporting file a SD memory card in the TXT4.0; see the MS-VS documentation about how to move these files to another drive, map..
Be aware about the Python version installed on the TXT4.0. But it was usable in combinatie with MS-VS code.
I was using MS-Visual Studio code to develop and install Python (libraries with pip(3)) Software remotely on the TXT4.0.
However the TXT 4.0 file oriented memory is to small for the VS code supporting files.
I moved the VS code supporting file a SD memory card in the TXT4.0; see the MS-VS documentation about how to move these files to another drive, map..
Be aware about the Python version installed on the TXT4.0. But it was usable in combinatie with MS-VS code.
-
- Beiträge: 7
- Registriert: 04 Apr 2024, 16:33
Re: NFC-Reader Beispielsoftware
Hallo Holger,fishfriend hat geschrieben: ↑12 Apr 2024, 12:45Hallo...
Mit Robo Pro Coding hat man über Python Zugriff auf den I2C. Und somit auch auf den NFC Reader.
Genau das wollte ich machen. Nur muss ich noch so einen mir erst besorgen. Den Umweg über einen Arduino Uno und dann zum TXT 4.0 wollte ich mir ersparen, da es baulich mir zu groß ist.
Mit freundlichen Grüßen
Holger
Hardwaretechnisch bin ich da gut aufgestellt, nur fehlt mir die entsprechende Software um den NFC Reader anzusteuern. Also konkret weiß ich nicht, wie ich über die Fischertechnik-Softwareumgebung (Dinge wie "TXT_M = txt_factory.controller_factory.create_graphical_controller()" etc.) den PN532 NFC Reader anspreche. Hast du da vielleicht eine entsprechende Syntax parat?
Liebe Grüße
Nicolas
-
- Beiträge: 7
- Registriert: 04 Apr 2024, 16:33
Re: NFC-Reader Beispielsoftware
Thank you for your answer!vleeuwen hat geschrieben: ↑13 Apr 2024, 01:46@NFC-Enjoyer
I was using MS-Visual Studio code to develop and install Python (libraries with pip(3)) Software remotely on the TXT4.0.
However the TXT 4.0 file oriented memory is to small for the VS code supporting files.
I moved the VS code supporting file a SD memory card in the TXT4.0; see the MS-VS documentation about how to move these files to another drive, map..
Be aware about the Python version installed on the TXT4.0. But it was usable in combinatie with MS-VS code.
That definitely sounds like a possible solution but it still seems a bit complicated. There must be a way to communicate with the NFC Reader via libraries that can be installed on the TXT itself, without using the SD memory workaround...
Re: NFC-Reader Beispielsoftware
FileZilla remote connection SSH SFTP connection.That definitely sounds like a possible solution but it still seems a bit complicated. There must be a way to communicate with the NFC Reader via libraries that can be installed on the TXT itself, without using the SD memory workaround...
Putty voor remote command screen:
user: ft
password: fischertechnik
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
I2C geht über Python mit dem TXT 4.0 so:
viewtopic.php?t=8046
Ist zwar ein anderer Sensor, aber man hat zumindes die Vorgehensweise.
Der NFC kann aber auch beschreiben usw. Man muss also alles händisch selber schreiben, also die ganzen Befehle - ohne Robo Pro Coding. Man -könnte- das aber als Python-Block einfügen.
Es ist tatsächlich das nächste Projekt, was bei mir auf der Liste steht.
Als erstes werde ich mir mal die Platine besorgen. Die Rezensionen auf Amazon, sind zum Teil grotten schlecht.
Mal schaun, woch ich die Platine her bekomme...
Ich werde mir auch noch mal die neuen Dateien der neuen ft-factory mit Robo Pro Coding anschauen. Eventuell kann man da was abschauen. Kann aber auch sein, dass die über C++ gehen. Irgend was war da...
Mit freundlichen Grüßen
Holger
I2C geht über Python mit dem TXT 4.0 so:
viewtopic.php?t=8046
Ist zwar ein anderer Sensor, aber man hat zumindes die Vorgehensweise.
Der NFC kann aber auch beschreiben usw. Man muss also alles händisch selber schreiben, also die ganzen Befehle - ohne Robo Pro Coding. Man -könnte- das aber als Python-Block einfügen.
Es ist tatsächlich das nächste Projekt, was bei mir auf der Liste steht.
Als erstes werde ich mir mal die Platine besorgen. Die Rezensionen auf Amazon, sind zum Teil grotten schlecht.
Mal schaun, woch ich die Platine her bekomme...
Ich werde mir auch noch mal die neuen Dateien der neuen ft-factory mit Robo Pro Coding anschauen. Eventuell kann man da was abschauen. Kann aber auch sein, dass die über C++ gehen. Irgend was war da...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
-
- Beiträge: 7
- Registriert: 04 Apr 2024, 16:33
Re: NFC-Reader Beispielsoftware
Hallo Holger,fishfriend hat geschrieben: ↑14 Apr 2024, 16:51Hallo...
I2C geht über Python mit dem TXT 4.0 so:
viewtopic.php?t=8046
Ist zwar ein anderer Sensor, aber man hat zumindes die Vorgehensweise.
Der NFC kann aber auch beschreiben usw. Man muss also alles händisch selber schreiben, also die ganzen Befehle - ohne Robo Pro Coding. Man -könnte- das aber als Python-Block einfügen.
Holger
danke schonmal für deine Antwort.
Ich bin dem verlinkten Thread gefolgt und habe das Codebeispiel für das "ansprechen" des I2C Ports gesehen. Mir ist es dennoch leider nicht gelungen, den Anschluss vernünftig anzusprechen und den NFC Reader zu nutzen.
Wenn ich es richtig verstanden habe, brauche ich folgenden Part:
import smbus
bus = smbus.SMBus(3)
Aber wie lautet dann das weitere Vorgehen?
Außerdem frage ich mich, ob in den Controllereinstellungen nicht mehr stehen muss als "txt_factory.init_i2c_factory()", um den I2C Port anzusprechen. Also die Richtung:
"TXT_M_I2C_1_environment_sensor = txt_factory.i2c_factory.create_environment_sensor(TXT_SSC_M, 1)", nur eben für einen NFC Reader...
Ich stehe da wirklich auf dem Schlauch, warum müssen die von FT es einem so schwer machen?
Viele Grüße
Nicolas
Re: NFC-Reader Beispielsoftware
Hallo Nicolas,
du kannst ja mal Rei Vilo per PN in Englisch fragen, der hat sich mit dem Thema schon auseinandergesetzt,
vielleicht kann er dir weiterhelfen.
Webseite: ReiVilo
https://reivilofischertechnik.weebly.co ... trfid.html
Gruß
Dirk
du kannst ja mal Rei Vilo per PN in Englisch fragen, der hat sich mit dem Thema schon auseinandergesetzt,
vielleicht kann er dir weiterhelfen.
Webseite: ReiVilo
https://reivilofischertechnik.weebly.co ... trfid.html
Gruß
Dirk
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
OK, ich gebe zu ich hatte es mir etwas leichter vorgestellt.
Man -"kann"- es nur über read und write die einzelnen Bytes senden und empfangen.
Das Teil kann aber sehr sehr viel. Zu meiner Überraschung, hat der Sensor sogar eine eigene CPU innen drinn.
Der kann sehr viel mehr als man vermutet. Auch kann der unterschiedliche Systeme emulieren. Welchen er nehmen soll, muss man ihm erst sagen.
Man muss dem Teil auch Pausen zugestehen und es hat noch zusätlich einen Wakeup.
Am Anfang muss man den Sensor initialisieren. U.a. muss man den Teil Sagen wie man es anspricht, also über welche Schnittstelle.
Es gibt für den Sensor auch Beispiele in Python.
U.a. von Adafruit https://github.com/adafruit/Adafruit-PN ... _PN532.cpp
Da sind auch die Wartezeiten drinn. Ich gebe zu es ist auch etwas Neuland für mich, einen Treiber für den TXT 4.0 und I2C zu schreiben.
Zumindestens kann man die Variablen in Robo Pro Coding anlegen, um die Sachen dann in den Python Code zu übernehmen.
Ich bekomme meinen Sensor vorraussichtlich erst am Dienstag/Mittwoch.
Mal schaun, ob ich heute noch dazu komme, zumindest mit dem Grundgerüßt anzufangen.
Hier noch mal hilfreiche Links:
User Manual:https://www.nxp.com/docs/en/user-guide/141520.pdf
Application note:https://www.nxp.com/docs/en/nxp/applica ... 133910.pdf
Von Adafruit gibt es noch:
circuitpython:https://docs.circuitpython.org/projects ... -pn532-i2c
Python test:https://docs.circuitpython.org/projects ... mples.html
Mit freundlichen Grüßen
Holger
OK, ich gebe zu ich hatte es mir etwas leichter vorgestellt.
Man -"kann"- es nur über read und write die einzelnen Bytes senden und empfangen.
Das Teil kann aber sehr sehr viel. Zu meiner Überraschung, hat der Sensor sogar eine eigene CPU innen drinn.
Der kann sehr viel mehr als man vermutet. Auch kann der unterschiedliche Systeme emulieren. Welchen er nehmen soll, muss man ihm erst sagen.
Man muss dem Teil auch Pausen zugestehen und es hat noch zusätlich einen Wakeup.
Am Anfang muss man den Sensor initialisieren. U.a. muss man den Teil Sagen wie man es anspricht, also über welche Schnittstelle.
Es gibt für den Sensor auch Beispiele in Python.
U.a. von Adafruit https://github.com/adafruit/Adafruit-PN ... _PN532.cpp
Da sind auch die Wartezeiten drinn. Ich gebe zu es ist auch etwas Neuland für mich, einen Treiber für den TXT 4.0 und I2C zu schreiben.
Zumindestens kann man die Variablen in Robo Pro Coding anlegen, um die Sachen dann in den Python Code zu übernehmen.
Ich bekomme meinen Sensor vorraussichtlich erst am Dienstag/Mittwoch.
Mal schaun, ob ich heute noch dazu komme, zumindest mit dem Grundgerüßt anzufangen.
Hier noch mal hilfreiche Links:
User Manual:https://www.nxp.com/docs/en/user-guide/141520.pdf
Application note:https://www.nxp.com/docs/en/nxp/applica ... 133910.pdf
Von Adafruit gibt es noch:
circuitpython:https://docs.circuitpython.org/projects ... -pn532-i2c
Python test:https://docs.circuitpython.org/projects ... mples.html
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
Re: NFC-Reader Beispielsoftware
Does the TXT4.0 support a good implemented clock stretching?
I can not find it in the specifications.
Otherwise you need to use 2 Input pins reset=reset_pin, req=req_pin)
I can not find it in the specifications.
Otherwise you need to use 2 Input pins reset=reset_pin, req=req_pin)
Code: Alles auswählen
# With I2C, we recommend connecting RSTPD_N (reset) to a digital pin for manual
# harware reset
reset_pin = DigitalInOut(board.D6)
# On Raspberry Pi, you must also connect a pin to P32 "H_Request" for hardware
# wakeup! this means we don't need to do the I2C clock-stretch thing
req_pin = DigitalInOut(board.D12)
pn532 = PN532_I2C(i2c, debug=False, reset=reset_pin, req=req_pin)
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
Ich denke, es muss funktionieren, da er ja in der neuen Fabrik mit dem TXT 4.0 eingesetzt ist.
Mal schauen ob man ein funktionierendes Beispiel herausziehen kann. Ich werde mir mal das Programm genauer anschauen.
Kann ja auch sein, das ft über einen RPi gegangen ist.
Mit freundlichen Grüßen
Holger
Ich denke, es muss funktionieren, da er ja in der neuen Fabrik mit dem TXT 4.0 eingesetzt ist.
Mal schauen ob man ein funktionierendes Beispiel herausziehen kann. Ich werde mir mal das Programm genauer anschauen.
Kann ja auch sein, das ft über einen RPi gegangen ist.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
OK, ich gebe zu es ist noch viel Komplizierter als gedacht.
1. Die Beschreibung in der Doku funktioniert so nicht. Man kann über Robo Pro Coding/Gitlab nicht auf das Programm zugreifen.
Man muss über Robo Pro Coding/Neu/Beispiele/Training models/FactoryMain gehen.
Das Programm hat ein Unterprogramm Nfc in der Lib.
2. Ich gebe zu, ich frage mich wie man soetwas programmieren kann. Das ist sowohl Positv als auch Negativ zu sehen.
Warum gibt es so einen Denglischen Abkürzungswahn?
Im Programm selbst schein es zwei verschiedene Arten der Ansteuerung zu geben, wobei eine auskommentiert ist.
Das Programm sieht NFC Tags für NTAG213,215 und 216 vor. Andere werden nicht erkannt. Ich frage mich gerade ob ich die richtigen bestellt habe, aber OK mein Problem. Die (ft) sehen zumindes die NFC Tag NTAG213 22mm Variante im Modell vor.
Hmmm... Warum gehen die über freefair? Haben die NFC-Tags eine Komprimierung der Daten? <--- Da hab ich noch ein Verständnissproblem.
Das kenne ich so nicht.
Eigentlich hatte ich gedacht das man "nur" das überflüssige löschen muss - Bei der Anzahl der Dateien echt eine Herausforderung. Na ja.
Die Doku:https://www.fischertechnik.de/de-de/ind ... 4-0-9v-v-2
beschreibt die unterschiedlichen Modis der Fabrik. Wir nehmen mal nur die Offlinevariante mit Bedienung über Display ohne Dashboard.
Somit ist auf Seite 16 das Blockschaltbild der ft Factory zu nehmen.
Es gibt nur einen Master und somit nur ein Programm. (Hinweis: Es gibt noch ein "zweites" Programm zu Kallibrierung, allerdings mit Dashboard. Es kann sein, das dort der Aufruf einfacher gestaltet ist. ich hab noch nicht nachgesehen.)
Da sieht man, das das NFC Modul im SLD also der "Sorting Line with Color Detection" zugeordnet ist.
-Aber- Der NFC wird dort nicht angesprochen.
Im Programmablauf wird die Lichtschranke belegt und dann vom Roboter erst die Farbe erkannt und dann auf den NFC-Reader gelegt.
Dort werden erst alle Daten gelöscht, als Rohware markiert und dann mit den Daten beschrieben.
Mal schaun wo das ist...
Im Hauptprogramm gibt es unter Importe, die Blöcke die von der lib.Nfc kommen.
U.a. wird im Hauptprogramm nfc_init dort aufgerufen. Zumindest haben wir schon mal die Initialisierung von dem NFC Reader.
Es gibt dort such jede Menge anderer NFC Blöcke. Mal schaun wo die von wem aufgerufen werden.
Man kann ja manuell vom Display NFC read und Nfc delete aufrufen. Ist noch die Frage wo das dazugehörige Programm ist...
BTW Interessant ist, dass der Roboter VGR ein nfc_write_history hat... Gehört eigentlich nicht dahin, meiner Meinung.
OK, und er hat schon mal einen Schreibbereich mit nfc_write_history auf einen NFC TAG.
Hier steht auch neben dem NTAG213 (7 bytes), die Card (weiße Karte) und bule key Mifare (blauer Schlüssel) mit 4 Bytes.
Im Schreiben nfc_write wird der Status _state, Typ _type, Maske _mask und vts _vts geschrieben
und danach die Daten mit nfc_read gelesen.
Da haben wir es. Na ja...
Jetzt ist die Frage wie es weiter gehen soll. Welche Tags sollen zum Testen genommen werden ? Karten, Schlüssel oder die Aufkleber?
Mit freundlichen Grüßen
Holger
OK, ich gebe zu es ist noch viel Komplizierter als gedacht.
1. Die Beschreibung in der Doku funktioniert so nicht. Man kann über Robo Pro Coding/Gitlab nicht auf das Programm zugreifen.
Man muss über Robo Pro Coding/Neu/Beispiele/Training models/FactoryMain gehen.
Das Programm hat ein Unterprogramm Nfc in der Lib.
2. Ich gebe zu, ich frage mich wie man soetwas programmieren kann. Das ist sowohl Positv als auch Negativ zu sehen.
Warum gibt es so einen Denglischen Abkürzungswahn?
Im Programm selbst schein es zwei verschiedene Arten der Ansteuerung zu geben, wobei eine auskommentiert ist.
Das Programm sieht NFC Tags für NTAG213,215 und 216 vor. Andere werden nicht erkannt. Ich frage mich gerade ob ich die richtigen bestellt habe, aber OK mein Problem. Die (ft) sehen zumindes die NFC Tag NTAG213 22mm Variante im Modell vor.
Hmmm... Warum gehen die über freefair? Haben die NFC-Tags eine Komprimierung der Daten? <--- Da hab ich noch ein Verständnissproblem.
Das kenne ich so nicht.
Eigentlich hatte ich gedacht das man "nur" das überflüssige löschen muss - Bei der Anzahl der Dateien echt eine Herausforderung. Na ja.
Die Doku:https://www.fischertechnik.de/de-de/ind ... 4-0-9v-v-2
beschreibt die unterschiedlichen Modis der Fabrik. Wir nehmen mal nur die Offlinevariante mit Bedienung über Display ohne Dashboard.
Somit ist auf Seite 16 das Blockschaltbild der ft Factory zu nehmen.
Es gibt nur einen Master und somit nur ein Programm. (Hinweis: Es gibt noch ein "zweites" Programm zu Kallibrierung, allerdings mit Dashboard. Es kann sein, das dort der Aufruf einfacher gestaltet ist. ich hab noch nicht nachgesehen.)
Da sieht man, das das NFC Modul im SLD also der "Sorting Line with Color Detection" zugeordnet ist.
-Aber- Der NFC wird dort nicht angesprochen.
Im Programmablauf wird die Lichtschranke belegt und dann vom Roboter erst die Farbe erkannt und dann auf den NFC-Reader gelegt.
Dort werden erst alle Daten gelöscht, als Rohware markiert und dann mit den Daten beschrieben.
Mal schaun wo das ist...
Im Hauptprogramm gibt es unter Importe, die Blöcke die von der lib.Nfc kommen.
U.a. wird im Hauptprogramm nfc_init dort aufgerufen. Zumindest haben wir schon mal die Initialisierung von dem NFC Reader.
Es gibt dort such jede Menge anderer NFC Blöcke. Mal schaun wo die von wem aufgerufen werden.
Man kann ja manuell vom Display NFC read und Nfc delete aufrufen. Ist noch die Frage wo das dazugehörige Programm ist...
BTW Interessant ist, dass der Roboter VGR ein nfc_write_history hat... Gehört eigentlich nicht dahin, meiner Meinung.
OK, und er hat schon mal einen Schreibbereich mit nfc_write_history auf einen NFC TAG.
Hier steht auch neben dem NTAG213 (7 bytes), die Card (weiße Karte) und bule key Mifare (blauer Schlüssel) mit 4 Bytes.
Im Schreiben nfc_write wird der Status _state, Typ _type, Maske _mask und vts _vts geschrieben
und danach die Daten mit nfc_read gelesen.
Da haben wir es. Na ja...
Jetzt ist die Frage wie es weiter gehen soll. Welche Tags sollen zum Testen genommen werden ? Karten, Schlüssel oder die Aufkleber?
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
Hmmm...
Mal eine blöde Frage. Wie hab ihr den PN532 angeschlossen?
Es gibt da mehrere Schaltungen für I2C im Netz.
U.a. wird auch IRQ und RSTO bei I2C mit angeschlossen. - Was mit dem TXT 4.0 nun nicht so toll ist...
Kann es sein, dass der im Neu-"Fabrikzustand" in einem Modus ist, wo der das nicht braucht?
Mit freundlichen Grüßen
Holger
PS Gibt es für das PN532 Modul eine STL-Datei für 3D Drucker, um es im fischertechnik Modelle einzubauen?
Hmmm...
Mal eine blöde Frage. Wie hab ihr den PN532 angeschlossen?
Es gibt da mehrere Schaltungen für I2C im Netz.
U.a. wird auch IRQ und RSTO bei I2C mit angeschlossen. - Was mit dem TXT 4.0 nun nicht so toll ist...
Kann es sein, dass der im Neu-"Fabrikzustand" in einem Modus ist, wo der das nicht braucht?
Mit freundlichen Grüßen
Holger
PS Gibt es für das PN532 Modul eine STL-Datei für 3D Drucker, um es im fischertechnik Modelle einzubauen?
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
-
- Beiträge: 7
- Registriert: 04 Apr 2024, 16:33
Re: NFC-Reader Beispielsoftware
Hallo Holger,
danke schonmal für deinen Einsatz!
Genau, mit dem FactoryMain Programm von FT habe ich auch experimentiert und mich ebenfalls durch die lib.Nfc Datei gearbeitet. Ich habe zu meinem Bedauern auch festgestellt, dass im Programmcode nirgendwo direkt gezeigt wird, wie über den I2C Anschluss mit dem NFC-Reader kommuniziert wird.
Die in der lib.Nfc Datei zur Verfügung gestellten Funktionen (wie z.B. nfc_init(), nfc_write(), nfc_read() etc.) sind definitiv wichtig und hilfreich, sofern es mir gelingt den NFC-Reader über die I2C-Schnittstelle anzusprechen.
Und da liegt nach wie vor das Problem. Wie sage ich dem TXT 4.0 Controller, dass da ein NFC-Reader an der I2C-Schnittstelle hängt und ich diesen gerne benutzen würde?
Interessant ist auch die nfc_init()-Funktion, hier in gekürzter Version:
Vor allem die Zeile: nfc_obj = pynfc.Nfc(device="pn532_i2c:/dev/i2c-3", log_level=3) soll wohl den NFC-Reader als "nfc_object" festlegen... Weiß aber nicht, ob das in dieser Form .../dev/... auch in meinem Fall so aussehen sollte.
Jedenfalls scheint es, als würde das noch nicht ausreichen um dem Controller zu sagen, dass da was an der I2C-Schnittstelle hängt...
Ich werde mich auch mal direkt an FT wenden und nachfragen, ob ich auch ein kleines Codebeispiel haben könnte
Viele Grüße
Nicolas
danke schonmal für deinen Einsatz!
Genau, mit dem FactoryMain Programm von FT habe ich auch experimentiert und mich ebenfalls durch die lib.Nfc Datei gearbeitet. Ich habe zu meinem Bedauern auch festgestellt, dass im Programmcode nirgendwo direkt gezeigt wird, wie über den I2C Anschluss mit dem NFC-Reader kommuniziert wird.
Die in der lib.Nfc Datei zur Verfügung gestellten Funktionen (wie z.B. nfc_init(), nfc_write(), nfc_read() etc.) sind definitiv wichtig und hilfreich, sofern es mir gelingt den NFC-Reader über die I2C-Schnittstelle anzusprechen.
Und da liegt nach wie vor das Problem. Wie sage ich dem TXT 4.0 Controller, dass da ein NFC-Reader an der I2C-Schnittstelle hängt und ich diesen gerne benutzen würde?
Interessant ist auch die nfc_init()-Funktion, hier in gekürzter Version:
Code: Alles auswählen
def nfc_init():
global _tr0, _tr, _dg, epoch, _inner_func, state, type2, mask, vts, target, lockNFC, __version__, state_str, type_str, r, tsstr, list_tsstr, nfc_obj, is_cmd, nfc_data, target_uid, _internal_func_ntag21x, list_temp, ts
nfc_data = [0, 0, 0, 0, [0] * 8]
#nfc_obj = pynfc.Nfc(log_level=2) #default
nfc_obj = pynfc.Nfc(device="pn532_i2c:/dev/i2c-3", log_level=3)
r = init_freefare_ntag21x()
print('nfc {}'.format(get_nfc_version()))
print('libnfc {}'.format(nfc_version_text()))
print('libfreefare {}'.format(nfc_freefare_version_text()))
return nfc_obj
Jedenfalls scheint es, als würde das noch nicht ausreichen um dem Controller zu sagen, dass da was an der I2C-Schnittstelle hängt...
Ich werde mich auch mal direkt an FT wenden und nachfragen, ob ich auch ein kleines Codebeispiel haben könnte
Viele Grüße
Nicolas
-
- Beiträge: 7
- Registriert: 04 Apr 2024, 16:33
Re: NFC-Reader Beispielsoftware
In der Doku die Holger auch geschickt hat (https://www.fischertechnik.de/de-de/ind ... 4-0-9v-v-2) findest du auf Seite 16 die Pinbelegung des I2C-Anschlusses des TXT 4.0 Controllers.fishfriend hat geschrieben: ↑24 Apr 2024, 20:02Hallo...
Hmmm...
Mal eine blöde Frage. Wie hab ihr den PN532 angeschlossen?
Es gibt da mehrere Schaltungen für I2C im Netz.
U.a. wird auch IRQ und RSTO bei I2C mit angeschlossen. - Was mit dem TXT 4.0 nun nicht so toll ist...
Kann es sein, dass der im Neu-"Fabrikzustand" in einem Modus ist, wo der das nicht braucht?
Mit freundlichen Grüßen
Holger
PS Gibt es für das PN532 Modul eine STL-Datei für 3D Drucker, um es im fischertechnik Modelle einzubauen?
Du musst die 4 Pins des PN532 (VCC = 1, GND = 2, SCL = 5, SDA = 6) einfach nur anhand des Schaltplans richtig am Controller anschließen
- fishfriend
- Beiträge: 1837
- Registriert: 26 Nov 2010, 11:45
Re: NFC-Reader Beispielsoftware
Hallo...
Ähm ja das war ich. Ich meinte nicht den I2C sondern die beiden anderen Pins.
Tja und nun komme ich in das Industrieprogramm nicht mehr rein. Er sagt mit es wurde mit einer neueren Version von Robo Pro Coding erstellt, bitte Robo Pro Coding Updaten...
und ich krieg es nicht hin...
Jetzt hab ich hier den Sensor und kein Robo Pro Coding mehr... nicht ganz mein Tag...
nfc_obj = pynfc.Nfc(device="pn532_i2c:/dev/i2c-3", log_level=3)
Ich sag mal in meinem jugendlichen Leichtsinn, dass es garnicht so schlecht aussieht. Ich kann es nur nicht weiter rauskriegen...
Hat einer eine Idee? Ich gebe zu, ich bin scheinbar gerade etwas müde...
Mit freundlichen Grüßen
Holger
Ähm ja das war ich. Ich meinte nicht den I2C sondern die beiden anderen Pins.
Tja und nun komme ich in das Industrieprogramm nicht mehr rein. Er sagt mit es wurde mit einer neueren Version von Robo Pro Coding erstellt, bitte Robo Pro Coding Updaten...
und ich krieg es nicht hin...
Jetzt hab ich hier den Sensor und kein Robo Pro Coding mehr... nicht ganz mein Tag...
nfc_obj = pynfc.Nfc(device="pn532_i2c:/dev/i2c-3", log_level=3)
Ich sag mal in meinem jugendlichen Leichtsinn, dass es garnicht so schlecht aussieht. Ich kann es nur nicht weiter rauskriegen...
Hat einer eine Idee? Ich gebe zu, ich bin scheinbar gerade etwas müde...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro