Und wie hast Du das mit der Spannungsversorgung gelöst?
RFID Reader - Arduino Ethernet RC522
Einklappen
X
-
sehr schnell ca 1 Sekunde + Zeit des Türschloß, bei mir also 2-3Sek.
Spannung kommt bei mir per POE.
Kein Support per PN!Kommentar
-
POE hätte mir nämlich auch vorgeschwebt. Das heißt Du hast zusätzlich zur obigen Liste noch ein "PoE Module 5V" verbaut?Kommentar
-
Nein, ich gehe vom Switch zu einem POE Injector (8-fach) und dann weiter zu den Geräten.
Auf er Geräteseite nutze ich ein simples Kabel das Ethernet und POE aufteilt.
Ganz einfach kannst es mit so einem Kabel machen.
Power over Ethernet (POE) Kabelset, Passiv PoE (+) Komponenten von FREI - Schnelle Lieferung ✓ günstige Preise ✓ Für Gewerbe und Privat ✓ Jetzt online bei reichelt elektronik bestellen!
Das POE-Modul hatte keinen Platz mehr und ist auch überteuert.
-
-
Ich wollte jetzt keinen Extra Thread aufmachen. Aber habt ihr die schon gesehen?
Sollten eigentlich funktionieren. Hab momentan ibuttons in Betrieb. Da ich aber immer wieder Metallspäne dran kleben habe nervt das etwas.
Nur weis ich nicht ob das auch mit einem elektronischen Schlüsselbrett machbar wäre :-/Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
Synology: DS414, 4x4TB WD red,
Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
Fritzbox: 7490
Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 ModulKommentar
-
Kommentar
-
Hallo.
Muss mich einmal einklinken.
Ich möchte einen RFID als Zugangskontakt einsetzen.
Funktioniert der RFID von "eservice" direkt an der 1Wire-Extention?
Versucht habe ich es. Aber leider kriege ich keine Meldung von dem RFID Test!
Hat einer eine IDee?
Danke
Hans-Jürgen -
Hallo Hans-Jürgen,
sollte gehen. Zwar habe ich nicht den von Eservice online getestet, meiner sieht aber genau so aus. Auch der Anschluss scheint gleich zu sein. Wichtig ist, dass die Versorgungsspannung nicht von der 1wire-Ext. kommen kann/darf -- die reicht nämlich nicht. Für die Versorgungsspannung des RFID-Teils unbedingt ein eigenes Netzteil mit angegebener Spannung, Masse zusätzlich an den Masse-Kontakt des 1wire-Busses (Datenleitung sowieso an 1wire-Ext.). Dann sollte es eigentlich laufen. Ach ja: Die LEDs machen zunächst nichts! Solange du sie nicht mit z.B. DOs vom MS ansteuerst.
-
-
Hallo Vossi und ...
Frohe Weihnachten allen die mitlesen!
Ja. Das Problem habe ich auch schon gelöst.
DQ und Masse auf 1 Wire, Strom vom 24V Netzteil.
Funktioniert dann wie ein Ibotton.
Man muss natürlich die Schlüssel einlesen um in der LOXON-Config unter 1Wire suchen etwas zu sehen.
Hatte bei meinen Versuchen einen defekten Schüssel (Der Teufel versteckt sich in den unscheinbarsten Dingen.)
Darum bin ich am Anfang verzweifelt.
Aber alles gut.
Ich hatte auch bei eService nachgefragt. Ihre Anwort: "Geht nicht!" Aber in Bezug auf die Seriennummer des RFid's. Den kann man nicht auslesen um eine Standortbestimmung machen zu können.
Werde mir mal das 1Wire von eService zulegen. Vielleicht kriege ich es damit hin.
Danke für die Rückmeldung und
Frohe...
Hans-Jürgen SchillingKommentar
-
Loxone bringt ja bald die festen NFC Tags für das NFC Code Touch raus. Ich nutze schon seit einiger Zeit den RFID Reader, bin nun am Überlegen den Touch an der Haustür nach zu rüsten und den Reader für die Nebentüren zu nutzen. Weiß schon jemand, ob die Loxone Tags auch per RFID auslesbar sind. Die ID soll ja bei einigen Readern funktionieren. Es wäre halt schön dann dauerhaft ein Medium zu haben.
hismastersvoice Es gibt ja auch NFC Reader für Arduino. Hast du schon mal was in die Richtung gemacht?
Gruß
ChristophKommentar
-
Was sind "feste" NFC Tag?
Der eigentliche Unterschied zwischen RFID und NFC mit 13.57MHz ist die zurück gegebene Länge des Code.
RFID gibt im Standart xx xx xx xx zurück NFC xx xx xx xx xx xx xx.
Da das Board auf 13MHz basiert sollte es reichen den Code anzupassen.Kein Support per PN!Kommentar
-
Hallo hismastersvoice , ich habe die Schaltung am WE nachgebaut und bekomme es nicht ans laufen: Nano und RFIS522 bzw. Nano und W5100 funktionieren jeweils einzeln, baue ich jedoch Nano und W5100 samt RFID522 gleichzeitig laut Anleitung zusammen, bekommt der Nano keine DCHP-Verbindung mehr. Mir scheint die beiden Nano-Erweiterungen blockieren sich (beide senden/empfangen gleichzeitig seriell?).
Nano bootet, RGB-LED geht an, aber DHCP erhält keine IP. Ziehe ich den 522er ab, bekommt der Nano eine IP. An der Wartezeit liegt es nicht - auch nach 10 Minuten keine IP.
Liegt es vielleicht an diesen 522er Pins? Die sind im Code enthalten, in der Schaltung unten aber nicht. Port 8 habe ich gar nicht verkabelt, Pin 9 an Nano SDA.
// Definition Pins fuer RC522
#define SS_PIN 9 // SS-Pin fuer RC522
#define RST_PIN 8 //RST-Pin fuer RC522
// MFRC522 Instanz eroeffnen
MFRC522 mfrc522(SS_PIN, RST_PIN);
Ich verkable (über ein Breadboard) wie im ersten Post beschrieben:
Elektrische Verbindungen (Schaltung)
Ethernet zu Breadboard
MO -> Pin 11
MI -> Pin 12
SCK -> Pin 13
SS -> Pin 10
5v -> 5V
GND -> GND
RC522 zu Breadboard
MO -> Pin 11
MI -> Pin 12
SCK -> Pin 13
SDA -> Pin 9
5v -> 5V
GND -> GND
RGB-LEDs und Buzzer zu Arduino (direkt)
Grün -> Pin7
Blau -> Pin 6
Rot -> Pin 5
GND -> GND
Arduino zu Breadboard:
Pin 9 - Pin 9
Pin 10 - Pin 10
Pin 11 - Pin 11
Pin 12 - Pin 12
Pin 13 - Pin 13
5V - VIN
GND - GNDKommentar
-
Ich nutze das ganze so nicht mehr, deswegen kann ich wenig dazu sagen. Habe alles auf ESP8266 bzw. ESP32 umgestellt.
Verbinde mal noch PIN8 auf RST des 522iger
Kein Support per PN!Kommentar
-
Leider keine Änderung. Auch bei zusätzlichem Anschluss des 522er RST auf den Nano Pin 8 leider kein DHCP mehr möglich.
Die LED scheint zu funktionieren - eine Sekunde nach Stromanschluß an den Arduino geht sie blau an.
Gast sonorobby oder sonst irgendjemand hier, der mir weiterhelfen kann? Ich denke ich bin recht kurz vorm Ziel, aber ich komme alleine nicht weiter ;(Kommentar
-
Ich hoffe das ist so nachvollziehbar:
LED: RGB an Nano 576, GND LED and GND Arduino.
LED geht
Breadboard:
5V an ROT (NANO, ETH, RFID)
GND an SCHWARZ (NANO, ETH, RFID)
Pin 9 - GRÜNE KABEL (NANO <> RFID)
Pin 10 - WEISSES KABEL (NANO <>ETH)
Pin 11 - ORANGES KABEL (ALLE)
Pin 12 - GELBES KABEL (ALLE)
Pin 13 - BRAUNES KABEL (ALLE)
Habe ein zweites Board drunter gelegt daß man die Pinbelegung besser ablesen kann - nur fürs Foto...
Orange MO
Weiss SS
ROT +5
Schwarz GND
Braun CK
Gelb Mi
Nicht verwirren lassen - ich hab die Pins nach unten weg an den arduino angebracht...
Braun Pin 13
Gelb Pin 12
Orange Pin 11
Weiss Pin 10
Grün Pin 9
Testweise hatte ich Pin 8 mit RST von RFID zusammengeschaltet - hat nichts gebracht.
Habs wieder entfernt.
Code:[FONT=courier new]// RFID 2 Loxone Miniserver // DHCP Version //Bibliotheken die benoetigt werden #include <SPI.h> #include <Ethernet.h> #include <EthernetUdp.h> #include <MFRC522.h> // Definition Befehle #define LED_ON HIGH #define LED_OFF LOW #define BUZZER_ON HIGH #define BUZZER_OFF LOW // Definition Pins #define greenLed 7 // Farbe gruen RGB LED #define blueLed 6 // Farbe blau RGB LED #define redLed 5 // Farbe rot RGB LED #define buzzer 4 // Buzzer/Summer // Definition Pins fuer RC522 #define SS_PIN 9 // SS-Pin fuer RC522 #define RST_PIN 8 //RST-Pin fuer RC522 // MFRC522 Instanz eroeffnen MFRC522 mfrc522(SS_PIN, RST_PIN); // Variablen byte readCard[4]; String uID; // Netzwerk Einstellungen // bei mehr als einem Reader MAC anpassen (Anmerkung: MAC funktioniert wenn nur ethernet angeschlossen ist) byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // UDP Port zum Datenempfang Lox MS -> Arduino unsigned int ARDUPORT = 7003; // IP Lox MS (Anmerkung: IP hier abgeändert - funktioniert wenn nur ethernet angeschlossen ist) IPAddress MSIP(192, 168, 123, 123); // UDP Port zum Datenversand Arduino -> Lox MS unsigned int MSPORT = 7003; // Daten-Buffer char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; // EthernetUDP Instanz um UDP zu senden/empfangen EthernetUDP Udp; // Programm void setup() { Serial.begin(9600); pinMode(greenLed, OUTPUT); pinMode(blueLed, OUTPUT); pinMode(redLed, OUTPUT); pinMode(buzzer, OUTPUT); digitalWrite(buzzer, BUZZER_OFF); // stellt sicher das digitalWrite(redLed, LED_OFF); digitalWrite(greenLed, LED_OFF); digitalWrite(blueLed, LED_OFF); if (!Ethernet.begin(mac)) Serial.println("DHCP fehlgeschlagen"); else { Serial.println ("Netzwerkdaten"); Serial.println ("---------------"); Serial.print("Arduino MAC: "); Serial.print(mac[0], HEX); Serial.print(":"); Serial.print(mac[1], HEX); Serial.print(":"); Serial.print(mac[2], HEX); Serial.print(":"); Serial.print(mac[3], HEX); Serial.print(":"); Serial.print(mac[4], HEX); Serial.print(":"); Serial.println(mac[5], HEX); Serial.print("Arduino IP: "); Serial.println(Ethernet.localIP()); Serial.print("Arduino UDP Port: "); Serial.println(ARDUPORT); Serial.println ("---------------"); Serial.print ("Miniserver IP: "); Serial.println(MSIP); Serial.print("Miniserver UDP Port: "); Serial.println(MSPORT); Serial.println ("---------------"); } Udp.begin(ARDUPORT); // Start UDP SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 Karte mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); // Setzt Antenne auf max. Empfang } void loop() { // schaut on ein UDP Befehl empfangen wurde checkUDP(); if (!strcmp(packetBuffer, "OK")) { uuid_ok(); } else if (!strcmp(packetBuffer, "NOK")) { uuid_notok(); } else if (!strcmp(packetBuffer, "SAB")) { uuid_lock(); } else { wait_picc(); } // RDIF lesen und Werte bearbeiten if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } if ( ! mfrc522.PICC_ReadCardSerial()) { return; } int val1 = (mfrc522.uid.uidByte[0]); int val2 = (mfrc522.uid.uidByte[1]); int val3 = (mfrc522.uid.uidByte[2]); int val4 = (mfrc522.uid.uidByte[3]); String valA = String(val1, HEX); String valB = String(val2, HEX); String valC = String(val3, HEX); String valD = String(val4, HEX); uID = valA + valB + valC + valD; Serial.print("RFID-Key: "); Serial.print(uID); Serial.println(); sendUDP(uID); mfrc522.PICC_HaltA(); return; } //empfangene UDP-Befehle auswerten void checkUDP() { // if there's data available, read a packet int packetSize = Udp.parsePacket(); if (packetSize) { // read the packet into packetBufffer Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE); } delay(10); } //UDP-Befehl senden void sendUDP(String text) { Udp.beginPacket(MSIP, MSPORT); Udp.print(text); Udp.endPacket(); delay(10); } //RFID PIC OK // LED gruen geht an, Buzze piep einmal kurz (50ms) void uuid_ok() { digitalWrite(blueLed, LED_OFF); digitalWrite(redLed, LED_OFF); digitalWrite(greenLed, LED_ON); digitalWrite(buzzer, BUZZER_ON); delay(50); digitalWrite(buzzer, BUZZER_OFF); delay(1000); for (int i = 0; i < UDP_TX_PACKET_MAX_SIZE; i++) packetBuffer[i] = 0; } //RFID PIC nicht OK // LED rote geht an, Buzze piep zweimal kurz (50ms) void uuid_notok() { digitalWrite(greenLed, LED_OFF); digitalWrite(blueLed, LED_OFF); digitalWrite(redLed, LED_ON); digitalWrite(buzzer, BUZZER_ON); delay(50); digitalWrite(buzzer, BUZZER_OFF); delay(100); digitalWrite(buzzer, BUZZER_ON); delay(50); digitalWrite(buzzer, BUZZER_OFF); delay(1000); for (int i = 0; i < UDP_TX_PACKET_MAX_SIZE; i++) packetBuffer[i] = 0; } //Schloss gesperrt // LED rot geht an, Buzze piep dreimal lang (250ms) void uuid_lock() { digitalWrite(greenLed, LED_OFF); digitalWrite(blueLed, LED_OFF); digitalWrite(redLed, LED_ON); digitalWrite(buzzer, BUZZER_ON); delay(250); digitalWrite(buzzer, BUZZER_OFF); delay(50); digitalWrite(buzzer, BUZZER_ON); delay(250); digitalWrite(buzzer, BUZZER_OFF); delay(50); digitalWrite(buzzer, BUZZER_ON); delay(250); digitalWrite(buzzer, BUZZER_OFF); delay(1000); for (int i = 0; i < UDP_TX_PACKET_MAX_SIZE; i++) packetBuffer[i] = 0; } //Wartet auf RFID PIC //Grundeinstellung blaue LED ist ein und wartet auf PICC void wait_picc() { digitalWrite(greenLed, LED_OFF); digitalWrite(blueLed, LED_ON); digitalWrite(redLed, LED_OFF); }[/FONT]
Zuletzt geändert von Gast; 25.02.2019, 21:13.Kommentar
-
Du kannst dem Arduino bzw. dem W5100 Shield eine feste IP vergeben, dann muss er sich nicht immer über den DHCP Server eine neue Anfragen.
Ist bei den Arduinos ab und an mal echt ein Problem.
Der Syntax sollte sein wenn du die Standard Arduino nimmst:
#include <SPI.h>
#include <Ethernet.h>
// network configuration. dns server, gateway and subnet are optional.
// the media access control (ethernet hardware) address for the shield:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// the dns server ip
IPAddress dnServer(192, 168, 0, 1);
// the router's gateway address:
IPAddress gateway(192, 168, 0, 1);
// the subnet:
IPAddress subnet(255, 255, 255, 0);
//the IP address is dependent on your network
IPAddress ip(192, 168, 0, 2);
void setup() {
Serial.begin(9600);
// initialize the ethernet device
Ethernet.begin(mac, ip, dnServer, gateway, subnet);
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Für einen ESP8266 nimmt man diesen Syntax:
//set fix IP ADDRESS
IPAddress ip(192, 168, 2, 155);
IPAddress gateway(192, 168, 2, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 2, 1);
WiFi.config(ip, dns, gateway, subnet); -
sonorobby Danke. Setze ich die IP manuell, bleibt das Programm nach der Anzeige der Netzwerkdaten stehen. Setze ich die IP fest und entferne den ethernet-shield vor dem Programmstart, zeigt er die Netzwerkdaten und beginnt angehaltene Karten anzuzeigen. Sobald der ethernet-shield wieder dazugesteckt wird, werden keine karten mehr erkannt.
-
-
Ich habe hier drei nanos, drei rfid-reader und einen ethernet-shield. Wenn es mit einem ESP8266 läuft, versuche ich es gerne so. Gibt es dafür ein Tutorial irgendwo?Kommentar
-
Kommentar