← ThreadMapper

Bouw een ThreadMapper-probe

Een probe is een klein printplaatje op je wifi dat de radio meet die je smarthome deelt: hoe druk elk Thread-kanaal is, welke wifi-netwerken erop zitten en, waar hij zich bij je Thread-mesh kan aansluiten, de mesh zoals de eigen routers ervan die melden. ThreadMapper leest hem uit via je eigen netwerk.

Eén onderdeel, ongeveer tien minuten, geen soldeerwerk. De probe hoort bij ThreadMapper Pro.


Lees dit voordat je het printplaatje koopt

Wat je nodig hebt

OnderdeelOpmerkingen
Seeed Studio XIAO ESP32C6Ongeveer $5–8. De firmware is gebouwd voor dit printplaatje en geen ander: die stuurt de antenneschakelaar, het lampje en de knop van dit printplaatje aan.
Een USB-C-kabel die data doorgeeftVeel kabels die bij opladers worden geleverd, geven alleen stroom door. Ziet de computer het printplaatje niet, probeer dan eerst een andere kabel.
Een computer met Chrome, Edge of FirefoxAlleen voor de installatie. Safari kan geen seriële USB-poort bereiken, en een iPhone of een iPad kan dat ook niet.
Wifi op 2,4 GHzHet printplaatje heeft geen 5 GHz-radio. Een netwerk dat beide banden onder één naam aanbiedt, is prima.
Een USB-opladerWelke dan ook. Daar woont de probe zodra hij is ingesteld.

Wat hij in je huis kan uitlezen

Het meten werkt in elk huis. Om de mesh uit te lezen moet de probe zich bij je Thread-netwerk aansluiten, en of dat kan, hangt af van wat dat netwerk beheert.

Je huisKanaalruis, en de wifi op elk kanaalDe Thread-mesh zelf
Border routers van Apple of Google, en verder nietsJaNee. Geen van beide laat je de inloggegevens van je Thread-netwerk eruit halen. Apple geeft een app alleen het recht om ze te lezen als de maker van die app ook een gecertificeerde border router maakt, en de maker van ThreadMapper doet dat niet.
Hetzelfde, met Home AssistantJaJa. De Companion-app van Home Assistant kan de inloggegevens erin kopiëren, en van daaruit kopieer jij ze naar de probe (stap 5).
Een eigen OpenThread border routerJaJa. Lees ze daar uit (stap 5).

Als de eerste rij jouw huis is, tekent de probe je mesh niet. Hij meet dan nog steeds wat geen telefoon kan: de ruis op elk van de zestien Thread-kanalen, elke vijf minuten, en welke wifi-netwerken daarachter zitten. Beslis op basis daarvan voordat je koopt.


Stap 1 — Installeer de firmware

  1. Sluit het printplaatje aan op de computer.
  2. Druk hieronder op Installeer de probe-firmware en kies de poort met de naam USB JTAG/serial debug unit.
  3. Druk op Install ThreadMapper Probe. Het installatieprogramma vraagt of het apparaat moet worden gewist: vink bij een nieuw printplaatje Erase device aan. Daarna Next, en Install.

Alleen bij een nieuw printplaatje. Wissen neemt alles mee wat een probe is verteld: zijn wifi, zijn sleutel en zijn Thread-netwerk. Een probe die al werkt, wordt in plaats daarvan bijgewerkt (zie Bijwerken), en als het installatieprogramma dit bij zo’n probe vraagt, laat je het vakje leeg.

Deze browser kan geen seriële USB-poort bereiken. Open deze pagina in Chrome, Edge of Firefox, op een computer. Het installatieprogramma werkt alleen op een pagina die via HTTPS is geopend.

Het duurt een minuut of twee en eindigt met Installation complete! Druk op Next. Het eigen venster van het installatieprogramma is in het Engels.

