NEWS
[Projekt - Status in Entwicklung] RFID in iobroker einbinden
-
Guten Abend,
Aktuelle Hardware:
RFID Hardware - MFRC522
incl. Chip und Card
Raspberry PI 3
Female to Female Jumper Wire 7x
Installation (Experimentell! wird noch verifiziert - es fehlen auch noch einige Sachen!!!):
sudo apt-get install python-dev
Das Git Paket mit den benötigten Scripten fertig für ioBroker muss ich noch erstellen. Arbeite aber noch am Script.
ToDo:
Script verfeinern!
Installation richtig schreiben
Details Infos etc.
Was geht aktuell:
Bislang bin ich so weit das wenn die richtige Karte an die Hardware gehalten wird ein Datenpunkt in ioBroker geändet wird.
-
Platzhalter
-
hi, hat sich bei deinem Projekt was getan? Habe den selben RFID Scanner und will diesen über ESP8266 mittels MQTT in iobroker einbinden.
-
Moin,
sorry habe aktuell wenig Zeit.
Ja das Python Script läuft. Das mit der Verzögerung habe ich immer noch nicht hin bekommen. (mehr dazu hier: http://forum.iobroker.net/viewtopic.php?f=24&t=6217 ich kann damit nix anfangen weiß nicht wo ich die verzögerung einbauen soll)
Das Script an sich ruft bei einem RFID Tag mit der richtigen Nummer einen Link auf der ein Objekt auf True setzt.
Hier müsste das nächste script was darauf reagiert den wert wieder auf false setzen.
Ansonsten bin ich noch nicht weiter gekommen.
Hatte das Script auch mit einem PI Zero W getestet und auch dort läuft es.
Mit einem ESP8266 wäre das wohl noch eine Ecke kompakter.
-
-
Moin. Das sollte auch gehen. Hab nur leider keinen ESP da
Gesendet von meinem SM-G930F mit Tapatalk
-
Guten Abend,
Aktuelle Hardware:
RFID Hardware - MFRC522
incl. Chip und Card
Raspberry PI 3
Female to Female Jumper Wire 7x
Installation (Experimentell! wird noch verifiziert - es fehlen auch noch einige Sachen!!!):
sudo apt-get install python-dev
Das Git Paket mit den benötigten Scripten fertig für ioBroker muss ich noch erstellen. Arbeite aber noch am Script.
ToDo:
Script verfeinern!
Installation richtig schreiben
Details Infos etc.
Was geht aktuell:
Bislang bin ich so weit das wenn die richtige Karte an die Hardware gehalten wird ein Datenpunkt in ioBroker geändet wird. `
Hast du MFRC522 als fertiges Modul oder selbstgemachtes?Falls fertiges, kannst du das Link hier posten?
-
Ist so ein Start kit von Amazon oder günstiger aus China unter 10€ mit ein paar chips https://www.amazon.de/Radiofrequenz-Ind … B00J2SS2U6
Hab mir mal einen ESP gekauft. [emoji3]
Gesendet von meinem SM-G930F mit Tapatalk
-
Ich habe einen Wemos D1 mini und das RFID Kitt Zuhause aber keine Ahnung wie ich es zum laufen bringe. Hab einige Stunden damit verbracht aber ohne Ergebnis. Mit dieser (https://github.com/letscontrolit/ESPEasy/releases) Software kann ich mit MQTT kommunizieren aber hier fehlt der MFRC522 in der Liste.
-
Ich schau es mir am Wochenende mal an. Ich habe den RFID Chip bislang mit dem pi3 Pi Zero w und einem arduino Uno am laufen gehabt. Werde dann auch mal mein Projekt updaten.
Gesendet von meinem SM-G930F mit Tapatalk
-
Ich baue gerade an meinem Fingerabdruckscanner und in dem Zuge wird (im ersten Schritt) wohl ein Skript zur Userverwaltung rausfallen.
Aktuelle Idee ist das er Für jeden User Datenpunkte anlegt wie "Last" wo die letzte Nutzung drinsteht und irgendwie auch Felder wo man (pro Tag?) konfigurieren kann wann der jenige rein darf. Wer hier ideen hat wie man das am besten und nutzbarsten macht der sage bescheid
"Cron-Style" pro Tag ist recht technisch, sollte aber gehen, oder mehrere "von-bis"-Punkte pro Tag oder true/false punkte pro Stunde und Tag?
Und vllt noch einen "anzahl Fehler bei Erkennung"-Modus der keine ahnung was macht
Einen "Anlernmodus" wo eine neue User-ID in einem bestimmten Datenpunkt erwartet wird und dann alles defaultmäßig anleget wird ist auch geplant. Je nachdem halt wie das Device funktioniert …
Am Ende wenn jemand rein darf kann man einen Datenpunkt angeben der auf "true" geschaltet wird zum Öffnen der Tür.
Könnte mir vorstellen das das am Ende mit verschiedenen "Zutrittssystemen" funktioneren kann.
Wenn dann alles steht kann man über nen Adapter nachdenken ...
-
So habe den ESP im Netz und mit dem Code ausgestattet.
Im Wlan ist er verfügbar.
Wie sehe ich ob das Teil arbeitet? :lol:
Ich habe den Seriellen Monitor im Arduino IDE aber da steht quasi nix.
Auch im MQTT kommt nix an.
Irgendwas falsch eingetragen?
Ich verstehe MQTT noch nicht. In ioBroker bekomme ich den Server nicht ans laufen der ist immer gelb. Oder ist das richtig?
`/* -UID Transmitter over MQTT- */ #include <esp8266wifi.h> #include <wificlient.h> #include <mqttclient.h> #include <spi.h> #include <mfrc522.h> #define SS_PIN D8 #define RST_PIN D3 const char* host = "rfid_reader"; const char* ssid = "xxx"; const char* password = "xxx"; const char* broker = "mqtt://xxx@broker.shiftr.io"; WiFiClient wifi; MQTTClient mqtt; MFRC522 rfid(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; void connect(); void setup(void){ SPI.begin(); rfid.PCD_Init(); Serial.begin(115200); Serial.println(); Serial.println("Connecting to Wifi..."); WiFi.mode(WIFI_AP_STA); WiFi.begin(ssid, password); mqtt.begin(broker, wifi); connect(); Serial.println("Wifi connected!"); } void loop(void){ if(!mqtt.connected()) { connect(); } mqtt.loop(); delay(10); handleRFID(); } void connect() { while(WiFi.waitForConnectResult() != WL_CONNECTED){ WiFi.begin(ssid, password); Serial.println("Wifi failed, retrying."); } Serial.print("IP address: "); Serial.println(WiFi.localIP()); while (!mqtt.connect(host)) { Serial.print("."); } Serial.println("\nMQTT connection ready!"); } void messageReceived(String topic, String payload, char * bytes, unsigned int length) { Serial.print("incoming: "); Serial.print(topic); Serial.print(" - "); Serial.print(payload); Serial.println(); } void handleRFID() { if (!rfid.PICC_IsNewCardPresent()) return; if (!rfid.PICC_ReadCardSerial()) return; mqtt.publish("/hardware/rfid_reader/uid", printHex(rfid.uid.uidByte, rfid.uid.size)); rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); } String printHex(byte *buffer, byte bufferSize) { String id = ""; for (byte i = 0; i < bufferSize; i++) { id += buffer[i] < 0x10 ? "0" : ""; id += String(buffer[i], HEX); } return id; }</mfrc522.h></spi.h></mqttclient.h></wificlient.h></esp8266wifi.h>`[/i][/i]
-
Ich habe einen Wemos D1 mini und das RFID Kitt Zuhause aber keine Ahnung wie ich es zum laufen bringe. Hab einige Stunden damit verbracht aber ohne Ergebnis. Mit dieser (https://github.com/letscontrolit/ESPEasy/releases) Software kann ich mit MQTT kommunizieren aber hier fehlt der MFRC522 in der Liste. `
Wo scheitert es denn bei dir genau?
Wofür ist ESPEasy genau?
Habe nun einen ESP8266NodeMCU 12E
Habe dort das Git Projekt eingefügt paar Lib's installiert und hochgeladen.
MQTT ist mir aktuell echt ein Rätsel :roll:
Hab da noch was gefunden:
-
ESPEasy ist für den Wemos D1 mini eine Benutzeroberfläche die man über den Webbrowser aufrufen kann. Hab mich nach diesen ( http://forum.iobroker.net/viewtopic.php?f=35&t=5460 ) guten Forenbeitrag gehalten und dann noch weiter herumgebastelt.
Mit MQTT Sensoren eingebunden:
und mit Blockly Display angesteuert zur Anzeige der Homematic Wetterstation:
nur der RFID-RC522 Reader ist nicht in der Weboberfläche vorhanden.
An dem RFID-MQTT Sketch scheitert es den MQTT Benutzernamen, das Passwort und den Port einzugeben. Auch nach eingeben der WLAN Daten wollte er sich nicht verbinden.
-
Hat wer den RFID RC522 bereits im Iobroker am laufen ohne MQTT? würde gerne einen direkt am Pi anschließen wollen und mit einem Javascript die gelesenen Werte abfangen.
Gruß
-
Moin, ich habe es folgender Maßen gelöst.
Mit Alarmanlagen Aktivierung starte Ich ein Phyton Script.
So bald eine Gültige ID gelesen wird, schaltet das Script einen Raspberry Ausgang und wird beendet.
Den Ausgang nutze Ich dann als Trigger.
P.S. Ich beschreibe meine RFID Chips, jedes mal wenn Sie als i.O. gelesen werden, mit einem neuen Code, welcher nur für diesen Chip gilt.
So reicht es nicht aus, irgend einen Chip vor das Lesegerät zu halten
Gesendet von iPhone mit Tapatalk
-
Ich hatte es bereits mal am laufen im JavaScript. Ging dann alles in iobroker.
Nur bekomm ich es gerade kein 2tes mal hin :oops: :oops:
Im neuen Jahr kann ich wieder testen was ich damals gemacht hatte.
-
hi, hat sich bei deinem Projekt was getan? Habe den selben RFID Scanner und will diesen über ESP8266 mittels MQTT in iobroker einbinden. `
@Ritter:Ich habe einen Wemos D1 mini und das RFID Kitt Zuhause aber keine Ahnung wie ich es zum laufen bringe. Hab einige Stunden damit verbracht aber ohne Ergebnis. Mit dieser (https://github.com/letscontrolit/ESPEasy/releases) Software kann ich mit MQTT kommunizieren aber hier fehlt der MFRC522 in der Liste. `
Servus
hat einer das schon mit dem ES8266 und dem RC522 auf Basis des ESPEasy oder ESPEasyMega mit ioBroker zu verbinden, umgesetzt?
hab noch 3 ESP-Wroom-02 hier liegen und an einem hängt jetzt ein RFID-RC522 (https://www.amazon.de/AZDelivery-Reader-Arduino-Raspberry-inklusive/dp/B01M28JAAZ/ref=sr_1_1?ie=UTF8&qid=1515739386&sr=8-1&keywords=rc522)
BREAKING NEWS…...
Hab gerade gesehen das der https://www.letscontrolit.com/wiki/index.php/PN532 bereits von ESPEasy unterstützt wird und der RC522 leider immer noch nicht.
Ich hab den PN532 bestellt, und werd dann berichten was klappt.
Gruß Peer
-
Von meiner Seite her nix neues. Hab zu viele Baustellen und zu wenig Zeit. Hab auch aktuell keinen Verwendungszweck wozu ich es brauche. Für die Tür von außen rate ich von ab das ist sehr unsicher. Es wird ja erstmal nur auf richtige id geschaut.
Gesendet von meinem SM-G930F mit Tapatalk
-
So kurz und knapp zum testen,
Am RPI3 mit aktuellen Image haben wir folgendes gemacht.
1. SPI Schnittstelle aktivieren auf dem Raspi (sudo raspi-config)
2. Im Javaadapter Zusätzliche NPM-Module hinzufügen (mfrc522-rpi)
3. Ein Script````
// zusätzliches NPM Modul: mfrc522-rpi"use strict";
const mfrc522 = require("./mfrc522-rpi/index.js");
mfrc522.initWiringPi(0);setInterval(function(){
//# reset card
mfrc522.reset();
//# Scan for cards let response = mfrc522.findCard(); if (response.status) { response = mfrc522.getUid(); //# If we have the UID, continue const Auid = response.data; var RFID = decimalToHex(Auid[0]) + decimalToHex(Auid[1]) + decimalToHex(Auid[2]) + decimalToHex(Auid[3]); console.log(RFID); } //# Stop
mfrc522.stopCrypto();
}, 500);
function decimalToHex(d, padding) {
var hex = Number(d).toString(16);
padding = typeof (padding) === "undefined" || padding === null ? padding = 2 : padding;while (hex.length < padding) { hex = "0" + hex; } return hex;
}
Ich wollte das nächste Woche noch mal auf einen neuen frischen Raspi testen, aber vielleicht kann schon einer was damit anfangen. Hardware wurde ein RC522 verwendet. Gruß