home
Zicht op Andijk
Hoofd
pagina
DCF77
Ontvanger
Si RF
Module
Useless
Machine
AIS
Ontvanger
GPS
Ontvanger
Uniden
69 XLT
Metaal
Detector

Si4432 en Si4463 Transceiver Modules

Tegenwoordig zijn er van die leuke zenders en ontvangertjes te koop die ook gebruikt worden in draadloze deurbellen, draadloze thermometers, lichtschakelaars met afstandbediening, deuropeneners etc. Deze signalen vind je vaak op de 315, 433 of 868 MHz. Zoals je kan zien is mijn buurt vergeven van de signalen. Mjammie!

Deze RF modules kosten slechts een paar euro en daarmee kan je ASK, OOK of FSK signalen ontvangen of verzenden. Dat biedt mogelijkheden want als ik naar de signalen kijk moet het toch wel heel eenvoudig zijn om deze te decoderen. En dan met de zender dat signaal weer uitzenden. Het zou toch grappig zijn als ik de deurbel van de overburen kan laten afgaan. Een soort belletjelellen 2014 vanaf je mobieltje. Of een paar keer het licht aan en uit doen. Heel onschuldig allemaal. En doet me denken aan vroeger toen ik met een afstandbediening de televisie van de buren op een andere zender zette. Beetje kinderachtig maar wel grappig.

Je kan jezelf afvragen of het grappig blijft. Het wordt wel vervelend als door onbekenden de garagedeur geopend wordt, of de auto ontgrendeld of het goedkope bouwmarkt alarm wordt uitgeschakeld. Het kan allemaal met hetzelfde gemak. En daarmee is wel duidelijk wat voor risico's je loopt als je van die draadloze apparatuur in gebruik hebt. Hieronder ga ik laten zien wat er kan gebeuren.

Uiteraard bestelde ik een paar van die zendertjes uit China. 5 setjes voor 315, 5 setjes voor 433 en dat totaal voor €3,75. Het werkt maar verwacht geen grote reikwijdte of schoon signaal. Wat je op de input aanbiedt wordt uitgezonden. Wat wordt ontvangen wordt op de uitgang gezet. Zonder filtering dus lekker vuil.
Er zijn ook wat luxere modules te koop die wel meer geld kosten maar veel meer kunnen . Zo'n module is de Si4432. Dit is een zend-ontvanger in een module met een frequentie bereik vanaf 240MHz tm 960 MHz. Er zit wat pre-amble herkenning in en een clocksignaal op de ontvangen data. Regelbare output tot 100mw en kan daarmee in een straal van 1,5 km signalen uitzenden en op de buitenantenne waarschijnlijk nog meer. En dus bestelde ik twee van die modules voor maar liefst 11 euro. Zaten nog antennes bij ook. Hoe is het mogelijk. En wordt thuis afgeleverd. Bij de Si chips moet er nog wel een controller tussen. Vraagt dus meer hardware maar vooral specifieke software. Maar met die software kan je natuurlijk veel meer doen. Een Arduino klusje gaat dat worden.

De Si modules bleken wel een beetje klein. Dus moest ik een breakout-board maken omdat er anders niet mee te werken is. De aansluitingen passen precies op een SOP24 breakout printje. Dus draadjes aan de module en vastzetten op de print. De eerste was niet zo heel netjes maar werkt. De tweede ziet er keurig uit.
Het euromuntje laat duidelijk zien hoe klein het allemaal is.

De hardware is klaar. Nu moet ik gaan programmeren. Dat bleek gelukkig niet zo moeilijk. De Si4432 is goed gedocumenteerd en eenvoudig via SPI aan te sturen. De juiste settings moet je berekenen in een spreadsheet die de leverancier op zijn website heeft staan. Deze settings via de controller in de module laden en vervolgens gaat de ontvanger open. Als dat allemaal gelukt is komen de signalen op clock op de uitgang en dus is het eenvoudig geworden om zelf de signalen verder te decoderen.
Ontzettend leuk dus voor het deurbel project. Maar eigenlijk wil ik een AIS transponder bouwen maar dat ligt buiten het frequentiebereik van deze transceiver.
Dus deze bewaar ik voor later en stap nu even over op een andere module.


Si4463 Transceiver Module