Staat de poort niet in de lijst, dan ligt het bijna altijd aan de kabel. Is het dat niet, houd dan de knop B van het printplaatje ingedrukt terwijl je het aansluit, en probeer het opnieuw.

Geen van die browsers? esptool van Espressif doet hetzelfde. Een eerste installatie, die wist wat er op het printplaatje stond:

esptool.py --chip esp32c6 write_flash 0x0 threadmapper-probe-full.bin

Een update, die de probe laat houden wat hem is verteld:

esptool.py --chip esp32c6 write_flash 0x20000 threadmapper-probe.bin

De twee images zijn threadmapper-probe-full.bin en threadmapper-probe.bin. Open daarna de seriële poort van het printplaatje met een terminalprogramma naar keuze, en geef de probe zijn wifi door te typen (stap 2, Zonder de lijst).


Stap 2 — Geef hem je wifi

Na een eerste installatie, met Erase device aangevinkt, gaat het installatieprogramma vanzelf verder met Configure Wi-Fi. Zie je in plaats daarvan de lijst met keuzes, druk daar dan op Connect to Wi-Fi.

De probe toont de netwerken die hij hoort.

  1. Kies onder Network jouw netwerk.
  2. Typ het wachtwoord ervan.
  3. Druk op Connect.

Het installatieprogramma zegt Trying to connect, wat bijna een minuut kan duren, en daarna Device connected to the network! Het lampje van de probe is dan aan en blijft aan. Druk op Continue.

De probe bewaart een netwerk pas als hij er verbinding mee heeft gemaakt. Unable to connect betekent dat hij het heeft geprobeerd en er niet op kwam: bijna altijd het wachtwoord, soms een router die te ver weg staat. De poging heeft niets veranderd: een probe die al een netwerk had, heeft dat nog en gaat ernaar terug. Probeer het opnieuw.

Staat je netwerk niet in de lijst? De probe heeft geen 5 GHz-radio, dus een netwerk dat alleen op 5 GHz zit, staat er niet in. Een netwerk dat zijn naam verbergt ook niet: kies Join other… en typ de naam.

Het wachtwoordveld verbergt wat je typt. De naam en het wachtwoord gaan via de kabel naar het printplaatje, dat ze in zijn eigen geheugen bewaart en het wachtwoord in geen enkele log schrijft.

Zonder de lijst

Biedt het installatieprogramma geen Connect to Wi-Fi aan, dan heeft het de probe niet horen antwoorden: sluit het venster, druk opnieuw op de installatieknop en kies de poort.

De probe kan zijn netwerk ook krijgen via zijn console, in Logs & Console of in een terminalprogramma naar keuze op zijn poort. Typ wifi en druk op Return. De regels die met > beginnen, zijn wat jij typt:

> wifi
Network name? Type it and press Return.
> My network
Password? The probe does not write it back. Return alone for a network without one.
> my password
stored: "My network", with a password of 11 characters.
Restarting to join it. The light stays on once it has.

Niets heeft aanhalingstekens nodig, en letters als å, ä en ö zijn geen probleem. De probe schrijft het wachtwoord niet terug. De pagina toont het wel terwijl je typt, en bewaart het in haar log tot je het venster sluit: het is je eigen scherm, dus kijk eerst even over je schouder.

Krijgt de probe op deze manier een netwerk, dan start hij opnieuw op om er verbinding mee te maken, en heeft hij het niet eerst geprobeerd. Gaat zijn lampje terug naar één korte flits elke twee seconden, dan heeft hij het tien keer geprobeerd, kon hij geen verbinding maken en is hij het netwerk vergeten.


Stap 3 — Verbind de app

Wacht tot het lampje blijft branden. Open ThreadMapper op de iPhone en ga naar Instellingen → ThreadMapper-probe. Zit de telefoon op dezelfde wifi, dan staat de probe onder Op dit netwerk: kies hem. Test verbinding zegt daarna wat de probe is en hoe hij ervoor staat.

