{"id":1,"date":"2026-04-30T06:54:44","date_gmt":"2026-04-30T06:54:44","guid":{"rendered":"https:\/\/lab.sputnic.tv\/?p=1"},"modified":"2026-10-16T11:00:09","modified_gmt":"2026-10-16T11:00:09","slug":"hello-world","status":"publish","type":"post","link":"https:\/\/lab.sputnic.tv\/?p=1","title":{"rendered":"Hello World: Ein Node lernt h\u00f6ren"},"content":{"rendered":"\n<p class=\"is-style-text-subtitle is-style-text-subtitle--1 wp-block-paragraph\">Mai 2026: Der erste Prototyp eines Nodes: ein ESP32 mit Mikrofon, LED und Piezo-Lautsprecher. Die Ausgangsfrage war, ob ein einzelnes Ger\u00e4t auf einen Testsound (&#8218;Chirp&#8216;) reagieren kann (und nicht auf jedes Ger\u00e4usch).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Am ersten Tag lief die Grundschleife: h\u00f6ren, Pegelspitzen erkennen, mit einem LED-Blink quittieren, mit einem Chirp \u00fcber den Piezo antworten. Kurz danach kam ein Debug-Modus, der den Signalverlauf live plottet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das erste Problem lag nahe. Der eigene Chirp ist das lauteste Ereignis im Raum, also h\u00f6rte der Node sich selbst und antwortete auf sich. Die L\u00f6sung ist vorerst: W\u00e4hrend der Node sendet, wertet er nichts aus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Parallel lief ein Vergleich zwischen einem analogen und einem MEMS-Mikrofon. Das MEMS lieferte zu dem Zeitpunkt keine besseren Ergebnisse, also blieb es beim analogen. Erkennungs- und Chirp-Parameter sind seitdem pro Mikrofonquelle getrennt hinterlegt, damit der Vergleich wiederholbar bleibt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Monatsende kam ein zweiter Ger\u00e4tetyp dazu, der Emitter. Er spielt nur Testsignale ab und h\u00f6rt nicht zu. Damit l\u00e4sst sich die Erkennung messen, ohne dass zwei reagierende Nodes sich gegenseitig beeinflussen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/04\/20260416_175801-1024x577-1.jpg\" alt=\"ESP32 DevKit, verkabelt\" class=\"wp-image-17\" srcset=\"https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/04\/20260416_175801-1024x577-1.jpg 1024w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/04\/20260416_175801-300x169.jpg 300w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/04\/20260416_175801-767x432-1.jpg 767w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/04\/20260416_175801-1536x865-1.jpg 1536w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/04\/20260416_175801-2048x1153-1.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">ESP32 DevKit, verkabelt<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Was bleibt offen<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reicht ein Zeitfenster gegen das Selbsth\u00f6ren, sobald mehrere Nodes gleichzeitig senden?<\/li>\n\n\n\n<li>Pegelspitzen reagieren auf alles, was laut ist. Wie unterscheidet ein Node ein Chirp von einer zufallenden T\u00fcr?<\/li>\n\n\n\n<li>Analog oder MEMS- Mikrofone?<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-left is-style-text-annotation is-style-text-annotation--2 wp-block-paragraph\">Beitrag nachgetragen im Oktober 2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mai 2026: Der erste Prototyp eines Nodes: ein ESP32 mit Mikrofon, LED und Piezo-Lautsprecher. Die Ausgangsfrage war, ob ein einzelnes Ger\u00e4t auf einen Testsound (&#8218;Chirp&#8216;) reagieren kann (und nicht auf jedes Ger\u00e4usch). Wie Am ersten Tag lief die Grundschleife: h\u00f6ren, Pegelspitzen erkennen, mit einem LED-Blink quittieren, mit einem Chirp \u00fcber den Piezo antworten. Kurz danach [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":15,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1"}],"version-history":[{"count":4,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":30,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/posts\/1\/revisions\/30"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/media\/15"}],"wp:attachment":[{"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}