 Wir haben uns eine Frage gemacht, was wir denn machen wollen. Ich habe der Ray hat gestern diese formschöne fernsteuerbare Funksteckdose aus dem Media Markt mitgebracht. Oder alternativ ein Ferntermometer, das Temperaturen überträgt. Wir können uns das angucken. Oder was anderes, was irgendjemand einen Vorschlag hat, das war nur meine Idee. Das ist ein Workshop und kein Vortrag. Wir können ruhig was sagen. Ja, ich habe vorhin schon mal einen Gipp repositorier erzeugt, das ist aber noch leer. Aber im Großen und Ganzen bin ich der Meinung, dass das nichts davon schwarze Magie ist und Rundprobieren im Zweifelsfall immer besser ist als Stopide irgendwelche Sachen probieren. Nein, wir können auch noch mal irgendwie FM-Dekut demodulieren, wenn ihr das wollt. Deswegen frage ich, was der Plan war. Oder wir haben auch einen Experten, wenn wir im GNU Radio Blöcke schreiben wollen, können wir auch machen. Weißt du? Ja, also ansonsten fangen wir halt mal mit der Steckdose an. Hier habe ich mir auch angeschaut, dass es letztendlich das gleiche Protokoll, was wir in München auch haben. Das ist bei den All eigentlich eh immer das gleiche. Es hat eine typische Fernbedienung mit vier Knöpfen an, vier Knöpfen aus und einem fünf DIP-Schaltern zum Einstellen einer Adresse. Ich glaube, die, die wir hier mitgebracht haben, ist auf D, genau. Das sieht man jetzt natürlich nicht, haben wir irgendwie eine Lampe oder irgendwas, was wir jetzt anstecken können, dass man sieht, ob es an oder aus ist. Nee, nix. Keiner daran gedacht. Gut, der Grundplan ist, dass man... Also wie mache ich so was, wenn ich jetzt mal gucken will, was es tut? Der Plan ist ja, dass man letztendlich auch selber machen könnte. Ja, also ich nehme irgendein Device, mit dem ich das empfangen kann. In dem Fall nehme ich mein USRP mit irgendeiner Antenne. Das ist so ein Lock Periodic für 900 MHz bis 2,6 Gigahertz. Selbst wenn es nicht genau in dem Bereich ist, ist immer noch besser als gar keine Antenne. Bei den RTL-SDRs ist es eigentlich aber so eine kleine Stab-Antenne dabei. Das tut im Notfall auch so eine kleine WLAN-Antenne, die man in seinem HackRF, wenn irgendwer kein Device hat und was zum Spielen braucht, ich könnte das HackRF auch noch irgendwie temporär verleihen. Der Mitspielen-Mark, ihr habt alle was? Also ich hätte auch noch einen RTL-SDR, wenn noch jemand was braucht. Da hab ich allerdings keine Antenne mehr für. Also da ist die Antenne nur, das ist der Kabel. Braucht noch jemand ein Device? Nein? Dann halt nicht. Genau, also man fängt damit an, man nimmt sich das Teil in die Hand, auf den Dingern steht in der Regel drauf. Ah, du hast eine Lampe, du bist der Held. Eine geile Lampe. Ja. Nein, das ist wunderbar. Dankeschön. Du bist der Held. Genau, also auf den Dingern steht meistens drauf, in welchem Frequenzbereich die senden. Auf der hier steht 433,92 Mhz. Das ist unerwartet genau, normalerweise steht dann da 433 drauf. Also 433 oder 866 sind gute Kandidaten für so billige Fernbedienungssachen, zumindest in Deutschland. Wenn es alt ist, dann ist irgendwie auch 40 Mhz. eine Option. Da war früher so ein alter Garagentoröffner zum Beispiel, gibt es da, also der in unserer Arbeit geht auf 40 Mhz. Wenn überhaupt nichts drauf steht, gibt es zwei Möglichkeiten, entweder aufschrauben und reingucken und da notfalls gucken, ob irgendwie ein Quarz drin ist. Und der hat meistens die Frequenz, auf der dann gesendet wird, wenn man Glück hat. Oder was für Produkte, die auch im amerikanischen Raum vertrieben werden, eine recht fähig fähig ist, wenn sie von der FCC abgenommen sind, da gibt es so eine FCC ID. Und damit kann man auf die Webseite der FCC gehen. Und die haben in der Regel extrem ausführliche Dokumentation über die ganzen Messprotokolle, wo die Funkstandards eingehalten sind, die sind alle öffentlich. Also wenn es ein US-Produkt ist und eine FCC ID hat, auf der Webseite der FCC gehen und sich dort den Kram angucken, da gibt es viel Info, also auch zu komplexeren Produkten, wirklich auch so 15-seitig detaillierte Beschreibungen, was das Teil tut. Also das ist jetzt hier allerdings nur für den deutschen Markt. Da steht gar nichts drauf. Da ist nur ein CE-Zeichen drauf und 400, 330. Also dann schauen wir mal, was sich da tut in dem Bereich. Jetzt stellen wir eine Sempelrate ein, die mal ein bisschen größer ist. Ich nehme da immer gerne zwei Megasamples. Je nachdem also RTL-SDR ist, da ist zwei Megasamples Schluss. Bei einem US-RP könnte ich auch 20 nehmen. Aber wir wissen ja ungefähr, wo es ist. Und dann fangen wir einfach an mit einer. Osmo-Com-Sauce und eine Worter. Weil mich gestern irgendjemand gefragt hat, es gibt in GNU Radio Companion im zwei verschiedene GUI Toolkits, nämlich einmal das WX GUI Toolkit und einmal das QT GUI Toolkit. Man kann verwenden, was man mag, aber nur eins. Und in diesem Top-Block hier kann man einstellen, welche GUI man haben möchte. Default ist WX GUI und deswegen verwende ich nur WX GUI Widgets. Aber wenn ich das mische, dann läuft es nachher nicht. Jetzt mache ich hier gleich mal Standard-Multiply-Constinue mit. Wer weiß, ob wir die nachher noch brauchen. Das nutze ich mit 1 multiplizieren. Wenn ich mit 0 multipliziere, geht gar nichts. Dann sage ich einfach mal Mach. Braucht es einen Namen. Davon habe ich jetzt noch gerade keinen Dampf, leider. Also, ich weiß nicht. Also, ich habe auch einen RTL-STR hier. Wenn du noch ein Stück Draht irgendwo auftreiben kannst, dann hast du noch eine bessere Antenne. Was ich jetzt noch machen kann, ich schreibe hier noch unter Frequency. Andersrum. Wir müssen die Frequenz noch irgendwo einstellen. Da habe ich vergessen, da gibt es irgendwie den Variable. 433,92 sagt das Ding. Und schreibe das hier rein. Und so. Jetzt starten. Dann haben wir wieder in der Mitte unseren leichten DC-Peak, der beim USRP wesentlich weniger schlimm ist. Und jetzt drücke ich mal bei der Fernbedienung auf irgendwas drauf, auf On zum Beispiel. Und da sieht man schon, da links daneben, da sendet was. Jetzt können wir hier kurz auf Stopp drücken. Gucken wir mal, welche Frequenz das ist. Das ist 433,84. Also, die Frequenz, die da draufsteht, stimmt nicht so ganz. Das ist jetzt nicht verwunderlich. Wenn man das irgendwie beim billigsten China-Anbieter zusammen schrauben lässt, dann sagen wir 433,85. Können wir das hier anpassen? Ja, es kann natürlich auch die Frequenz von dem, von dem, von dem, die weiß ist. Aber bei so billigen Funksteckdosen würde ich jetzt eher annehmen, dass der Fehler auf der Seite der Funksteckdose liegt. Ich will es aber jetzt nicht ausschließen. Nichtsdestotrotz, wir stellen einfach das ein Wuster, wo wir glauben, dass es ist. Genau. Und jetzt wollen wir uns dieses Signal irgendwie ein bisschen genauer anschauen. Jetzt können wir entweder um das, ich gehe ganz gerne für nochmals annehmen, das ist die Bordline-Sync. Das erbele ich das mal hier. Das ist das Transform-Sync 1024. Ich will nur kurz dazusagen, dass Bordline nicht... Bordline ist nicht. Das sind, glaube ich, die waren letztes Mal nicht da. Ja, das habe ich letztes Mal schon gesagt. Das ist ein separat zu installierendes Linux oder auch Windows Binary von irgendeiner windigen Webseite. Ich wollte es eigentlich nur machen, um das zu sehen. Aber wieso sehe ich da? Sehen Sie nichts, wieso sehen Sie nichts? Die Multiplikate umzusetzen. Naja, du hast recht. Das ist zwar immer noch nicht wirklich genug, aber das sollte reichen. So, wenn ich jetzt hier stopp mache Ja, aber das Bordline mag das irgendwie nicht so gerne. Also, ich mache da hier mal den Konfakter noch ein bisschen höher. Naja, gut, also sieht man das hinten. Also, wenn ich jetzt hier zeitlich reinzume, das hier am Rand sind Millisekunden, dann sehe ich, sieht man das hier so. Strich, kein Strich, Strich, kein Strich. Verschiedener Länge ist. Das ist, nennt man, das ist die simpelste Art von digitaler Übertragung. Das habe ich letztes Mal schon gesagt. Das ist halt on off key. Also, entweder er sendet was oder er sendet nichts. Und man kodiert die Informationen dann halt in die Länge der Zeit, wie lange man was sendet und wie lange man nichts sendet rein. Kann ich mir das angucken? Jetzt habe ich hier von einem Strich bis zum nächsten Strich, habe ich hier also einen kurzen Strich kurzer Strich, lange Lücke, relativ oft. Und dann habe ich dafür langer Strich und kurze Lücke. Das heißt, es sieht so aus, zumindest aus den ersten Blick, als dass es eben immer einmal senden, plus einmal nicht senden, immer konstant lang ist und sich eben dadurch unterscheidet, ob kurz gesendet und lang pausiert oder lang gesendet und kurz pausiert wird. Kann man sich jetzt das ganze Signal danach angucken und sagen, wow, es sieht ganz gut aus. Genau, jetzt setze ich das wieder auf 1, weil ich es nicht brauche. Um ein On-Off-Key-Signal zu demodulieren, auf Andrücken, also auf Ausdrücke, damit nicht immer die Lampe angeht. Genau, was man, wir haben ja jetzt gesehen, das ist ein relativ schmales Signal, es ist nur auf genau der Frequenz. Was sich immer empfiehlt, wenn man mit solchen Signalen mit so einem Kram arbeitet, mit einem Filter, der in den restlichen Krams der potenziell außen rum ist, los wird, da irgendwie rein zu packen. Ich will mich hier. Man braucht eine Frequenz, also wie breit der TR-Tiefpass ist. Da kann man ein bisschen rum experimentieren, ich nehme jetzt hier mal 20 Kilo. Der muss natürlich breit genug sein, um die Daten, die da übertragen wird, noch durchzulassen. Bei einem On-Off-Key, ich weiß nicht, hier würden wahrscheinlich auch 2 Kilo Herz reichen, ich weiß es nicht. Und die Transition ist, ab dem Punkt, wo der Filter anfängt zu wirken, bis dahin, wo der Filter quasi die maximale Stärke hat. Das geht nicht einfach nur rechteckmäßig, ab hier ist Schluss, sondern das geschimpfte Brandbreite. Das macht, dass du CPU intensiver wird. Dass du mehr musst, mein Filter rechnen, um das zu machen. Eine gute Faustregel ist einfach halb so breit wie die Cut-off-Frequency. Das sieht man dann. Wenn ich jetzt hier meine normale FFT-Sync hinten anhänge und mir das anschaue, dann sehe ich recht gut, also hier sind meine 20 Kilo Herz und hier unten ist alles, was ich weggefiltert habe. Das ist irgendwie jetzt nochmal 70 dB schwächer, das heißt, das stört mich in meinem Signal überhaupt mich mehr. Davon kriege ich nichts mehr mit. Das ist schon mal ganz gut als Anfang. So, jetzt will ich das demodulieren. Das Simpelste, es gibt zwei Möglichkeiten, so ein Signal zu demodulieren in GNU Radio. Die eine Möglichkeit ist zu sagen, die Amplituden, moduliertes Signal und die Amplituden, die es moduliert sind, sind 0 und 1, also voll und gar nicht. Ich kann jetzt hier einen AMD-Modulator-Block drauf werfen und es kommt auch was hohe und tiefe Level raus oder die simplere Variante ist komplex zu machen. Das ist ein Prinzip, den Betrag dieser komplexen Zahl berechnet, also vielmehr den Quadrat des Betrags, weil den Betrag berechnet man wie sich vielleicht die meisten erinnern können aus Quadrat des Realteils plus Quadrat des Imaginärteils und davon die Wurzel. Aber die Wurzel ist in dem Fall Rechenaufwand, den wir nicht brauchen. Deswegen also eine marginale Performance-Optimierung. Das hatten wir letztes Mal die Diskussion und hier kommt hinten der Betrag raus. Hier kann ich jetzt eine Scope Sync anschließen der ich allerdings sagen muss, dass die noch realen Zahlen rauskommen und wir das anschauen. Nein, ich meine, das ist das Rauschen, das sieht man hier jetzt nicht so super gut. Genau, und wenn ich jetzt hier eine Taste drücke fällt das hier, ist das hier ein bisschen komisch, weil jetzt ist es auf Auto Range gestellt und versucht die Scale natürlich immer auf den Werte-Bereich anzupassen. Wenn ich jetzt im richtigen Moment das Ausschalte dann sehe ich, wenn ich nichts sende quasi nichts los habe, dann geht es hier rauf. Das ist jetzt nicht so super gut zu sehen, aber es tut sich was. Was ich jetzt machen kann, ist, ich will ja wissen, wann er sendet und wann er nicht sendet. Was ich jetzt an der Stelle mache, ist, ich nehme die klassische Methode, die ich dazu und kenne es einfach ein Threshold zu nehmen. Man kann das auch January Slicer machen, aber im Threshold kann man mehr Sachen. Er hat als Output produzierte Nullen oder Einsen und hat zwei Grenzwerte. Der eine sagt ihm, wenn es von Null aus ansteigt, ab welchem Grenzwert er sagt, jetzt ist es ne Eins und der zweite, der Low Grenzwert sagt einem, wenn er es wieder sinkt, unter was es sinken muss, bis er wieder glaubt, dass er seine Null ist. Das ist ein Threshold mit Hysterese. Nicht mit einem fixen Wert in der Mitte. Wenn man sich jetzt gemerkt hätte, was davorhin für Zahlen standen, dann könnte man jetzt auch was draus machen. Wenn ich was drücke, dann sagen wir es auf jeden Fall über 4 Mikro und es ist auf jeden Fall unter 1 Mikro, wenn nichts der Fall ist. Sie hat eine Skala von 1, das muss ja kein Auto. Jetzt sollte hier sieht man, dass es halt zwischen 0 und 1 hin und her springt. Das heißt, wir haben jetzt Nullen, wenn kein Signal da ist und Einsen, wenn ein Signal da ist. Jetzt kann ich das will ich das zum Beispiel in ein Pfeil schreiben, um mir das mal genauer angucken zu können. Dann kann ich hier einfach eine Pfeilsink Nein, nicht Pfeilmeter sonst. Pfeilsink nehmen und das da reinschreiben und muss natürlich auch umstellen dass es auf Float ist. Ja, ich will es eigentlich nicht als Float. Das ist eine tolle Idee. Also sagen wir, das sind ja nur noch Nullen und Einsen. Also sage ich erstmal Float to Char. Viel schöner viel schöner, wenn ich das als Charakter in dem Pfeil habe. Dann muss ich noch ein Pfeil dafür vergeben. Dann nehme ich mal kurz was auf und kann mir dann ein Pimerpfeil, was das in Less vielleicht nicht so gut. Dann habe ich einen Text-Damp an. Das sind halt erst ganz viele Nuller. Dann kommen irgendwie Einsbytes. Dann kommen ganz viele Nullbytes. Dann kommen wieder ganz viele Einsbytes. Wenn ich das irgendwie in einem Format haben möchte Nein, das wollte ich gar nicht. So dass ich nicht mit Nullen und Einsbytes sondern halt mit Askinullen und Einzelhandtiere. Da wird es irgendwie ein bisschen handlicher wird. Das ist nicht wirklich nötig. Aber mir gefällt das. Das ist an der Stelle ja nicht so wirklich genau, der kann keinen Byte hinzufügen. Also machen wir das hier auf der Float-Seite und addieren einfach 48 dazu. Dann haben wir 48 ist der Wert für eine ASCII Null und die ASCII 1 ist praktischerweise die 49. Mach ich das nochmal. Da wird es nochmal. Ach so, jetzt kann ich jetzt auch mit dem Less drauf schauen. Und sie halt hier Nullen und irgendwo wenn ich dann danach suche auch irgendwann eine Eins. Was wir jetzt natürlich noch nicht wissen ist welche Datenrate das hat. Also wir haben da jetzt mit ich habe da jetzt mit 2 Megasamples auf dieses Teil losgelassen. Mein Less ist etwas überfordert, damit die Eins zu finden. Ja, so lange Zeilen mag das Teil nicht so super gern. Wir wissen natürlich noch nicht wie viel Einigkeit das gesendet wurde. Die offizielle Methode dafür das in GNU Radio zu machen ist oder überhaupt nennt sich Clock Recovery. Dazu muss ich natürlich grob wissen, wie viele was für eine Senderrate das hat. Und dann gibt es theoretisch diesen Block, der mir das dann auch klein macht von der Datenmenge. Und halt pro Zeitraum nur noch ein Symbol. Ich muss jetzt dazu sagen, ich habe die letzten 5 Stunden damit zugebracht zu versuchen diesen Block zu laufen zu bringen und das gelingt mir nicht. Dann rausgefunden, dass zumindest in meiner GNU Radio-Version auch wohl auch noch irgend einen Back hat. Der ist irgendwie in was 571 gefixt. Aber das Schöne ist ja, das ist ja alles Software und wir haben das jetzt in ein Pfeil geschrieben. Was machen? Nur der Less ist aber so viel zu Software. Ein wirklich sehr simples Palsenscript geschrieben oder zusammen kopiert, sagen wir es mal besser. Dass einfach die ganze das Pfeil einliest, komplett. Also das hoffentlich nicht sehr viel größer als dann das Ram, aber das sollte nicht optimiert. Dass die ganzen Bits durchgeht und schaut, also die ganzen Bytes. Aber ein Byte ist ja ein Input-Bit an der Stelle. Schaut, ob es das gleiche ist wie vorher und wenn ja, dann einfach den Counter erhöht und wenn nein, dann sagt er, dieses Zeichen kam jetzt endmal. Im Prinzip ein RunLength Encoding und sagt mir dann, wenn ich es aufrufe, sagt mir, jetzt habe ich hier 1.200.000 0.000 gehabt, also die Zahl dahinten ignoriert die Male-Tempore. Dann eine, dann 591.000 dann 1.925.000 dann 598.000 1.000 und so weiter. Sieht man, dass die Längen also das Bit dazwischen ignoriert das Male-Tempore. Das sind die Längen von 0.000 und 1.000 Folgen in diesem Bereich. Und jetzt kann ich sagen, das sieht so aus, ist die kürzeste Länge 600 ungefähr und die längere Länge ist 2.000 ungefähr oder vielleicht 1.900 eher. Das ist ungefähr 3-mal so lange wie das. Es gibt jetzt die Fälle, wo es andersrum ist, wo die 1 ein bisschen 1.900 ungefähr lang ist dann kann ich in meinem das wollte ich wirklich nicht die Länge anpassen ihr wollt den Blockgraf noch mal sehen dahinten oder wie so vielleicht wir haben nur gerade mal wegen den Parabitern die über den Flashboot also das müsst ihr am besten angucken, was bei euch an der Stelle rauskommt, deswegen hab ich hier auch eine hatte ich hier das ist gerade die Bedeutung wenn das dann geht es auf 1 dann geht es auf 0 Nein, das Signal ändert sich ja wenn das Signal sagt initial ist es bei 0 wenn es größer als High ist dann sagt er jetzt ist es bei 1 und wenn es bei 1 ist, muss es niedriger als low sein um wieder als 0 also der Wechsel von 0 zu 1 passiert wenn es über High steigt wenn es zu 0 passiert wenn es unter low sinkt ein Threshold mit höchst der Rese halt Schmittträger genau also das ist halt wahrscheinlich könnte man es auch einfach in der Mitte teilen aber ich bin an der Stelle lieber ein bisschen vollkommen sinnvoll das ist auch eine Möglichkeit eine Schwundregelung zu realisieren also wenn das die Namen spariert das ist nicht bekannt um das innen halt von GNU Radio Companion zu machen also du könntest im Zweifelsfall das wäre dann der Workshop der noch fortgeschrittene der jetzt nicht mehr stattfinden wird hier also kannst du natürlich einen eigenen GNU Radio Block schreiben und in diesem solche Logik implementieren es gibt für gerade on off keying also für so simple Modulationsarten gibt es nicht so furchtbar viel in GNU Radio das geht die Sachen die es da gibt das ist eher die Advancen Sachen weil die anderen Sachen das Feld und die Kategorie das kann man eigentlich selber machen wenn man das braucht und das ist halt wenn man das in einem Python implementiert halt auch nicht so schlimm langsam wohingegen die Sachen die man in C implementieren muss die gibt es dann schon eher in GNU Radio drücken klar mehr Signale das war jetzt übrigens aus für die Lampe genau also jetzt habe ich halt in dem Skript noch was geschrieben und es halt versucht ich habe eine Länge eingestellt von 600 und dann sagt er mir halt wie oft diese Länge da reintasst in diese Zahl dann habe ich irgendwie managbarere Sachen das könnte man sich ja auch autodetecten da war ich nur zu faul dazu jetzt habe ich ja also meine Abfolge von 1 und 3 und jetzt kommt das das encoding was die da verwenden ist tatsächlich ein ein bekanntes und dokumentiertes encoding ich kann mir nun nie merken wie das heißt HX2262 das unerwarteterweise nicht nur 2 States hat sondern 3 States also es kennt für jedes übertragende Bits sozusagen den Shadows 0 den Shadows 1 und den Shadows F für Floating frag de facto tut sowohl diese Steckdose als auch die Steckdose die wir im Club haben den Floatingzustand wiederum nicht benutzen das ist eigentlich völlig restelhaft ist warum sie das tun aber nun ja nein was was hier passiert ist er nimmt so eine 4er Gruppe und kurz, lang also kurz, lang, kurz, lang ist 0 Bit lang, kurz, kurz, lang ist ein 1 Bit und lang, kurz, lang, kurz ist ein Floating und der vierte davon der vierte Variante wird nicht benutzt wobei das Floating ja de facto auch nicht benutzt wird also man sieht es wenn ich das aufzeichne in dem letzten Paket wenn ich die Taste loslasse kriege ich in der Regel am Schluss diesen Floatingzustand aber der ist ja nett, wenn ich so lange das halte schicke der ja konstant mehrfach das gleiche Paket um das ein oder auszuschalten und das letzte Paket wenn ich loslasse enthält oft diesen Floatingzustand aber das ist uns ja eigentlich völlig egal an der Stelle genau und was man der Kot hier an der Stelle tut ist diese Längen einfach wo ist es denn kurze Versicherung nee, das ist schon der Sendeteil bitte um kurze Verzeihung hier also wenn ich kurz lang, kurz, lang habe dann ist es ein 1 Bit dann kurz ist ein 0 Bit und lang, kurz, lang, kurz ist ein Floating Bit und im anderen Fall gibt da dieses irgendwas durch Punkte getrennt aus um mir zu sagen, dass das die Coding an der Stelle nicht sinnvoll war und nicht innerhalb der Spec und er triggert die Ausgabe daran dass er eine Lücke findet, die irgendwie deutlich länger ist also wenn ich 33 Perioden lang einen 0 Bit bekommen habe dann ist offensichtlich das Kotwort zu Ende und dann sehe ich hier dann bekomme ich für das was ich aufgenommen habe diesen Bit Stream und am Schluss noch ein nicht dekondiertes 1 Bit zurück das sind jetzt hier 5 1er dann 301er1 wenn wir uns jetzt erinnern ist hier drin ein 5 DIP Schalter um einen Kot einzustellen was passiert jetzt wohl irgendwie den 2. und den 4. auf 0 Schalte und das gleiche nochmal mache Wetten werden noch angenommen hier ist ein sauberes da sind das hier das ist ein sauber dekondierter Fall es ist relativ offensichtlich dass die ersten 5 Bits offensichtlich diese Adresse sind, die ich hier eingestelle ja das sind jetzt 5 Zustellen 5 Bits die sind nicht wirklich schwierig zu Brutforzen im Zweifelsfall also wenn ich weiß, dass jemand so eine Steckdose hat dann kann ich die auch wenn ich das selber sende relativ rasch durchprobieren jetzt habe ich hier noch das sind diese 5 Bits jetzt habe ich noch China 1 und China 1 wir können das jetzt ich kann das jetzt natürlich anfangen ich habe hier insgesamt 8 Tasten zur Verfügung kann ich die alle drücken wir können das auch einfach machen wir haben genug Zeit glaube ich locker ich drücke also mal ich habe angefangen mit der Ausreihe ABCD das hatten wir noch vielleicht irgendwie ein die mit den F sind die immer wenn man die Taste loslässt aber ich habe hier den A ausgedrückt dann B aus dann C aus und dann D aus was einen vermuten lässt dass man vermutlich alle 4 Steckdosen gleichzeitig umschalten kann ich weiß es ehrlich gesagt nicht und danach habe ich die passenden angedrückt das sieht man dann hier auf den letzten Bit da hier, wenn B aus ist das letzte Bit immer 1 und B an das letzte Bit immer 0 und dafür das Beta vor 1 so damit hätten wir das eigentlich damit habe ich also dieses dieses Ding quasi mehr oder minder völlig verstanden jetzt kommt natürlich der Teil ich will das irgendwie selber ein oder ausschalten da gibt es 2 Lösungen die billige Lösung ist ich packe einfach hier nach meiner Osmo-Konsource oder nach meinem Tiefpass Filter eine File sinken und nehme das File einfach auf so wie es über die Luft kam klassische Replay-Attacke und dann nehme ich ein naja gut, das ist jetzt hier nimm halt eine grundsätzlich einfach nur eine Osmo-Konsync zum Senden und eine File-Source und stecke hier mal ein File rein und schicke es daraus und dann die File-Source hat noch diesen hübschen Parameter Repeat gleich Yes die so viel sagt, wenn das File zu Ende ist, fängt wieder von vorne an das heißt, der sendet dann konstant dazu brauche ich, das geht natürlich mit einem RTL-Stick nicht mehr, weil der kann nicht senden aber mit einem HackRF oder mit dem USRP geht das wunderbar und das funktioniert auch, ich habe jetzt so leider gerade kein Recording davon, da hast du irgendwie so kannst du es gerne probieren wenn du nur ein G auspaket hast währenddessen natürlich kann ich das auch einfach selber generieren ich warb es ja jetzt verstanden das habe ich also in dieses genau, das ist im Prinzip das gleiche da gibt es dann nur habe ich ja noch eine Funktion geschrieben in der ich dann auch schon brav die passenden Parameter eingeben kann nämlich der Kot dieser 5-Dip-Schalter-Kot als Zahl welche Steckdose A, B, C, D und True oder False für ein oder aus die haben mir das dann eh wieder in diesem HX2262 Format encoded das ist jetzt allerdings auch keine große Kunst wenn ich hier irgendwie ein 1-Bit habe dann bitte das, bei einem 0-Bit bitte das und float habe ich gar nicht erst implementiert und hinten hängt dann noch ein 1-Bit an und halt 0 als Pause damit ich das sich abgrenzt von dem nächsten Paket das ganze schicke ich dann einfach in dem Fall per UDP irgendwo hin an localhost.1.3.4 und mach dann no hab hier ein localcent wenn etwas kompliziert aussehen in floatgraph ist er aber gar nicht ich hab eine UDP Source die listent auf dem port 1.234k also 1.234 wo die Pakete reinkommen wandle sie in float weil die ja alles lieber mit float macht was ich hier noch mache ist das umgekehrte in dem Decoder habe ich eingestellt dass die Länge in Einheit 600 bits ist hier mache ich das im Grunde genommen das gleiche das kann ich einfach ausrechnen ich habe eine Zeit pro Symbol also ein Symbol das ich sende ist 270 Mikrosekunden lang und da muss ich dann sage ich halt die Samplerate mal die Zeit pro Symbol gibt mir dann um wie viel fache ich aufblasen muss ich sende jetzt hier nur mit 500 Kilo statt mit mit 2 Mega deswegen ist das ein Viertel zu klein wie die 600 die ich vorhin eingestellt habe könnte hier auch mit mehr senden aber das lasse mir das hier anzeigen was ich sende was noch ist ich muss das ja also das sind jetzt nur Nullen und Einsen ich muss das ja noch quasi ein Signal und nicht Signal verwandeln und ein Signal konstant auf einer Frequenz ist ein Sinus oder ein Cosinus multipliziere also meinen Sinus mit diesen Nullen und Einsen wenn ich es mit Nullen multipliziere ist kein Signal da aber ich muss das in eine was sucht denn die Variable darunter so was um das in eine komplexe Zahl zu wandeln immer setze ich den Imaginärteil auf Null zu multiplizieren und dann habe ich hier meinen Output und der geht dann letztendlich in die Osminkom Sync die mit der Samplerate auf der eingestellten Frequenz sendet so und wenn ich das dann schmeiße was zwei Frequenzen mein Sinus ist komplex der ist auf Null Hertz was bedeutet also der sich auf der Basebandfrequenz sende weil die Frequenz ja das USRP mischt es dann ja hoch vor dem senden ich habe mich über die Tür gelassen der Cosin aber das ist ja ein Komplex also ein real unimaginiert halt so was ein bisschen raus und runter geht na nein weil wir uns im komplexen bewegen ist das an der Stelle überhaupt kein Problem jetzt der Betrag davon ist konstant eins es wird jetzt nicht gehen weil keine Daten über UDP reinkommen das ist blitzend just das tue ich gerade nicht das ist konstant eins und dann geht es nachher konstant neu warum hast du da überhaupt die Signals raus in das Null gekriegt damit ich es auf eine andere Frequenz schieben kann wenn ich will was weiß ich, ich weiß es nicht mehr wenn du mehrere Frequenzen willst macht sich ja schon Sinn naja du hast es schon ich weiß es ist an der Stelle eigentlich unnötig ja aber wenn du feststellst dass morgen das Kindergerät in der Frequenz gedrichtet ist ist das natürlich praktisch oder das ja du hast es schon ne gut beim Senden ich weiß gar nicht ob die Dinger beim Senden ein DC Offset auch produzieren das weiß ich gar nicht ich glaube nicht aber du hast natürlich völlig recht ich habe gerade irgendwie um die Ecke gedacht das ist nicht nötig dann ist es nötig wenn du ein etwas kompliziertes Signal hast aber für die Simpler und Aufkigung wäre das wahrscheinlich gar nicht nötig dann würde es reichen von hier aus direkt da rein zu gehen wenn ich es ins Komplexe gewandelt habe nun gut ändert nichts ran, dass es funktioniert genau jetzt muss ich hier meinen Dings das geht es natürlich nicht 31D mein Aus ist Schuh kann das sein Fernbedienung ja wunderbar also oben im Hachcenter ging es noch einmal mit Profis arbeiten aber man sieht zumindest grundsätzlich dass das Ding hier bereit ist irgendwie Sachen zu senden ich muss zugeben ich habe es heute und ich habe es gestern Abend probiert bevor ich ins Bett gegangen bin wenn es schon noch ein bisschen daneben war ja aber ich habe hier auch hier ist auch 8 433,84 das war doch das wo wir auch empfangen haben ja gut aber das sollte bei dem Empfänger keinen keinen Unterschied machen ich habe einen schönen Freund in der Bibliostelle auf einem anderen Kanal ja das war hier in dem Sender aber zum einen habe ich es da wieder zurückgestellt sonst hätte ich es jetzt gerade nicht ausschalten können na ja gut wie sie sehen sehen sie, dass es nicht funktioniert ja das Ding hier ist von der Sample Rate völlig unabhängig auch wenn da oben noch die Länge drin steht kopiert aus dem alten zum senden verwendet er die nicht, sondern die ist nur hier drin aber wir können natürlich dann aber das soll es eigentlich nicht gewesen sein und wenn es irgendjemand ich werde das jetzt in den letzten 3 Minuten nicht gebackt bekommen, ich weiß es leider nicht warum es gerade nicht geht mir jetzt leid das ist der AXT X der beschriftete stimmt gestern habe ich es mit dem Hacker F gemacht nicht mit dem USRP der beschriftete und das ist nur der AXT ich schraub es mal ans andere vielleicht liegt es daran der AXT steht es nur und die beschriftete ist der AXT ok diese Konnektoren nerven die antenne hast du gedehnt du musst dann auch die USRP ich gebe mir doch mal kurz das Hacker F mit dem habe ich es gestern probiert mit dem muss es gehen da ist ja schon eine antenne dran das muss ja auch gehen das will mich nicht war das irgendwie von euch oder das ist irgendwie ein anderer hier da hinten lacht jemand ja besser es ist unabhängig davon es ist unabhängig davon es ist unabhängig davon man kann ja gar nicht die Daten über un With Nun ja, das ist der Teil. Wir können irgendwie gerne noch rumbangen. Unsere Zeit ist hier aus. Wenn irgendjemand noch Interesse hat, können wir drüben uns in dem Shared Space hier in Horken spielen. Es gibt auch noch dieses Temperaturteil, der verwendet ein leicht anderes Protokoll ist aber auch nicht, also auch ungefähr in gleichen Frequenzen, aber ein leicht anderes Protokoll, war aber auch irgendwie in einer halben Stunde zu entschlüsseln, sich auch einfach hinsetzen auf die Bits gucken und dann mal so eine Binärzahl in Dezimal wandeln und feststellen, oh, das ist die Celsius-Temperatur mal 10. Nun gut, ich hoffe, es hat euch gefallen, ihr habt was gelernt.