Gesichtserkennung mit ESP32-WLAN-Kameraboards ab 15 Euro

Begonnen von JoWiemann, 09 Januar 2019, 18:54:53

Vorheriges Thema - Nächstes Thema

Papa Romeo

Hallo gloob,

ich handhabe es halt so und erwarte eigentlich auch, dass dies so akzeptiert wird. Und anscheinend wird es ja auch so akzeptiert.
(naja .... Ausnahmen bestätigen die Regel !!)

... ich wähle niemand aus...jeder wählt sich selber aus
... bisher hat jeder das Passwort bekommen der es wollte und ich denke sogar ziemlich zeitnah
... und ich werde es auch keinem verwehren
... bisher habe ich auch keinem meine Hilfe verwehrt, werde ich auch nicht tun, denn was ist Wissen, wenn man es nicht weitergeben und teilen kann.

... aber ich bin neugierig...

... d.h. es interessiert mich, wer im Moment mit meinem Sketch am selben Projekt schustert

... und sollte sich jemand zu fein oder zu eitel sein, dies Preis zugeben und nach dem Passwort zu fragen....seine Entscheidung !!!


und bezüglich "freundlicher Ignoranz":

... was würde es für eine Sinn machen, eine Datei mit ein Passwort zu packen um dann das Passwort zu veröffentlichen ????
....ich würde dann doch eher so verfahren, die Datei ohne Passwort oder am Besten sogar ungepackt einstellen.
... diese Frage hätte ich dann doch eher erwartet.

...aber damit du dich nicht ausgeschlossen fühlst, hast du eine PM mit dem Passwort.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

#61
... du bist einfach der Beste !!

... und eigentlich ein Vertrauensbruch ohne Ende !!!!

... denn ich denke nicht, dass ich dir erlaubt habe meinen Sketch weiter zu verbreiten !

... einen zur Verfügung gestellten Sketch nutzen oder ihn weitergeben, sind doch Zweierlei.

Sollten die Dateien nicht innerhalb der nächsten Stunde gelöscht sein, hast du mit rechtlichen
Konsequenzen zu rechnen.

Moderarator ist ebenfalls informiert.

Sorry


...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

#62
Info an die Community !

..wenn das Forum solche User beherbergt, die Belange anderer Forumsmitglieder nicht akzeptieren können, werde ich mir in Zukunft genauestens überlegen, ob ich weiterhin Projekte in diesen Forum einstelle, bzw. dann doch eine sorgfältigere Auswahl treffen müssen, wem ich Passwörter oder Dateien weiter gebe.

Schade, aber es gibt immer welche, die es "versauen" Dinge einfach zu halten. Trotz "Passwörter".

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

...na dann fass dich mal an der Nasse......hab´s ich frei veröffentlicht oder Du ?
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Spezialtrick

Zurück zum Thema:

@Papa Romeo:

Könntest du mir das Passwort auch übersenden? Vielen Dank! [emoji846]


Gesendet von iPhone mit Tapatalk Pro
FHEM - Debmatic - Zigbee2MQTT - Homekit

Papa Romeo

#65
Hallo Spezialtrick,

schau in dein Postfach.

Aber bitte nicht die Urheberrechte verletzen !   ;) :o ::) :P

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

Zitat von: gloob am 15 September 2019, 11:09:50
Meiner Meinung nach sollten die Moderatoren des Forums hier eingreifen und die Urheberrechtsverletzung unterbinden.

...welche ? ..... meine oder deine ?
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Spezialtrick

Zitat von: Papa Romeo am 15 September 2019, 11:47:03
Hallo Spezialtrick,

schau in dein Postfach.

Aber bitte nicht die Urheberrechte verletzen !   ;) :o ::) :P

LG

Papa Romeo

Danke dir!  :)

Dann hätte ich gestern einfach die Dateien ohne Passwort laden können.  ;D
FHEM - Debmatic - Zigbee2MQTT - Homekit

