Det blir lättare och lättare att utforska den digitala infrastrukturen, och också mer och mer intressant när mer och mer av det vi gör medieras av digital teknik.
På årets upplaga av den utmärkta konferensen med det jobbigt pretentiösa men nu etablerade namnet "The conference" var det ett roligt föredrag om den fysiska internetinfrastrukturen, som finns att se även i efterhand.
Artiklar om den digitala infrastrukturen fortsätter att dugga tätt. I inlägget om mjukvarudefinierad radio skrev jag om Wired-artikeln om hemlarm, och i veckan skrev Ny Teknik om en rapport som handlar om hur trafikljus funkar, och hur lätt man tar kontroll över dem.
Jag samlar bokmärken om den digitala infrastrukturen under etiketten digital_infrastructure.
För ett tag sen läste jag om all hemelektronik som kommunicerar på 433,92 MHz och köpte en trådlös termometer och en NEXA-strömbrytare. Kjell & Co tillhandahåller sen allt som behövs för att börja experimentera, dvs en Arduino och en sändare. De har mottagare också, men det kändes självklart att utnyttja sin RTL-SDR i stället, eftersom man då får en bra överblick över vad som händer. Det går säkert att lyckas med en separat mottagare, men jag tror att man måste veta väldigt mycket mer först. I GQRX eller SDR# ser man allt som händer.
Kopplingarna i det här projektet är enklare än nånsin, och underlättas också av att jag inte bryr mig om att koppla in en antenn -- jag ska bara sända något tiotal meter.
SDRen gör att man kan spela in ljud för felsökning, och när man har lärt sig hur signalen kodas går det rätt lätt att se vad det är som skickas.
Mitt projekt bygger på att jag hittade allt grundarbetet -- utmärkt kodat och förklarat av Joakim Wesslen. Han har både en översikt över tekniken, och bra mjukvarubibliotek som fungerar direkt.
Så här ser signalerna ut som man ska jobba med:
Jag som alltid brukar säga att man kan strunta i att lära sig om ettor och nollor när man lär sig om datorer -- här får jag igen...
Signalerna till och från strömbrytaren kodas på det här sättet, och det skickas ca 1000 bitar information i sekunden.
Hur stämmer då principen med verkligheten? När jag kör programkoden och sänder till min SDR så kan jag spela in signalen, öppna i Audacity och zooma in. Då ser det ut så här:
En "etta" är ju en puls med en (mycket) kort paus, och en nolla en puls med en lång paus.
Tidslinjen är i sekunder, så man ser att det går fort. För att få en uppfattning har jag spelat in ljudet av signalerna. För att öka överföringssäkerheten skickas varje uppsättning ettor och nollor fem gånger efter varandra. Det syns tydligt på bilden.
Den enda riktiga svårigheten blir att ta reda på ID-numret för just den NEXA-fjärrkontroll jag har. Det visar sig att de har ökat ID-strängen till 52 bitar. Det motsvarar att kunna ha 4 biljarder (4x10^15) olika fjärrkontroller. Det antalet gör att det i praktiken är omöjligt att köra igenom alla kombinationer för att pröva sig fram till att kunna styra en viss apparat.
Signalen som NEXA-fjärren skickar är inte alls lika tydlig som den som koden i Arduinon genererar:
Men den här sekvensen tolkar jag som 110100110. På det här sättet kan man relativt snabbt gå igenom alla 64 bitar som totalt ingår i signalen, där de första 52 efter den speciella synk-signalen är själva IDt.
Har man ID för en apparat kan man kontrollera den. För mig som inte vet något om signalbehandling blir det till att göra på det här sättet, men nästa steg blir att leta upp programkod för att göra det automatiskt. Jag kan slå vad om att nån redan har skrivit det. Och det otroliga med digital information är ju att om nån har löst det så går tillämpningen att klona var och när som helst.
Kommandona för att slå på och av strömbrytaren finns i Joakim Wesslens kod, och nu är det bara att kombinera med valfri sensor, och så kan man styra i stort sett vad som helst.
Även om man inte har några stora avstånd mellan Arduino och strömbrytare så kan det här vara en bra lösning, eftersom man helt skiljer svagströmmen från starkströmmen, men ändå kan jobba med vanliga hushållstillämpningar, typ lampor, maskiner eller annat som kopplas till ett eluttag.
/Simon
Comments