FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: meikelS am 21 März 2018, 19:04:06

Titel: ESP-01 mit RFID Leser RC522
Beitrag von: meikelS am 21 März 2018, 19:04:06
Bin seit ein paar Tagen vom FHEM-Fieber gepackt. Und arbeite mich grade ein.

Auf dem RasperryPi konnte ich einen RC522 RFID Leser zum laufen bekommen. Nun dachte ich, den an ein ESP anzuschließen und übers WLAN auszulesen. Also habe ich mir ein paar ESP-01 geholt.

Stelle nun fest, dass die Pins, die mir der bietet wohl nicht ausreichen. Folgendes gibt es

Soweit ich das verstanden habe, arbeitet der RC522 mit SPI. Dafür gibts hier wohl aber nichts, oder?
Gibt es da eine Lösung?
Wenn nicht, welche Alternative ESP kann man empfehlen?

Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: Papaloewe am 21 März 2018, 19:48:21
WEMOS D1 mini
https://wiki.wemos.cc/products:d1:d1_mini (https://wiki.wemos.cc/products:d1:d1_mini)
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: meikelS am 22 März 2018, 12:36:36
Danke. Gleich mal zum Testen bestellt.
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: rr725 am 28 April 2018, 16:38:42
Hab Grad auch mit wemos getestet. Funktioniert 1a.
Allerdings mit einem RFID Leser von elektrodragon der hat eine grössere Reichweite.
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: Loetkolben am 22 Juli 2018, 17:57:17
Hallo rr725,

womit hast Du den Wemos geflashed?
Hast Du evtl. einen Link zum Sketch?

Momentan versuche ich das hiermit --> https://github.com/Fl0ca/MQTT-RFID_MRC522 (https://github.com/Fl0ca/MQTT-RFID_MRC522) aber da komme ich nicht weiter.

Internals:
   CFGFN     
   IODev      myBroker
   NAME       rfid_reader
   NR         50829
   STATE      subscription acknowledged
   TYPE       MQTT_DEVICE
   .attraggr:
   .attrminint:
   .qos:
     *          0
   .retain:
     *          0
   READINGS:
     2018-07-22 17:38:20   transmission-state subscription acknowledged
   message_ids:
   sets:
   subscribe:
     /hardware/rfid_reader/uid
   subscribeExpr:
     ^\/hardware\/rfid_reader\/uid$
   subscribeQos:
     /hardware/rfid_reader/uid 0
   subscribeReadings:
     /hardware/rfid_reader/uid:
       cmd       
       name       uid
Attributes:
   IODev      myBroker
   group      RFID
   room       Labor
   stateFormat transmission-state
   subscribeReading_uid /hardware/rfid_reader/uid


Muß ich da noch irgendwas machen?

VG
   Andreas
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: rr725 am 22 Juli 2018, 19:58:44
Hallo Andreas,
Ich hab des Teil nicht in fhem eingebunden, sondern habe ein Sketch aufgespielt und die rfid Tags im Sketch angelegt, diese abgefragt und bei treffer wird ein http request an fhem geschickt wo dort daraufhin eine Aktion ausgeführt wird.
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: Loetkolben am 22 Juli 2018, 21:01:12
Hi,

erstmal danke für die Info.
Dann müsste man, falls sich mal was an RFID-Tags ändert, den Wemos neu flashen.
Aber so oft sollte das ja auch nicht vorkommen.

Ich schaue mal weiter.

Gruß
   Andreas
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: rr725 am 23 Juli 2018, 09:41:43
naja....läuft bei mir nun seit geraumer zeit ohne das man was ändern muss- was soll sich ändern, wenn´s einmal eingerichtet ist.

und wenn.....innerh. 10min ist ein tag hinzugefügt/entfernt, dass teil neu geflasht
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: Loetkolben am 23 Juli 2018, 14:28:43
Hi,

könntest Du mir den Sketch zur Verfügung stellen?

   Andreas
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: rr725 am 23 Juli 2018, 19:22:11
Zitat von: Loetkolben am 23 Juli 2018, 14:28:43
Hi,

könntest Du mir den Sketch zur Verfügung stellen?

   Andreas


#include <ESP8266WiFi.h>

const char* ssid = "XXXXXX";
const char* password = "XXXXXX";



const char* ifttt = "maker.ifttt.com";
int incomingByte = 0;   
String a;
String Tag;
String Name;


void setup()
{
 
  Serial.begin(9600);
  Serial.println("ESP8266 in normal mode");
 
 
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
 
 
  Serial.println(WiFi.localIP());

   
}

void loop() {
  while(Serial.available()) {

       
        if (Serial.available() > 0) {
               
                incomingByte = Serial.read();
                a=a+incomingByte;
                Serial.print("I received: ");
                Tag=a;Serial.println(Tag);               
                if (Tag=="542301742420") {(Name ="Klaus");}
                if (Tag=="234250702420") {(Name ="Petra");}
Serial.print(Name);               
}   
                       
}
a="";incomingByte = 0;

if (Name=="Klaus") {

  Serial.print("Connecting to ");
  Serial.println(ifttt);
 
 
 
  WiFiClient client;
  const int httpPort = 80;
    if (!client.connect(ifttt, httpPort)) {
    Serial.println("connection failed");
    return;
  }                 
  client.print(String("GET /trigger/Klaus/with/key/xxxxxxxxxxxxxxxxxxxxx") + " HTTP/1.1\r\n" + "Host: " + ifttt + "\r\n" "Connection: close\r\n\r\n");


 
  while(client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
 
  Serial.println();
  Serial.println("closing connection"); 
}


if (Name=="Petra") {


  Serial.print("Connecting to ");
  Serial.println(ifttt);
 
 
 
  WiFiClient client;
  const int httpPort = 80;
    if (!client.connect(ifttt, httpPort)) {
    Serial.println("connection failed");
    return;
  }                 
  client.print(String("GET /trigger/Petra/with/key/xxxxxxxxxxxxxxxxxxxxx") + " HTTP/1.1\r\n" + "Host: " + ifttt + "\r\n" "Connection: close\r\n\r\n");


  while(client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
 
  Serial.println();
  Serial.println("closing connection"); 
}

Name="";}


hab dieses nicht mit einem esp-01 aufgebaut sonden mit einem wemos d1 und einem long distance rfid reader
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: Loetkolben am 23 Juli 2018, 23:07:47
Hi,

danke für den Sketch.
Für mich zum Verständnis:
Sobald einer von Deinen beiden Tags erkannt wird (da stehen noch Nummern im Sketch die individuelle aussehen, ist das so richtig), wird das nach ifttt.com geschickt und dort ein webhook ausgelöst? Un der wird dann von FHEM verarbeitet?

Gruß
  Andreas
Titel: Antw:ESP-01 mit RFID Leser RC522
Beitrag von: rr725 am 24 Juli 2018, 13:12:41
Genauso ist es . Die Nummern sollten durch deine rfid Tags ersetzt werden. Hast du richtig erkannt. Ab nach ifttt und mittels webhook einen https request an fhem . Einerseits mittels webhook, weil es einfach änderbar ist, ohne das Teil neu flashen zu müssen.

Wenn ifttt nicht erwünscht, kann man ja Innerh. des eigenen netzes einen https request an fhem schicken.