Toont de app hem niet, vraag de probe dan waar hij is: sluit het venster van het installatieprogramma, druk opnieuw op de installatieknop, kies de poort, open Logs & Console en typ status. Een van de regels is het adres dat je in de app typt:

in the app: http://192.168.1.50:8099

Je router kan de probe op een dag een ander adres geven. De app kent de probe aan meer dan zijn adres: is de app open en zit de telefoon op dezelfde wifi, dan vindt de app de probe vanzelf terug.

De kabel heeft zijn werk gedaan. Koppel het printplaatje los en hang het aan een oplader, ergens midden in huis in plaats van achter de router: de probe hoort wat er dicht bij hem is.


Stap 4 — Geef je iPhone de sleutel

Een probe zonder sleutel antwoordt iedereen op je wifi. Dat geldt ook voor de namen van de wifi-netwerken die hij hoort, en voor verzoeken die zijn radio seconden achter elkaar van het kanaal van je mesh halen.

Druk twee keer op de knop B van het printplaatje, direct na elkaar. (Niet R: die start de probe opnieuw op.) Het lampje knippert twee keer per seconde, drie minuten lang of tot een telefoon de sleutel heeft opgehaald. Tik in de app, onder Instellingen → ThreadMapper-probe, op Haal de sleutel op.

Vanaf dan doet de probe wat zijn radio tijd kost alleen voor een telefoon die de sleutel heeft. De sleutel bewijst wie er vraagt; hij verbergt niets. Antwoorden gaan nog steeds onversleuteld over je wifi, en dat doet ook de sleutel, één keer, wanneer een telefoon hem krijgt.

Eén telefoon tegelijk heeft de sleutel. Een tweede telefoon die hem krijgt, neemt hem van de eerste af.


Stap 5 — Geef hem je Thread-netwerk

Sla dit over als je huis de eerste rij van de tabel hierboven is.

De probe sluit zich bij een Thread-netwerk aan met de actieve dataset van dat netwerk, een reeks van zo’n tweehonderd hexadecimale cijfers die de sleutel van het netwerk bevat.

Sluit de probe weer aan op de computer, druk op de installatieknop hierboven, kies zijn poort en open Logs & Console zonder iets te installeren. Typ thread dataset, druk op Return en plak de dataset wanneer de probe erom vraagt:

> thread dataset
Dataset, as hex? The probe does not write it back.
> 0e080000000000010000000300001935060004001fffe0...
stored: "MyHome", channel 25. Restarting to join it.

Binnen een paar minuten zegt Instellingen → ThreadMapper-probe in de app dat de probe op zijn Thread-mesh zit.

De dataset is de sleutel tot je Thread-netwerk. De probe schrijft hem niet terug, maar de pagina waarin je hem plakt, toont hem wel en bewaart hem in haar log tot je het venster sluit. De probe bewaart hem in zijn eigen geheugen, dat niet versleuteld is: wie het printplaatje meeneemt, kan hem eruit lezen.


Wat je krijgt

In de appMet alleen wifiMet ook je Thread-netwerk
Kanaalscanner: de gemeten ruis op alle zestien Thread-kanalenJaJa
De wifi-netwerken achter de ruis, met naam en kanaalJaJa
Een dag aan ruismeetwaarden, elke vijf minuten genomen terwijl de app gesloten wasJaJa
Probe-meetwaarden: elke router in de mesh, de knooppunten die de probe hoort met hun gemeten signaal, en hoe de mesh tussen hen routeertNeeJa
Op de pagina van een apparaat: wie het hoort en hoe goed, en of het antwoordtNeeJa
Netwerkdokter, voor een Thread-apparaat op netstroom dat Apple Home niet kan bereiken: of het toch antwoordt op de mesh en, bij een Matter-apparaat, of een border router de registratie ervan nog heeftNeeJa

De namen van de wifi-netwerken worden op de telefoon getoond en nergens bewaard.


