Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. (Frage) Objekterkennung ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    (Frage) Objekterkennung ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Humidor last edited by

      @humidor sagte in (Frage) Objekterkennung ?:

      lat/lan/timestamp braucht es

      @homoran sagte in (Frage) Objekterkennung ?:

      Timestamp wovon?

      Humidor 1 Reply Last reply Reply Quote 0
      • Humidor
        Humidor @Homoran last edited by

        @homoran https://github.com/iobroker-community-adapters/ioBroker.places

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Humidor last edited by

          @humidor sagte in (Frage) Objekterkennung ?:

          @homoran https://github.com/iobroker-community-adapters/ioBroker.places

          kannst du mir das nicht beantworten?
          muss ich mich jetzt auch noch da einarbeiten?

          Humidor 1 Reply Last reply Reply Quote 0
          • Humidor
            Humidor @Homoran last edited by Humidor

            @homoran so schnell bin ich nicht...

            das sagt die Wiki:
            // send a message to all instances of places adapter
            sendTo('locations', {
            user: "Name of person",
            latitude: 50.9576191,
            longitude: 6.8272409,
            timestamp: 1520932471
            });

            weiters habe ich einen Thread zu places eröffnet,mit der Frage ob der nicht mehr supported wird.
            wenn nicht,macht es Sinn in die Richtung weiter zu gehen?

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Humidor last edited by

              @humidor Da stteht immer noch nicht wovon der timestamp sein soll.
              Der dort genannte timestamp ist der 13.03.2018 - 10:14:31
              das ist nicht hilfreich.

              Ich kann dir dann auch nicht helfen, wie du in Blockly an den timestamp kommst

              Humidor 1 Reply Last reply Reply Quote 0
              • Humidor
                Humidor @Homoran last edited by

                @homoran keine Ahnung, weiß ich nicht, wenn ein Timestamp gefragt wird, wird es wohl der sein, der zu den zu dem Zeitpunkt aktuellen lan/lat Werten gehört.

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Humidor last edited by Homoran

                  @humidor sagte in (Frage) Objekterkennung ?:

                  der zu den zu dem Zeitpunkt aktuellen lan/lat Werten gehört.

                  den bekommst du über den Trigger (zusatz-) Baustein mit dem Pulldownmenü
                  Bedingung ist dann, dass eine der Koordinaten (bei Aktualisierung) triggert

                  triggerzusatz_Timestamp.png

                  @humidor sagte in (Frage) Objekterkennung ?:

                  keine Ahnung, weiß ich nicht,

                  da kann ich dir nicht helfen, da musst du dich selber schlau machen

                  Humidor 2 Replies Last reply Reply Quote 1
                  • Humidor
                    Humidor @Homoran last edited by Humidor

                    @homoran danke für den Tipp, hab mal den timestamp vom Trigger genommen

                    bekomme "incomplete message" vom Adapter im Log


                    <xml xmlns="https://developers.google.com/blockly/xml">
                    <block type="on_ext" id="!A|g+ypxl@,GoqOp[yiJ" x="-162" y="-88">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                    <field name="CONDITION">ne</field>
                    <field name="ACK_CONDITION"></field>
                    <value name="OID0">
                    <shadow type="field_oid" id="P/F{xGdyTs2;xX5(W;Zw">
                    <field name="oid">zoe2.0.VF1AG000966808321.gpsLatitude</field>
                    </shadow>
                    </value>
                    <value name="OID1">
                    <shadow type="field_oid" id="#S);or-S/c.!%I9Sy}]"> <field name="oid">zoe2.0.VF1AG000966808321.gpsLongitude</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id=",!Ey/5?fld:%U$:M.$T">
                    <field name="oid">0_userdata.0.Zoe.ProzentLadung</field>
                    </shadow>
                    </value>
                    <statement name="STATEMENT">
                    <block type="sendto_custom" id="pP6kl%,-I0SDUH{cRb9O">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="parameter1" with_statement="false"></mutation>
                    <field name="INSTANCE">places.0</field>
                    <field name="COMMAND">send</field>
                    <field name="LOG">log</field>
                    <field name="WITH_STATEMENT">FALSE</field>
                    <value name="ARG0">
                    <shadow type="text" id="5pa_tW{|5v|R-YT/Pi{H">
                    <field name="TEXT"></field>
                    </shadow>
                    <block type="text_join" id=")jy2iKnKfv,n_IDdX]8" inline="false"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="^4L4R]BowXRhp$VNDW"> <field name="TEXT">user:"Zoe",latitude:</field> </block> </value> <value name="ADD1"> <block type="text_join" id="Zm*xe!QsSrb0JI.1lTS9"> <mutation items="2"></mutation> <value name="ADD0"> <block type="get_value" id="a1x$RDP5(O{f[H1wdrl="> <field name="ATTR">val</field> <field name="OID">zoe2.0.VF1AG000966808321.gpsLatitude</field> </block> </value> <value name="ADD1"> <block type="text_join" id="@7;Hc2kDXZg#?izfnu|["> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="ey6[+Pxgzk%IYSOHRPs">
                    <field name="TEXT">,longitude:</field>
                    </block>
                    </value>
                    <value name="ADD1">
                    <block type="text_join" id="FfziHo*[da$Gy[8KN3sv">
                    <mutation items="2"></mutation>
                    <value name="ADD0">
                    <block type="get_value" id=",(mt:80PiZ{.4M57O%hg">
                    <field name="ATTR">val</field>
                    <field name="OID">zoe2.0.VF1AG000966808321.gpsLongitude</field>
                    </block>
                    </value>
                    <value name="ADD1">
                    <block type="text_join" id="7ap#:yH;p5sNjO).(aa"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="kMhln~aKp#spYxO+W+}H"> <field name="TEXT">,timestamp:</field> </block> </value> <value name="ADD1"> <block type="on_source" id="[5h-[m=%J4w?dhc?|p_">
                    <field name="ATTR">state.ts</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    </block>
                    </value>
                    </block>
                    </value>
                    </block>
                    </value>
                    </block>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </xml>

                    fehlt mir da noch etwas "locations.0" ?

                    1 Reply Last reply Reply Quote 0
                    • Humidor
                      Humidor @Homoran last edited by

                      @homoran alles was ich so rumprobiere läuft in einen "incomplete message"

                      Unbenannt.png

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Humidor last edited by

                        @humidor sagte in (Frage) Objekterkennung ?:

                        alles was ich so rumprobiere läuft in einen "incomplete message"

                        ich kenne places nicht, und kann dir da nicht weiter helfen

                        1 Reply Last reply Reply Quote 0
                        • BananaJoe
                          BananaJoe Most Active last edited by

                          Mhh jetzt bin ich auch wieder hier gelandet. Ich nutze den vw-connect Adapter um zu erkennen ob der Wagen vor der Tür steht, das funktioniert auch soweit alles.

                          Ist mir aber zu langsam - Es hat immer einige Minuten (1 bis 10) Verzug bis die Anwesenheit registriert werden kann.

                          Hat nicht doch jemand eine bessere Lösung?
                          Hab schon überlegt einen ESP8266 in den Kofferraum zu stecken, dann könnte ich über die FritzBox / den TR-064 Adapter erkennen wenn der sich einbucht ... Irgendwas mit diesen SmartTags oder so wäre auch cool.

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            stimezo Forum Testing @BananaJoe last edited by

                            @bananajoe
                            Ich habe einen Attiny mit 433 MHz Modul im Kofferraum, hausseitig einen ESP.
                            Funktioniert super.

                            Gruß
                            Christian

                            Humidor BananaJoe 2 Replies Last reply Reply Quote 0
                            • Humidor
                              Humidor @stimezo last edited by

                              @stimezo hi, was genau ist das?

                              1 Reply Last reply Reply Quote 0
                              • BananaJoe
                                BananaJoe Most Active @stimezo last edited by

                                @stimezo sagte in (Frage) Objekterkennung ?:

                                Attiny

                                Attiny85 auf USB-Platine habe ich hier auch noch rumliegen (nur nie benutzt weil statt Eigenbau-Türsensoren ich dann doch MQTT für mich entdeckt habe) ...

                                Mehr Details bitte!

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @BananaJoe last edited by Homoran

                                  @bananajoe
                                  [OT]
                                  ooops
                                  https://www.heise.de/select/ix/2017/7/1499358388386903
                                  [/OT]

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Homoran last edited by

                                    @homoran sagte in (Frage) Objekterkennung ?:

                                    @bananajoe
                                    [OT]
                                    ooops
                                    https://www.heise.de/select/ix/2017/7/1499358388386903
                                    [/OT]

                                    dazu muss aber jemand fremdes mit hacker absicht bei ihm das vorprogrammierte teil einstecken

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @OliverIO last edited by

                                      @oliverio sagte in (Frage) Objekterkennung ?:

                                      dazu muss aber jemand fremdes mit hacker absicht bei ihm das vorprogrammierte teil einstecken

                                      klar!
                                      Aber bei der "Größe" wäre das tatsächlich innerhalb kürzester Zeit passiert.

                                      Ging mir nur um die "unbegrenzten" Möglichkeiten der Microcontroller

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Homoran last edited by

                                        @homoran sagte in (Frage) Objekterkennung ?:

                                        @oliverio sagte in (Frage) Objekterkennung ?:

                                        dazu muss aber jemand fremdes mit hacker absicht bei ihm das vorprogrammierte teil einstecken

                                        klar!
                                        Aber bei der "Größe" wäre das tatsächlich innerhalb kürzester Zeit passiert.

                                        Ging mir nur um die "unbegrenzten" Möglichkeiten der Microcontroller

                                        wenn sich so ein Teil als HID (Human Interface Device) anmeldet und vom Betriebssystem akzeptiert wird, dann kann es alles was es mit Tastatur/Maus/etc. auch kann. Inklusive aufzeichnen und steuern. Daraus kann man dann auch einen USB-Keylogger basteln

                                        Evtl. kann sich noch jemand daran erinnern.
                                        https://taz.de/Keylogger-Affaere-in-der-taz/!5497875/

                                        Normale USB-Devices sind auch schon nicht ohne. oder wer denkt daran, das da mehr oder weniger ein extrem kompaktes und hoch spezialisiertes Mini-Betriebssystem auf einem USB-Speicherstick läuft, das man ebenso manipulieren kann.
                                        https://www.heise.de/security/meldung/BadUSB-Wenn-USB-Geraete-boese-werden-2281098.html

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          pix @OliverIO last edited by

                                          Ich habe vor ein paar Jahren mal mit einem Test-Konto von openALPR (Kennzeichenerkennung) rumprobiert. Das hat auch geklappt, allerdings war die Hardware zu schwach (Pi) und da wo das Auto war, war kein Strom.

                                          Konkret für die Garage macht das allerdings Sinn. Denn das Programm erkannte nicht nur das Kennzeichen, sondern auch den Autotyp, dessen Farbe und macht Angaben zur Genauigkeit der Erkennung.

                                          Hab gerade nach meinem Beitrag gesucht, ist aber schon zu alt. Dafür kam dieser Beitrag ans Licht.

                                          punkt punkt punkt

                                          Jetzt habe ich auf dem Rechner doch noch ein altes Skript gefunden:

                                          /* -- do not edit following lines - START --
                                          {
                                            "enabled": false,
                                            "engine": "system.adapter.javascript.2",
                                            "debug": false,
                                            "verbose": false,
                                            "mtime": 1543360855
                                          }
                                          -- do not edit previous lines - END --*/
                                          /* Test_openALPR
                                          
                                          
                                          https://github.com/openalpr/cloudapi/blob/8141c1ba57f03df4f53430c6e5e389b39714d0e0/javascript/docs/DefaultApi.md#recognizeurl
                                          
                                          openalpr_api muss in den Javascript-Adapter-Einstellungen geladen werden
                                          https://cloud.openalpr.com/ Konto nötig (Free Version reicht), unter CloudAPI den Secret Key finden
                                          
                                          27.11.2018 erstellt von pix auf Basis der openalp Anleitung (alte Versionen des Skrirptes werden ungüpltig)
                                          
                                          
                                          todo: 
                                          Trigger
                                          Eingabe des Bildes (node-red? email? telegram? webcam?)
                                          
                                          */
                                          
                                          
                                          // Datenpunkt erstellen
                                          const fC = false; // forceCreation
                                          const logging = true;
                                          
                                          
                                          const idAusgabeJSON = "javascript." + instance + ".OpenALPR.Ausgabe.json";
                                          const idTrigger = "javascript." + instance + ".OpenALPR.Trigger";
                                          
                                          createState(idTrigger, true, fC, {
                                              name: "OpenALPR Auslöser",
                                              desc: "Startet Bildanalyse",
                                              type: "boolean",
                                              role: "button"
                                          });
                                          createState(idAusgabeJSON, "", fC, {
                                              name: "OpenALPR Ausgabe Daten",
                                              desc: "Rückgabe API",
                                              type: "string",
                                              role: "json"
                                          });
                                          
                                          // Erkennung
                                          var OpenalprApi = require('openalpr_api');
                                          var api = new OpenalprApi.DefaultApi()
                                          
                                          // Parameter
                                          var secretKey = "sk_0b92blablablanimmdeneigenen"; // {String} The secret key used to authenticate your account.  You can view your  secret key by visiting  https://cloud.openalpr.com/ 
                                          
                                          // Bildeingabe in verschiedenen Varianten
                                          // Beispiel Bild: https://img.memecdn.com/german-license-plate_o_2604835.jpg
                                          // https://www.base64encode.org
                                          // Base64Encoded:    aHR0cHM6Ly9pbWcubWVtZWNkbi5jb20vZ2VybWFuLWxpY2Vuc2UtcGxhdGVfb18yNjA0ODM1LmpwZw==
                                          var imageURL = "https://img.memecdn.com/german-license-plate_o_2604835.jpg";
                                          imageURL = "https://bugfans.de/forum/resources/image/57232";
                                          imageURL = "http://www.kennzeichen-blog.de/wp-content/uploads/2014/08/ford-tourneo-connect-2014-jens-stratmann.jpg";
                                          imageURL = "http://www.kennzeichen-blog.de/wp-content/uploads/2012/05/berlin-kennzeichen-nummernschilder-schlussmacher-film-schweighöfer.jpg";
                                          imageURL = "http://www.kennzeichen-blog.de/wp-content/uploads/2012/05/range-rover-evoque-ne-kennzeichen.jpg";
                                          var imageURL64 = "aHR0cHM6Ly9pbWcubWVtZWNkbi5jb20vZ2VybWFuLWxpY2Vuc2UtcGxhdGVfb18yNjA0ODM1LmpwZw=="; // {String} The image file that you wish to analyze encoded in base64 
                                          var imageLocal = "/Users/pix/Documents/iobroker/iobroker-data/nummernschild.jpg";
                                          var imageLocal64 = "L1VzZXJzL3BpeC9Eb2N1bWVudHMvaW9icm9rZXIvaW9icm9rZXItZGF0YS9udW1tZXJuc2NoaWxkLmpwZw=="; // Base64
                                          
                                          var country = "eu"; // {String} Defines the training data used by OpenALPR.  \"us\" analyzes  North-American style plates.  \"eu\" analyzes European-style plates.  This field is required if using the \"plate\" task  You may use multiple datasets by using commas between the country  codes.  For example, 'au,auwide' would analyze using both the  Australian plate styles.  A full list of supported country codes  can be found here https://github.com/openalpr/openalpr/tree/master/runtime_data/config 
                                          
                                          var opts = { 
                                            'recognizeVehicle': 1, // {Integer} If set to 1, the vehicle will also be recognized in the image This requires an additional credit per request 
                                            'state': "", // {String} Corresponds to a US state or EU country code used by OpenALPR pattern  recognition.  For example, using \"md\" matches US plates against the  Maryland plate patterns.  Using \"fr\" matches European plates against  the French plate patterns. 
                                            'returnImage': 0, // {Integer} If set to 1, the image you uploaded will be encoded in base64 and  sent back along with the response 
                                            'topn': 10, // {Integer} The number of results you would like to be returned for plate  candidates and vehicle classifications 
                                            'prewarp': "" // {String} Prewarp configuration is used to calibrate the analyses for the  angle of a particular camera.  More information is available here http://doc.openalpr.com/accuracy_improvements.html#calibration 
                                          };
                                          
                                          // Erkennung
                                          var callback = function(error, data, response) {
                                            if (error) {
                                              console.error("OpenALPR Fehler: " + error);
                                            } else {
                                              //if (logging) log('API called successfully. Returned data: ' + JSON.stringify(data, null, 2));
                                              setState(idAusgabeJSON, JSON.stringify(data, null, 2), true);
                                          
                                              // weitere Ausgaben
                                              if (logging) {
                                                  log("------------- OpenALPR Konto ------------- ");
                                                  log("Kosten für diese Abfrage: " + data.credit_cost + " Credits");
                                                  log("Kontingent für diesen Monat: " + data.credits_monthly_total + " Credits");
                                                  log("Bereits verbraucht: " + data.credits_monthly_used + " Credits");
                                                  log("Restliche Credits: " + (data.credits_monthly_total - data.credits_monthly_used)  + " Credits");
                                                  log("------------- Bildinformationen ------------- ");
                                                  log("Bildquelle: " + imageURL)
                                                  log("Bildbreite: " + data.img_width + "px");
                                                  log("Bildhöhe: " + data.img_height + "px");
                                                  log("------------- Ergebisse ------------- ");
                                                  log("Kennzeichen: " + data.results[0].plate);
                                                  log("Kennzeichen-Genauigkeit: " + data.results[0].confidence + "%");
                                                  log("Region: " + data.results[0].region);
                                                  log("Region-Genauigkeit: " + data.results[0].region_confidence + "%");
                                                  log("Kfz-Farbe: " + data.results[0].vehicle.color[0].name);
                                                  log("Kfz-Farbe-Genauigkeit: " + data.results[0].vehicle.color[0].confidence + "%");
                                                  log("Kfz-Hersteller: " + data.results[0].vehicle.make[0].name);
                                                  log("Kfz-Hersteller-Genauigkeit: " + data.results[0].vehicle.make[0].confidence + "%");
                                                  log("Kfz-Modell: " + data.results[0].vehicle.make_model[0].name);
                                                  log("Kfz-Modell-Genauigkeit: " + data.results[0].vehicle.make_model[0].confidence + "%");
                                                  log("Kfz-Typ: " + data.results[0].vehicle.body_type[0].name);
                                                  log("Kfz-Typ-Genauigkeit: " + data.results[0].vehicle.body_type[0].confidence + "%");
                                                  // weitere Möglichkeiten "candidates" tbd
                                                  log("Kfz-Position x: " + data.results[0].vehicle_region.x);
                                                  log("Kfz-Position y: " + data.results[0].vehicle_region.y);
                                                  log("Kfz-Position Breite: " + data.results[0].vehicle_region.width + "px");
                                                  log("Kfz-Position Höhe: " + data.results[0].vehicle_region.height) + "px" ;
                                                  log("------------- Sonstiges ------------- ");
                                                  log("EPOCH: " + data.epoch_time); // umwandeln
                                                  log("OpenALPR Version: " + data.version);
                                              }
                                              // bei mehreren Einträgen alle durchgehen und wenn Genauigkeit unter X Prozent nicht weiterverarbeiten. X sollte dann oben für jede Kategorie einstellbar sein.
                                          
                                            }
                                          };
                                          
                                          on({
                                              id: idTrigger,
                                              val: true
                                           }, function (obj) {
                                              log("Bildanalyse durch Trigger ausgelöst");
                                              api.recognizeUrl(imageURL, secretKey, country, opts, callback);
                                           });
                                          
                                          
                                          function scriptStart() {
                                              api.recognizeUrl(imageURL, secretKey, country, opts, callback);
                                              log("Bildanalyse durch Skriptstart ausgelöst");
                                          }
                                           setTimeout(scriptStart, 1000);
                                          

                                          Vielleicht mag jemand das ausbauen.

                                          In Kombination zB mit GPS-Daten oder einem Bluetooth Dongle oder einfach einem RFID-Sender am Autoschlüssel (am Schlüsselbrett) kann man daraus sicher eine zuverlässige Erkennung bauen.

                                          Pix

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          890
                                          Online

                                          31.9k
                                          Users

                                          80.2k
                                          Topics

                                          1.3m
                                          Posts

                                          11
                                          50
                                          1783
                                          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