Papa Romeo

#68
Zitat von: gloob am 15 September 2019, 14:49:51
Habe ich aus bestehender Software den Verweis auf die Lizenz entfernt und den Sketch verändert hier eingestellt?
Nur weil du die geänderte Software mit einem Passwort sicherst, hast du trotzdem die Rechte des Urhebers verletzt.

..sagte der eine Hase zum anderen. "Du hast aber lange Ohren....!!!"

... bist aber schon ein kleines "Schlaule" gelle ....warum warst du dann nicht schlauer und hast ihn trotzdem eingestellt und verbreitet ?????????

...ist aber klar.....man sucht hinterher etwas um seine "Scheiße" un riechbar zu machen....

...und ich denke bevor du jetzt weiter solche "Brüller" bringst, sollten wir das Ganze jetzt dabei lassen wie es ist. Ich lass es mit Passwort eingestellt, Du hast deine Zeit verbracht um das neue Passwort zu errätseln (Gratulation), kannst es natürlich auch nutzen und den Sketch " für deinen Eigengebrauch " herunterladen und nutzen, bzw. vergleichst ihn mit dem Original-Sketch (siehe dazu Post #10, wo ich auch darauf hingewiesen habe worauf mein Sketch beruht und was ich geändert habe und das sogar auf deine Frage hin), löscht meine Zeilen heraus und kannst ihn dann ungehindert verbreiten wie du willst und das sogar mit oder ohne Lizenzverweis usw. . Kannst du dann halten wie der Mann auf dem Dach !!!!

Ach ja...fast vergessen...sei doch bitte so gut und zeig mir mal im Post #10 verlinkten Original-Sketch die Lizenzverweise, die ich entfernt haben soll.

Danke
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

cetri

Hi Papa,

würdest du mir das Passwort bitte auch zukommen lassen?

Besten Dank
cetri

Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Tedious

Hi,

zuallererst besten Dank fürs Passwort und den Sketch! Ich bekomme den leider nicht kompiliert. Das Demo-File aus Arduino läuft sauber durch. Hier konnte ich eine Reihe von Fehmermeldungen mit Hilfe von Tante Google ausräumen, aber jetzt stecke ich beim folgenden Fehler fest...

Arduino: 1.8.9 (Windows 10), Board: "ESP32 Wrover Module, Face Recognition (2621440 bytes with OTA), QIO, 80MHz, 921600, None"

sketch\app_httpd.cpp: In function 'esp_err_t status_handler(httpd_req_t*)':

app_httpd.cpp:548:50: error: 'struct camera_status_t' has no member named 'sharpness'

     p+=sprintf(p, "\"sharpness\":%d,", s->status.sharpness);

                                                  ^

sketch\app_httpd.cpp: In function 'esp_err_t index_handler(httpd_req_t*)':

app_httpd.cpp:582:22: error: 'OV3660_PID' was not declared in this scope

     if (s->id.PID == OV3660_PID) {

                      ^

app_httpd.cpp:583:51: error: 'index_ov3660_html_gz' was not declared in this scope

         return httpd_resp_send(req, (const char *)index_ov3660_html_gz, index_ov3660_html_gz_len);

                                                   ^

app_httpd.cpp:583:73: error: 'index_ov3660_html_gz_len' was not declared in this scope

         return httpd_resp_send(req, (const char *)index_ov3660_html_gz, index_ov3660_html_gz_len);

                                                                         ^

Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: C:\Users\seder\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.1\libraries\WiFi
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
ESP32_CAM:287:26: error: 'face_id_name_list' was not declared in this scope

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                          ^

ESP32_CAM:287:45: error: 'face_list' was not declared in this scope

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                             ^

ESP32_CAM:287:70: error: expected primary-expression before '*' token

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                                                      ^

ESP32_CAM:287:71: error: 'new_id' was not declared in this scope

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                                                       ^

ESP32_CAM:287:77: error: expression list treated as compound expression in initializer [-fpermissive]

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                                                             ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: In function 'mtmn_config_t app_mtmn_config()':

ESP32_CAM:99:15: error: 'struct mtmn_config_t' has no member named 'type'

   mtmn_config.type = FAST;

               ^

ESP32_CAM:99:22: error: 'FAST' was not declared in this scope

   mtmn_config.type = FAST;

                      ^

ESP32_CAM:102:15: error: 'struct mtmn_config_t' has no member named 'pyramid_times'

   mtmn_config.pyramid_times = 4;

               ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: At global scope:

ESP32_CAM:116:1: error: 'face_id_name_list' does not name a type

face_id_name_list st_face_list;

^

ESP32_CAM:124:20: error: 'ENROLL_NAME_LEN' was not declared in this scope

   char enroll_name[ENROLL_NAME_LEN];

                    ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: In function 'void app_facenet_main()':

ESP32_CAM:283:22: error: 'st_face_list' was not declared in this scope

   face_id_name_init(&st_face_list, FACE_ID_SAVE_NUMBER, ENROLL_CONFIRM_TIMES);

                      ^

ESP32_CAM:283:77: error: 'face_id_name_init' was not declared in this scope

   face_id_name_init(&st_face_list, FACE_ID_SAVE_NUMBER, ENROLL_CONFIRM_TIMES);

                                                                             ^

ESP32_CAM:285:50: error: 'read_face_id_from_flash_with_name' was not declared in this scope

   read_face_id_from_flash_with_name(&st_face_list);

                                                  ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: At global scope:

ESP32_CAM:287:33: error: 'do_enrollment' declared as an 'inline' variable

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                 ^

ESP32_CAM:287:33: error: redefinition of 'int do_enrollment'

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino:287:12: note: 'int do_enrollment' previously defined here

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

            ^

ESP32_CAM:287:33: error: 'face_id_name_list' was not declared in this scope

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                 ^

ESP32_CAM:287:52: error: 'face_list' was not declared in this scope

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                                    ^

ESP32_CAM:287:77: error: expected primary-expression before '*' token

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                                                             ^

ESP32_CAM:287:78: error: 'new_id' was not declared in this scope

static inline int do_enrollment(face_id_name_list *face_list, dl_matrix3d_t *new_id)

                                                                              ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: In function 'esp_err_t send_face_list(websockets::WebsocketsClient&)':

ESP32_CAM:300:3: error: 'face_id_node' was not declared in this scope

   face_id_node *head = st_face_list.head;

   ^

ESP32_CAM:300:17: error: 'head' was not declared in this scope

   face_id_node *head = st_face_list.head;

                 ^

ESP32_CAM:300:24: error: 'st_face_list' was not declared in this scope

   face_id_node *head = st_face_list.head;

                        ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: In function 'esp_err_t delete_all_faces(websockets::WebsocketsClient&)':

ESP32_CAM:311:39: error: 'st_face_list' was not declared in this scope

   delete_face_all_in_flash_with_name(&st_face_list);

                                       ^

ESP32_CAM:311:51: error: 'delete_face_all_in_flash_with_name' was not declared in this scope

   delete_face_all_in_flash_with_name(&st_face_list);

                                                   ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: In function 'void handle_message(websockets::WebsocketsClient&, websockets::WebsocketsMessage)':

ESP32_CAM:326:39: error: 'ENROLL_NAME_LEN' was not declared in this scope

     char person[FACE_ID_SAVE_NUMBER * ENROLL_NAME_LEN] = {0,};

                                       ^

ESP32_CAM:327:41: error: 'person' was not declared in this scope

     msg.data().substring(8).toCharArray(person, sizeof(person));

                                         ^

ESP32_CAM:328:20: error: 'struct httpd_resp_value' has no member named 'enroll_name'

     memcpy(st_name.enroll_name, person, strlen(person) + 1);

                    ^

ESP32_CAM:336:17: error: 'ENROLL_NAME_LEN' was not declared in this scope

     char person[ENROLL_NAME_LEN * FACE_ID_SAVE_NUMBER];

                 ^

ESP32_CAM:337:41: error: 'person' was not declared in this scope

     msg.data().substring(7).toCharArray(person, sizeof(person));

                                         ^

ESP32_CAM:338:40: error: 'st_face_list' was not declared in this scope

     delete_face_id_in_flash_with_name(&st_face_list, person);

                                        ^

ESP32_CAM:338:60: error: 'delete_face_id_in_flash_with_name' was not declared in this scope

     delete_face_id_in_flash_with_name(&st_face_list, person);

                                                            ^

C:\Users\seder\Downloads\ESP32_CAM(1)\ESP32_CAM\ESP32_CAM.ino: In function 'void loop()':

ESP32_CAM:373:53: error: 'get_face_id' was not declared in this scope

         { out_res.face_id = get_face_id(aligned_face);

                                                     ^

ESP32_CAM:375:11: error: 'face_id_node' was not declared in this scope

           face_id_node *f = recognize_face_with_name(&st_face_list, out_res.face_id);

           ^

ESP32_CAM:375:25: error: 'f' was not declared in this scope

           face_id_node *f = recognize_face_with_name(&st_face_list, out_res.face_id);

                         ^

ESP32_CAM:375:55: error: 'st_face_list' was not declared in this scope

           face_id_node *f = recognize_face_with_name(&st_face_list, out_res.face_id);

                                                       ^

ESP32_CAM:375:84: error: 'recognize_face_with_name' was not declared in this scope

           face_id_node *f = recognize_face_with_name(&st_face_list, out_res.face_id);

                                                                                    ^

ESP32_CAM:410:55: error: 'get_face_id' was not declared in this scope

             out_res.face_id = get_face_id(aligned_face);

                                                       ^

ESP32_CAM:417:53: error: 'st_face_list' was not declared in this scope

               int left_sample_face = do_enrollment(&st_face_list, out_res.face_id);

                                                     ^

ESP32_CAM:417:82: error: 'do_enrollment' cannot be used as a function

               int left_sample_face = do_enrollment(&st_face_list, out_res.face_id);

                                                                                  ^

ESP32_CAM:419:118: error: 'struct httpd_resp_value' has no member named 'enroll_name'

               sprintf(enrolling_message, "SAMPLE NUMBER %d FOR %s", ENROLL_CONFIRM_TIMES - left_sample_face, st_name.enroll_name);

                                                                                                                      ^

ESP32_CAM:431:51: error: 'st_face_list' was not declared in this scope

             if (g_state == START_RECOGNITION  && (st_face_list.count > 0))

                                                   ^

ESP32_CAM:433:15: error: 'face_id_node' was not declared in this scope

               face_id_node *f = recognize_face_with_name(&st_face_list, out_res.face_id);

               ^

ESP32_CAM:433:29: error: 'f' was not declared in this scope

               face_id_node *f = recognize_face_with_name(&st_face_list, out_res.face_id);

                             ^

ESP32_CAM:433:88: error: 'recognize_face_with_name' was not declared in this scope

               face_id_node *f = recognize_face_with_name(&st_face_list, out_res.face_id);

                                                                                        ^

'struct camera_status_t' has no member named 'sharpness'


Die angemerkte Codezeile lautet

p+=sprintf(p, "\"sharpness\":%d,", s->status.sharpness);

Ich sehe in der Deklaration keinen Unterschied zu den flankierenden Zeilen...

Grüße Tedious
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Papa Romeo

#72
.. bist du genau so verfahren wie ab Post #13 beschrieben?
Der Demo-Code benötigt keine Speicherfreigabe, mein Code aber schon.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

..sehe gerade... du brauchst mindestens das ESP32-Package 1.0.3 rc1
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Tedious

FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...