Wat het lampje zegt

LampjeBetekenis
Eén korte flits elke twee secondenNog geen wifi-netwerk. Stap 2.
Knippert langzaamHij heeft een netwerk en maakt er verbinding mee.
AanHij zit op je wifi. Zo hoort het eruit te zien.
Twee flitsen per secondeJe hebt twee keer op de knop gedrukt: hij geeft een telefoon de sleutel, drie minuten lang of tot er een de sleutel heeft opgehaald.
Knippert snelJe hebt één keer op de knop gedrukt. Dat opent een venster van drie minuten dat deze versie van de app niet gebruikt. Het sluit vanzelf en de probe start opnieuw op, waardoor zijn dag aan meetwaarden opnieuw begint.
FlikkertJe houdt de knop al drie seconden ingedrukt. Bij tien wist hij alles wat de probe is verteld.

Bijwerken

Een nieuwe firmware verschijnt op deze pagina. Sluit de probe aan op de computer, druk op de installatieknop en kies de poort. Het installatieprogramma zegt welke firmware de probe draait en biedt Update ThreadMapper Probe aan: druk daarop, en daarna op Install. Een update wist niets: de probe houdt zijn wifi, zijn sleutel en zijn Thread-netwerk.

Een probe met een firmware van vóór 0.8.0 vertelt het installatieprogramma niet wat hij is. Het installatieprogramma biedt dan Install ThreadMapper Probe aan en vraagt of het apparaat moet worden gewist: laat Erase device uitgevinkt.

Draait de probe al de nieuwste firmware, dan biedt het installatieprogramma in plaats daarvan Erase User Data aan. Dat wist alles wat de probe is verteld, net als wanneer je zijn knop tien seconden ingedrukt houdt.


Als het niet werkt

Wat je zietWat het is
De installatieknop zegt dat de browser niet wordt ondersteundGebruik Chrome, Edge of Firefox op een computer.
De poort staat niet in de lijstDe kabel geeft alleen stroom door, of een ander programma heeft de poort open.
Het installatieprogramma zegt Unable to connectHet wachtwoord klopt niet, de probe staat te ver van de router, of het netwerk zit alleen op 5 GHz. Er is niets veranderd. Probeer het opnieuw.
Het installatieprogramma biedt geen Connect to Wi-Fi aanHet heeft de probe niet horen antwoorden. Sluit het venster, druk opnieuw op de installatieknop en kies de poort.
Het lampje is terug bij één korte flits elke twee secondenMet een netwerk dat via de console is getypt, kwam geen verbinding tot stand: het wachtwoord klopt niet, of het netwerk zit alleen op 5 GHz. Na tien pogingen is de probe het vergeten. Geef hem het netwerk opnieuw (stap 2).
Het lampje blijft langzaam knipperenDe probe heeft eerder verbinding gehad met dit netwerk en kan het nu niet bereiken: de router staat uit of te ver weg, of het wachtwoord is veranderd. Is dat zo, geef hem het netwerk dan opnieuw (stap 2).
De probe zegt dat de dataset is afgekapt, of de verkeerde lengte heeftEen lange tekst die je plakt, kan onderweg een stuk kwijtraken. Plak de dataset nog een keer.
De app toont de probe nietDe telefoon zit op een andere wifi, of op een gastnetwerk dat apparaten van elkaar gescheiden houdt. Typ het adres uit status.
De app zegt dat de probe een sleutel heeft die deze iPhone niet heeftEen andere telefoon heeft de sleutel opgehaald, of de probe is helemaal opnieuw begonnen. Druk twee keer op B en tik opnieuw op Haal de sleutel op.
De app zegt dat de probe van zijn Thread-mesh af isHij heeft een dataset en kan het netwerk niet vinden: de dataset is van een ander netwerk, of er is geen router binnen bereik.
Je wilt opnieuw beginnenHoud de knop B tien seconden ingedrukt.

Goed om te weten