Deze module is geavanceerder dan de Si4432 en heeft een frequentiebereik vanaf de amateurband tot diep in de GSM band.
Op het internet is deze chip op een breakoutboard voor €6,40 verkrijgbaar en zou standaard ingesteld staan op de 433 MHz band. Het gaat mij om het frequentiebereik.
De datasheet zag er erg moeilijk uit en voorbeelden zijn er bijna niet. Dat kan nog een leuke klus worden. Met de juiste aansturing moet je kunnen ontvangen en zenden vanaf 142MHz tot 1050MHz.

En omdat er al veel protocollen zijn ingebouwd zou het makkelijker moeten zijn om te decoderen. FSK, OOK, GFSK etc zit er net als bij de Si4432 allemaal in. Eigenlijk kan deze hetzelfde als de Si4432 met een paar grote verschillen. Het frequentiebereik is een stukje groter, de gevoeligheid zou beter zijn en de mogelijkheid om over 64 kanalen te hoppen zijn in milliseconden zijn wel de belangrijkste. Dat hoppen per kanaal gaat in microseconden en is dus interresant omdat je daarmee virtuele transceivers kan maken. Je kan zo snel langs de kanalen hoppen en zoeken naar een pre-amble dat het lijkt alsof je op meerdere kanalen tegelijk aan het luisteren ben. Of zenden. Handig voor AIS die op twee kanalen tegelijk uitzend. Maar wat denk je van meerdere pager kanalen uitluisteren of helemaal gaaf is roaming etc..
Alleen de aansturing van deze module is veel complexer. Gaat ook via SPI maar op een hele andere manier. Bij het zoeken kwam ik veel vragen tegen van mensen die de module niet aan de praat kregen maar helaas vond ik vrijwel geen antwoorden van anderen die de oplossing hadden. Tegen betaling willen sommige wel code beschikbaar stellen. ja ja... Misschien dat door deze lastige aansturing deze krachtpatser nog niet zo populair is bij de hobbyisten. Op eigen kracht dus maar proberen dat ding aan te sturen en elke avond voor het slapen een stukje in de datasheet lezen :)

De leverancier heeft software (WDS3) beschikbaar waarin je alle mogelijke settings kan maken. Dan kan je een header file laten plaatsen die je dan vervolgens in je eigen software kan gebruiken. In de header file staan dan alle juiste settings die je in de module moet laden. Sommige mensen hebben hiervoor ook de voorbeeldcode gebruikt maar dat werd zo complex dat er niet meer uit te komen was. Soms is code zo moeilijk in elkaar gezet. Zal allemaal wel volgens de zoveelste normaalvorm kloppen maar ik snap het dan niet meer. Ik wil gewoon 3 functies. Init, Zenden en Ontvangen. Dat klinkt makkelijk maar het heeft me bijna twee weken gekost om de module in ontvangststand te krijgen. Eerst de crypto van de headerfile begrijpen, dan functies maken om deze header settings in te lezen en te versturen naar de module. En dan de module daadwerkelijk aansturen. Hiervoor heb ik maar een paar standaardfuncties in een Arduino gebakken en na veel meten en debuggen met behulp van een scoop en logic analyser is het allemaal gelukt.

Het daadwerkelijk aansturen van de module is in de datasheet slecht gedocumenteerd en de timing bleek achteraf zeer kritisch. Sommige API calls vragen een wait van milliseconden en na de bootprocedure laat ik zelfs de controller 2 seconden wachten. De datasheet heeft het over milliseconden maar daarmee lukte het mij niet. De module heeft gewoon meer tijd nodig om op te starten.
Maar als dat allemaal gelukt is dan is er geen enkel probleem meer om te ontvangen en zelfs te zenden. Gewoon de header file vervangen en de module gedraagt zich zoals in de WDS3 software geconfigureerd. Ander protocol, bitrate of frequentie? Een klik met de muis. En al snel daarna had ik de OOK data van de hele buurt op mijn scherm staan. De module heb ik maar op een breakout geplaatst want anders wordt het zo rommelig met draadjes.

Hieronder wat OOK signalen die ik op de uitgangen heb gemeten met de scope en de logic analyzer. Duidelijk is het datakanaal en het clocksignaal.

Nu nog decoden wat de herkomst is. Wat zijn temeperatuurmeters, schakelaars, deurbellen, bandenspanningmeters, deuropeners..
En dan een zinnige toepassing bedenken zoals OpenSluitGarageDeur, BeweegZonwering, HuisAlarmAan, LampAanLampUit etc.

Laatste update 2 feb 2015. Wordt niet meer vervolgd

 
Webdesign door mezelf en alle content is auteursrechtelijk beschermd.