Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Fingerprint an einem ESP8266

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Fingerprint an einem ESP8266

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Hansi1234 last edited by

      Habe gesehen, dass jemand ein request dazu gestartet hat. Wäre hier ein Adapter aufwendig?
      Würde auch gerne sehen wie man ihn erstellt. Hätte nämlich noch andere Projekte, die es schon auf Github gibt 😉

      Hier der link
      link text

      1 Reply Last reply Reply Quote 0
      • D
        Dragon last edited by Dragon

        Hallo alle miteinander

        Habe mich hier durch den Fred gelesen und muss mittlerweile sagen viel Informatives, aber leider auch viel verwirrendes....

        Etwas weiter oben gab es einen Post in dem Stand hier noch einmal der ganze Sketch... leider ist ein Post vorher etwas geschrieben, was in diesem leider nicht eingebaut ist. Gibt es einen Sketch den ich so übertragen kann und der out of the Box funktioniert?

        Wie lerne ich Fingerabdrücke an und wie lösche ich sie wieder?

        Habe das Problem, dass Hardwarebasteleien und auch Blockly mir viel Spaß machen aber mit der programmiererei habe ich so meine Probleme.
        Bestellt sind ein Wemos D1 mini und AS608 Sensor... Hoffe es gibt da etwas Hilfe für mich Mausklicker....

        LG
        David

        1 Reply Last reply Reply Quote 0
        • H
          Hansi1234 last edited by

          Hier wurde ein Request zu d Thema gestartet

          D 1 Reply Last reply Reply Quote 0
          • D
            Dragon @Hansi1234 last edited by

            @Hansi1234 gleich mal ein Daumen hoch verteilt! Da müssen aber noch einige kommen... Sind erst zwei....

            1 Reply Last reply Reply Quote 1
            • F
              Frank_y @WS last edited by Frank_y

              @WS sagte in Fingerprint an einem ESP8266:

              @Ralla66 Vielen Dank für Deine Mühe!!

              Ich habe mir erlaubt, Deinen Sketch ein wenig zu überarbeiten. Er läuft jetzt bei mir mit allen mqtt-Versionen ohne Verbindungsabbrüche. (Habe ihn 'mal angehängt)
              Grüße
              Wolfgang


              /***************************************************
              Fingerprint am Wemos D1 mini per MQTT nach IO Broker
              /
              #include <Adafruit_Fingerprint.h>
              //#include <WiFiClient.h>
              #include <ESP8266WiFi.h> // Aus Wifi Mqtt
              #include <PubSubClient.h> // Aus Wifi Mqtt
              #include <SoftwareSerial.h>
              #include <NTPClient.h>
              /

              Pinbelegung Fingerprint Sensor ist GND,Rx,TX,Vcc
              Am Wemos Rx ist D6 also GPIO 12
              Am Wemos Tx ist D5 also GPIO 14
              *****************************************************/

              SoftwareSerial mySerial(14, 12, false, 128);

              Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

              // Eigene Daten eintragen

              const char* ssid = ""; // Netzwerknahme
              const char* password = ""; // PW Netzwerk
              const char* mqttServer = ""; // Broker PI
              const int mqttPort = 1883; // Broker PI Port
              const char* mqttUser = ""; // Broker PI Name
              const char* mqttPassword = ""; // Broker PI Password

              // Ab hier nix mehr machen

              char* mqttio = "12345"; // Broker PI Wert
              char* confidence = "67890"; // Broker PI Wert

              WiFiClient espClientfp;
              PubSubClient client(espClientfp);

              int cnt=300;

              void setup()
              {

              // set the data rate for the sensor serial port
              finger.begin(57600);

              if (finger.verifyPassword()) {
              Serial.println("Found fingerprint sensor!");
              } else {
              Serial.println("Did not find fingerprint sensor :(");
              while (1) { delay(1); }
              }

              finger.getTemplateCount();
              Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
              Serial.println("Waiting for valid finger...");

              Serial.begin(115200); // Baud Wemos nach IDE Serieller Monitor

              WiFi.begin(ssid, password);

              while (WiFi.status() != WL_CONNECTED) {
              delay(500);
              Serial.println("Connecting to WiFi..");
              }
              Serial.println("Connected to the WiFi network");
              Serial.print("=> ESP8266 IP Adresse: ");
              Serial.println(WiFi.localIP());

              client.setServer(mqttServer, mqttPort);
              client.setCallback(callback);

              }
              void reconnect(){

              while (!client.connected()) {
              Serial.println("Connecting to MQTT...");

              if (client.connect("ESP8266Clientfp", mqttUser, mqttPassword)) {

              Serial.println("connected");

              } else {

              Serial.print("failed with state ");
              Serial.print(client.state());
              delay(5000);
              }

              }
              client.subscribe("print/Confidence");
              client.subscribe("print/FingerprintNr1");
              client.publish("print/FingerprintNr1","Print verbunden");
              client.publish("print/Confidence","Genauigkeit verbunden");
              }

              void callback(char* topic, byte* payload, unsigned int length) {

              Serial.print("Message arrived in topic: ");
              Serial.println(topic);

              Serial.print("Message:");
              for (int i = 0; i < length; i++) {
              Serial.print((char)payload[i]);
              }

              Serial.println();
              Serial.println("-----------------------");

              }

              void loop() { // run over and over again

              if (!client.connected()) {
              reconnect();
              }

              if(cnt==0){
              Serial.println("Reset...");
              ESP.restart();
              }
              cnt--;
              delay(1000);
              Serial.println(cnt);

              client.loop();

              getFingerprintIDez();
              delay(50); //don't ned to run this at full speed.
              }

              uint8_t getFingerprintID() {
              uint8_t p = finger.getImage();
              switch (p) {
              case FINGERPRINT_OK:
              Serial.println("Image taken");
              break;
              case FINGERPRINT_NOFINGER:
              Serial.println("No finger detected");
              return p;
              case FINGERPRINT_PACKETRECIEVEERR:
              Serial.println("Communication error");
              return p;
              case FINGERPRINT_IMAGEFAIL:
              Serial.println("Imaging error");
              return p;
              default:
              Serial.println("Unknown error");
              return p;
              }

              // OK success!

              p = finger.image2Tz();
              switch (p) {
              case FINGERPRINT_OK:
              Serial.println("Image converted");
              break;
              case FINGERPRINT_IMAGEMESS:
              Serial.println("Image too messy");
              return p;
              case FINGERPRINT_PACKETRECIEVEERR:
              Serial.println("Communication error");
              return p;
              case FINGERPRINT_FEATUREFAIL:
              Serial.println("Could not find fingerprint features");
              return p;
              case FINGERPRINT_INVALIDIMAGE:
              Serial.println("Could not find fingerprint features");
              return p;
              default:
              Serial.println("Unknown error");
              return p;
              }

              // OK converted!
              p = finger.fingerFastSearch();
              if (p == FINGERPRINT_OK) {
              Serial.println("Found a print match!");
              } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
              Serial.println("Communication error");
              return p;
              } else if (p == FINGERPRINT_NOTFOUND) {
              Serial.println("Did not find a match");
              return p;
              } else {
              Serial.println("Unknown error");
              return p;
              }
              }

              int getFingerprintIDez() {
              uint8_t p = finger.getImage();
              if (p != FINGERPRINT_OK) return -1;

              p = finger.image2Tz();
              if (p != FINGERPRINT_OK) return -1;

              p = finger.fingerFastSearch();
              if (p != FINGERPRINT_OK) return -1;

              sprintf(mqttio,"%d",finger.fingerID);
              sprintf(confidence,"%d",finger.confidence);

              client.subscribe("print/Confidence");
              client.publish("print/Confidence", confidence);

              client.subscribe("print/FingerprintNr1");
              client.publish("print/FingerprintNr1", mqttio);

              Serial.print("Erkannter Fingerabdruck Nr. "); Serial.print(mqttio);
              Serial.print(" mit einer Genauigkeit von "); Serial.println(confidence);

              return finger.fingerID;

              client.loop();
              }

              @WS ich bekomme immer Fehler beim kompilieren.
              meine SoftwareSerial.h läßt nur 3 Argumente zu. Im Sketch werden aber vier Argumente angegeben.

              SoftwareSerial mySerial(14, 12, false, 128);
              

              (ich verwende Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\SoftwareSerial)
              benötige ich eine andere library?

              NACHTRAG: Hat sich erledig, einfach ohne das dritte Argument: SoftwareSerial mySerial(14, 12, false);

              1 Reply Last reply Reply Quote 0
              • Julian Raab
                Julian Raab @tööö last edited by Julian Raab

                @tööö Hallo, ich bin absoluter neuling habe mir den Fingerprint Sketch auch zugelegt was auch funktioniert .. jedoch mit dem MQTT auszügen komm ich nicht klar.
                Könntest du mir evtl. den Sketch komplett zur verfügung stellen damit ich den Fingerprint in IObroker intigrieren kann,

                Hab es nun hinbekommen, spielt ihr eure Finger immer mit dem Sketch auf oder gibt es die Möglichkeit auf eine grafischen Oberfläche ähnlich die von Home Assistant?

                Grüße Julian

                E 1 Reply Last reply Reply Quote 0
                • E
                  exitus @Julian Raab last edited by

                  @julian-raab das würde mich auch intressieren hat jemand es schon am laufen???

                  Julian Raab 1 Reply Last reply Reply Quote 0
                  • Julian Raab
                    Julian Raab @exitus last edited by

                    @exitus bei mir funktioniert es .. aber zum anlernen immer skech aufspielen

                    1 Reply Last reply Reply Quote 0
                    • L
                      locito09 @Ralla66 last edited by

                      @ralla66
                      bei mir kommt immer diese fehler meldung beim versuch den Scetch hochzuladen auf einen Wemos D1 Mini

                      'SoftwareSerial' does not name a type; did you mean 'HardwareSerial'?
                      ketch_feb14a:191:10: error: 'FINGERPRINT_OK' was not declared in this scope
                      if (p != FINGERPRINT_OK) return -1;
                      ^~~~~~~~~~~~~~
                      sketch_feb14a:194:10: error: 'FINGERPRINT_OK' was not declared in this scope
                      if (p != FINGERPRINT_OK) return -1;
                      ^~~~~~~~~~~~~~
                      sketch_feb14a:197:10: error: 'FINGERPRINT_OK' was not declared in this scope
                      if (p != FINGERPRINT_OK) return -1;
                      ^~~~~~~~~~~~~~
                      sketch_feb14a:202:1: error: 'client' was not declared in this scope
                      client.subscribe("print/Confidence");
                      ^~~~~~
                      C:\Users\migue\Documents\Arduino\sketch_feb14a\sketch_feb14a.ino:202:1: note: suggested alternative: 'cnt'
                      client.subscribe("print/Confidence");
                      ^~~~~~

                      Ralla66 1 Reply Last reply Reply Quote 0
                      • Ralla66
                        Ralla66 Most Active @locito09 last edited by Ralla66

                        @locito09

                        Läuft bei mir durch mit dem Sketch vom 24 Aug 2019 ohne die 128.
                        Unter Bibliothek ist die ESP Softwareserial eingebunden ?

                        fp.jpg

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          locito09 @Ralla66 last edited by

                          @ralla66 sagte in Fingerprint an einem ESP8266:

                          ESP Softwareserial

                          Neuen Tag neues Glück, hat heute geklappt

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          553
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          19
                          126
                          16693
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo