{"id":32,"date":"2026-09-30T11:09:46","date_gmt":"2026-09-30T11:09:46","guid":{"rendered":"https:\/\/lab.sputnic.tv\/?p=32"},"modified":"2026-10-16T11:30:14","modified_gmt":"2026-10-16T11:30:14","slug":"verstehen-und-aufraeumen","status":"publish","type":"post","link":"https:\/\/lab.sputnic.tv\/?p=32","title":{"rendered":"Verstehen und aufr\u00e4umen"},"content":{"rendered":"\n<p class=\"is-style-text-subtitle is-style-text-subtitle--1 wp-block-paragraph\"><em>September 2026:<\/em> Nach neun Wochen Pause stand ich vor meinem eigenen Code und verstand ihn nicht mehr. Der Fr\u00fchling war schnell gewesen: viele Umbauten, viele halbfertige Ideen, Wissen, das nur im Kopf lag und dort nicht \u00fcberlebt hatte. Bevor es planvoll weitergehen konnte, musste ich erst verstehen, was da eigentlich lief, und dann aufr\u00e4umen. Der September war daf\u00fcr da.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Wiedereinstieg war bewusst klein: Dokumentation ordnen, die Firmware meldet beim Start ihre Version, ein gr\u00f6\u00dferer Stack behebt einen Absturz im Analyzer. Das erste Lab-Experiment, eine Abstandsleiter, blieb ohne klares Ergebnis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mitte September wurden die Detektoren zusammengef\u00fchrt und toter Code entfernt. Eine schlanke Parameter-Registry kam dazu: Einstellungen lassen sich jetzt zur Laufzeit \u00e4ndern, ohne neu zu flashen. Das ist die Voraussetzung daf\u00fcr, Nodes sp\u00e4ter im Raum live zu stimmen. Au\u00dferdem wurde die VEKTOR-Spezifikation (Link folgt) importiert, eine k\u00fcnftige Schnittstelle nach au\u00dfen, vorerst nur abgelegt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit dem Aufr\u00e4umen fiel auch eine Hardware-Entscheidung: weg vom Piezo, hin zu einem kleinen Class-D-Verst\u00e4rker mit 3-Watt-Lautsprecher. Der Piezo war vor allem viel zu leise. Ob der Wechsel sich lohnt, zeigt erst vole Tests im Oktober.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ende September wurden mehrere parallel entwickelte Zweige zusammengef\u00fchrt. Das brachte einige echte Bugfixes und rund 14 KB weniger Speicherbedarf.<br><br>Dabei bekam die Detection ihre heutige Form: eine Kette aus vier Stufen, jede mit einer einzigen Aufgabe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie ein Node jetzt h\u00f6rt<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Merkmale.<\/strong> Aus dem Mikrofonsignal wird alle 0,25 ms eine Handvoll Zahlen gerechnet, vor allem: Wie viel Energie liegt gerade bei der Zieltonh\u00f6he? Die letzten 256 Millisekunden bleiben in einem kurzen Ged\u00e4chtnis.<\/li>\n\n\n\n<li><strong>Detector.<\/strong> Beobachtet diese Zahlen \u00fcber die Zeit und sucht den Umriss eines Rufs: Pegel springt hoch, bleibt lang genug oben, f\u00e4llt wieder ab. Passt der Umriss, meldet er ein Ereignis. Passt er nicht, verwirft er es und sagt warum (zu kurz, zu lang, zu leise).<\/li>\n\n\n\n<li><strong>Inspector.<\/strong> Schaut sich das gemeldete Ereignis im Nachhinein genauer an, mit dem Ged\u00e4chtnis aus Stufe 1. Wie laut war der Ruf in der Kernzeit? Wie klar stach er gegen die Nachbarfrequenzen hervor? Jeder Befund bekommt eine Klasse, etwa schwach, mittel, stark.<\/li>\n\n\n\n<li><strong>OccurrenceEvaluator.<\/strong> Vergleicht Befunde mit Mindestanforderungen und f\u00e4llt das Urteil: g\u00fcltig oder nicht. Nur ein g\u00fcltiges Urteil erreicht das &#8218;Behaviour&#8216;, also die Entscheidung, ob der Node antwortet.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Vorher war das alles ineinander verwoben, und ich konnte nicht sagen, warum ein Ruf durchfiel. Jetzt kennt der Detector nur den Umriss, der Inspector nur die Beweise, der Evaluator nur die Regel. Wenn etwas schiefgeht, l\u00e4sst sich sagen, in welcher Stufe. Das hat sp\u00e4ter im Oktober geholfen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"1024\" src=\"https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/10\/20260908_191420-577x1024-1.jpg\" alt=\"\" class=\"wp-image-33\" srcset=\"https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/10\/20260908_191420-577x1024-1.jpg 577w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/10\/20260908_191420-169x300-1.jpg 169w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/10\/20260908_191420-243x432-1.jpg 243w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/10\/20260908_191420-865x1536-1.jpg 865w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/10\/20260908_191420-1153x2048-1.jpg 1153w, https:\/\/lab.sputnic.tv\/wp-content\/uploads\/2026\/10\/20260908_191420-scaled-1.jpg 1441w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">ESP32 mit Flachbandkabel<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was bleibt offen<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Abstandsleiter blieb ohne Ergebnis. Liegt es an der Messung oder an der Hardware?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>September 2026: Nach neun Wochen Pause stand ich vor meinem eigenen Code und verstand ihn nicht mehr. Der Fr\u00fchling war schnell gewesen: viele Umbauten, viele halbfertige Ideen, Wissen, das nur im Kopf lag und dort nicht \u00fcberlebt hatte. Bevor es planvoll weitergehen konnte, musste ich erst verstehen, was da eigentlich lief, und dann aufr\u00e4umen. Der [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":35,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-32","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/posts\/32","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=32"}],"version-history":[{"count":2,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/posts\/32\/revisions"}],"predecessor-version":[{"id":37,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/posts\/32\/revisions\/37"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=\/wp\/v2\/media\/35"}],"wp:attachment":[{"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=32"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=32"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lab.sputnic.tv\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=32"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}