{"id":5636,"date":"2022-01-01T17:04:57","date_gmt":"2022-01-01T16:04:57","guid":{"rendered":"https:\/\/www.bdjl.de\/localhost\/?p=5636"},"modified":"2022-01-01T17:04:57","modified_gmt":"2022-01-01T16:04:57","slug":"wifi-heatmap","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=5636","title":{"rendered":"WiFi Heatmap"},"content":{"rendered":"<p>Ich war auf der Suche nach einer schnellen M\u00f6glichkeit, die Wifi Qualit\u00e4t hier im Haus (und sp\u00e4ter evtl. auch mal an der Schule) zu erfassen.<\/p>\n<p>Geht via CLI mit den folgenden Methoden:<\/p>\n<pre># nmcli\r\nnmcli d wifi\r\n\r\n# iw\r\nsudo iw dev wlan0 link\r\n\r\n# wpa_cli\r\nsudo wpa_cli -i wlan0 scan_results\r\n\r\n# wavemon\r\nwavemon<\/pre>\n<p>mit den jeweiligen Vor- und Nachteilen bei der Interpretation und Darstellung. F\u00fcr den Alltag reicht mir hier <em>nmcli<\/em>.<\/p>\n<p>Eine Heatmap zu erstellen w\u00e4re dann die n\u00e4chste Idee, jedoch will mensch die Ergebnisse ja in h\u00fcbsch &#8211; und m\u00f6glichst automatisiert. Dazu fand ich die folgenden Projekte:<\/p>\n<p><a href=\"https:\/\/github.com\/jantman\/python-wifi-survey-heatmap\">https:\/\/github.com\/jantman\/python-wifi-survey-heatmap<\/a> ist schon ein wenig \u00e4lter und sah mir komplexer aus, als ich es haben wollte.<\/p>\n<p>Das hier <a href=\"https:\/\/github.com\/Nischay-Pro\/wifi-heat-mapper\">https:\/\/github.com\/Nischay-Pro\/wifi-heat-mapper<\/a> schien der einfachere kleine Bruder zu sein &#8211; also getestet.<\/p>\n<p>Die Installation geht mit <em>pip<\/em> auf einem Arch flott \u00fcber die B\u00fchne. Auf einem hausinternen Serverchen dann <em>iperf3<\/em> gestartet, damit wir einen Endpoint f\u00fcr die Messungen haben. Es folgt die Erstellung einer groben Skizze des zu erfassenden Stockwerkes (z.B. mit Libreoffice Draw). Dieses als PNG oder JPG wegspeichern \/ exportieren. Die dann folgenden Schritte (die eigentliche Messung) sind auf der Seite bei Github ausf\u00fchrlich beschrieben und gehen einfach von der Hand.<\/p>\n\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 50%;\n\t\t\t}\n\t\t\t#gallery-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-1' class='gallery galleryid-5636 gallery-columns-2 gallery-size-thumbnail'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/download_bytes_tcp.png'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/download_bytes_tcp-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"TCP\" aria-describedby=\"gallery-1-5637\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-5637'>\n\t\t\t\tTCP\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/download_bytes_udp.png'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/download_bytes_udp-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"UDP\" aria-describedby=\"gallery-1-5638\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-5638'>\n\t\t\t\tUDP\n\t\t\t\t<\/dd><\/dl><br style=\"clear: both\" \/>\n\t\t<\/div>\n\n<p>Die Ergebnisse sind dann &#8230; nunja &#8230; abh\u00e4ngig von der eigenen Geduld, die an zwei Stellen hart auf die Probe gestellt wird: Erstens dauert eine Messung gef\u00fchlte Ewigkeiten &#8211; und zweitens st\u00fcrzt <em>whm<\/em> \u00f6fter mal ab. Es speichert aber alle bisherigen Messergebnisse, so dass der Verlust vor allem deswegen nervt, weil die Messung wiederholt werden muss.<\/p>\n<p>Im Ergebnis tauchen dann so Sonderbarkeiten wie im Bild oben auf: Der UDP Scan zeigt ein Loch an einem Messpunkt. Macht nicht wirklich Sinn f\u00fcr mich.<\/p>\n\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-2 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-2 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 50%;\n\t\t\t}\n\t\t\t#gallery-2 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-2 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-2' class='gallery galleryid-5636 gallery-columns-2 gallery-size-thumbnail'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_quality_percent.png'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_quality_percent-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"Prozent\" aria-describedby=\"gallery-2-5639\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-2-5639'>\n\t\t\t\tProzent\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_quality.png'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_quality-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"N\/70\" aria-describedby=\"gallery-2-5640\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-2-5640'>\n\t\t\t\tN\/70\n\t\t\t\t<\/dd><\/dl><br style=\"clear: both\" \/>\n\t\t<\/div>\n\n<p>Aber nett anzusehen sind die Bildchen und manchmal bringen sie einen ja schon zum Nachdenken:<\/p>\n<p><a href=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5642\" src=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength-640x480.png\" alt=\"Signalst\u00e4rke\" width=\"640\" height=\"480\" srcset=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength-640x480.png 640w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength-1024x768.png 1024w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength-768x576.png 768w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength-1536x1152.png 1536w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength-624x468.png 624w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2022\/01\/signal_strength.png 1920w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Den AP hinter der Glotze zu verstauen ist selbstverst\u00e4ndlich doof und das oben zu sehende Resultat auch zu erwarten. Aber! Die &#8222;Heatmap&#8220;, die ich erhalte, wenn der dauerblinkende, schwarze, h\u00e4ssliche AP <strong>nicht<\/strong> hinterm TV versteckt ist, will ich mir nicht zeichnen lassen. Das Programm erfasst halt nicht den <a href=\"https:\/\/de.wikipedia.org\/wiki\/Woman_acceptance_factor\">WAF<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich war auf der Suche nach einer schnellen M\u00f6glichkeit, die Wifi Qualit\u00e4t hier im Haus (und sp\u00e4ter evtl. auch mal an der Schule) zu erfassen. Geht via CLI mit den folgenden Methoden: # nmcli nmcli d wifi # iw sudo iw dev wlan0 link # wpa_cli sudo wpa_cli -i wlan0 scan_results # wavemon wavemon mit [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[623,622,146],"class_list":["post-5636","post","type-post","status-publish","format-standard","hentry","category-familie","category-linux","tag-heatmap","tag-wifi","tag-wlan"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5636"}],"version-history":[{"count":5,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5636\/revisions"}],"predecessor-version":[{"id":5646,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5636\/revisions\/5646"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}