INHOUDSOPGAWE:

RF433 Ontleder: 7 stappe
RF433 Ontleder: 7 stappe

Video: RF433 Ontleder: 7 stappe

Video: RF433 Ontleder: 7 stappe
Video: bikin saklar lampu dengan remot bisa dimatikan jarak jauh 2024, Julie
Anonim
RF433 Ontleder
RF433 Ontleder
RF433 Ontleder
RF433 Ontleder

Hierdie instruksies skep 'n meetinstrument om RF 433MHz -transmissies te ontleed, wat algemeen gebruik word vir laekragkommunikasie op afstand in tuisautomatisering en sensors. Dit kan waarskynlik maklik aangepas word om 315MHz -uitsendings te werk wat in sommige lande gebruik word. Dit sou wees deur die 315MHz weergawe van die RXB6 te gebruik in plaas van die huidige 433MHz.

Die doel van die instrument is tweeledig. Eerstens bied dit 'n seinsterkte meter (RSSI) wat gebruik kan word om dekking rondom 'n eiendom te ondersoek en swart kolle te vind. Tweedens kan dit skoon data van senders opneem om die data en protokolle wat deur verskillende toestelle gebruik word makliker te ontleed. Dit is handig as u probeer om versoenbare byvoegings vir bestaande eenhede te ontwerp. Normaalweg word data -opname bemoeilik deur die agtergrondgeraas in ontvangers wat baie verkeerde oorgange produseer en dit moeiliker maak om die ware transmissies te ontdek.

Die eenheid gebruik 'n RXB6 superhet -ontvanger. Dit gebruik die Synoxo-SYN500R-ontvangerskyfie met 'n analoog RSSI-uitset. Dit is effektief 'n gebufferde weergawe van die AGC -sein wat gebruik word om die wins van die ontvanger te beheer en gee seinsterkte oor 'n wye reeks.

Die ontvanger word gemonitor deur 'n ESP8266 (ESP-12F) module wat RSSI sein omskakel. Dit bestuur ook 'n klein plaaslike OLED -skerm (SSD1306). Die elektronika kan ook tydsberekening oor data -oorgange opneem.

Opneem kan plaaslik deur 'n knoppie op die eenheid veroorsaak word. Gevangde data word in lêers gestoor vir latere analise.

Die ESP12 -module bestuur 'n webbediener om toegang tot die lêers te gee, en opnames kan ook van hier af geaktiveer word.

Die instrument word aangedryf deur 'n klein LIPO -herlaaibare battery. Dit gee 'n redelike tydsduur en die elektronika het 'n lae rustende stroom wanneer dit nie gebruik word nie.

Stap 1: Vereiste komponente en gereedskap

Belangrike nota:

Ek het gevind dat sommige RXB6 433Mhz -ontvangers 'n nie -funksionele RSSI -uitset het, alhoewel die AGC en die res van die funksies goed is. Ek vermoed dat daar moontlik 'n paar kloon Syn500R -skyfies gebruik word. Ek het gevind dat ontvangers met die etiket WL301-341 'n Syn5500R-versoenbare chip gebruik en dat die RSSI funksioneel is. Hulle het ook die voordeel dat hulle nie 'n skermblikkie gebruik nie, wat dit makliker maak om die AGC -kondensator aan te pas. Ek beveel aan om hierdie eenhede te gebruik.

Die volgende komponente is nodig

ESP-12F wifi module

  • 3.3V -reguleerder xc6203
  • 220uF 6V kapasitor
  • 2 schottky diodes
  • 6 mm drukknop
  • n kanaal MOSFET bv. AO3400
  • p kanaal MOSFET bv. AO3401
  • weerstande 2x4k7, 3 x 100K, 1 x 470K
  • 'n klein stukkie prototipe bord
  • RXB6 of WL301-341 superhet 433MHz ontvanger
  • SSD1306 0.96 OLED -skerm (enkelkleurige SPI -weergawe)
  • LIPO -battery 802030 400mAh
  • 3 -pins aansluiting vir laai
  • Sluit draad aan
  • Self geëmailleerde koperdraad
  • Epoksiehars
  • Dubbelzijdige band
  • 3D -gedrukte omhulsel

Gereedskap benodig

  • Fynpunt soldeerbout
  • Desolder vlegsel
  • Pincet
  • Tang

Stap 2: Skematiese

Skematiese
Skematiese

Die kring is redelik eenvoudig.

'N LDO 3.3V-reguleerder skakel die LIP om na 3.3V wat die ESP-12F-module benodig.

Die skerm en die ontvanger word voorsien deur middel van twee skakelaars MOSFETS sodat hulle af is as die ESP -module slaap.

Die knoppie begin die stelsel deur 3.3V aan die EN -ingang van die ESP8266 te verskaf. Die GPIO5 onderhou dit dan terwyl die module aktief is. Die knoppie word ook gemonitor met behulp van GPIO12. As GPIO5 vrygestel word, word die EN verwyder en die eenheid word afgeskakel.

Die data lyn van die ontvanger word gemonitor deur GPIO4. Die RSSI -sein word deur die AGC gemonitor via 'n 2: 1 potensiële verdeler.

Die SSD1306 -skerm word beheer via SPI wat bestaan uit 5 GPIO -seine. Dit kan moontlik wees om 'n I2C -weergawe te gebruik, maar dit sal nodig hê om die gebruikte biblioteek te verander en sommige van die GPIO te verander.

Stap 3: Ontvanger wysiging

Ontvanger wysiging
Ontvanger wysiging
Ontvanger wysiging
Ontvanger wysiging
Ontvanger wysiging
Ontvanger wysiging

Soos verskaf, stel die RXB6 nie die RSSI -sein op sy eksterne datapennetjies beskikbaar nie.

'N Eenvoudige aanpassing maak dit moontlik. Die DER -seinkonnektor op die eenheid is eintlik net 'n herhaling van die datasignaal. Hulle word aan mekaar gekoppel deur die 0 Ohm -weerstand gemerk R6. Dit moet verwyder word deur 'n soldeerbout te gebruik. Die komponent met die naam R7 moet nou aan mekaar gekoppel word. Die boonste punt is eintlik die RSSI -sein en die onderkant gaan na die DER -aansluiting. 'N Mens kan 'n 0 Ohm -weerstand gebruik, maar ek skakel net 'n bietjie draad. Hierdie liggings is toeganklik buite die metaalbeker wat nie vir hierdie aanpassing hoef te word verwyder nie.

Die verandering kan getoets word deur 'n voltmeter oor DER en GND aan te sluit terwyl die ontvanger aangeskakel is. Dit sal 'n spanning toon tussen ongeveer 0.4V (geen ontvangde krag nie) en ongeveer 1.8V met 'n plaaslike bron van 433MHz (byvoorbeeld 'n afstandsbediening).

Die tweede wysiging is nie absoluut noodsaaklik nie, maar is redelik wenslik. Die AGC -reaksietyd van die ontvanger sal, soos verskaf, redelik stadig wees, en neem 'n paar honderd millisekondes om op die ontvangde sein te reageer. Dit verminder die tydsresolusie tydens RSSI -opnames en maak dit ook minder responsief om RSSI te gebruik as 'n sneller vir data -opname.

Daar is 'n enkele kondensator wat die AGC -responstye beheer, maar dit is ongelukkig onder die metaalbeker. Dit is eintlik redelik maklik om die blikkieblik te verwyder, aangesien dit net met 3 toue vasgehou word, en dit kan waardeer word deur elkeen op sy beurt te verhit en met 'n klein skroewedraaier te werk. Nadat u dit verwyder het, kan u die gate skoonmaak vir hermontering met behulp van 'n soldeervlecht of 'n boor van ongeveer 0,8 mm.

Die wysiging is om die bestaande AGC -kapasitor C4 te verwyder en te vervang met 'n 0.22uF -kondensator. Dit versnel die AGC -reaksie met ongeveer 10 keer. Dit het geen nadelige uitwerking op die prestasie van die ontvanger nie. In die prentjie wys ek 'n snit en 'n skakel na die snit vanaf die AGC -kondensator. Dit is nie nodig nie, maar maak die AGC -punt beskikbaar op 'n pad buite die blik onder die kristal, ingeval 'n mens ekstra kapasitansie wil byvoeg. Ek het dit nie nodig gehad nie. Die vertoning kan dan vervang word.

As u die WL301-341 RX-eenheid gebruik, toon die foto dit met die AGC-kondensator gemerk. Die RSSI -seinpen word ook gewys. Dit hou eintlik niks verband nie. 'N Mens kan net 'n fyn draad direk aan die pen koppel. Alternatiewelik is die twee sentrale springpenne aanmekaar gekoppel en dra beide die data -uitset. Die spoor tussen hulle kan gesny word en dan kan die RSSI na die ekstra een gekoppel word om die RSSI -sein beskikbaar te stel op 'n springuitgang.

Stap 4: Konstruksie

Konstruksie
Konstruksie
Konstruksie
Konstruksie
Konstruksie
Konstruksie
Konstruksie
Konstruksie

Daar is ongeveer 10 komponente nodig buite die ESP-12-module. Dit kan opgemaak word en verbind word op 'n stuk prototipe bord. Ek het 'n ESP -spesifieke prototipe -bord gebruik wat ek gebruik het om die reguleerder en ander smd -komponente te monteer. Dit word direk bo-op die ESP-12-module geheg.

Die boks wat ek gebruik het, is 'n 3D -gedrukte ontwerp met 3 inkepings in die basis om die ontvanger, display en esp module te neem. Dit het 'n uitsparing vir die skerm en gate vir die laaipunt en drukknop wat ingevoeg en met 'n klein hoeveelheid poxyhars vasgemaak moet word.

Ek het 'n haakdraad gebruik om die verbindings tussen die 3 modules, die laaipunt en die knoppies te maak. en bevestig dit dan met behulp van dubbelband vir die ESP en ontvanger en klein druppels epoksie om die kante van die skerm vas te hou.

Stap 5: Sagteware en konfigurasie

Die sagteware is gebou in die Arduino -omgewing.

Die bronkode hiervoor is op https://github.com/roberttidey/RF433Analyser Die kode kan sekere konstantes vir wagwoorde laat verander vir veiligheidsdoeleindes voordat dit saamgestel en na die ES8266 -toestel geblits word.

  • WM_PASSWORD definieer die wagwoord wat wifiManager gebruik wanneer die toestel op 'n plaaslike wifi -netwerk gekonfigureer word
  • update_password definieer 'n wagwoord wat gebruik word om firmware -opdaterings toe te laat.

As dit vir die eerste keer gebruik word, gaan dit in die wifi -konfigurasiemodus. Gebruik 'n telefoon of tablet om aan te sluit op die toegangspunt wat deur die toestel opgestel is, en blaai dan na 192.168.4.1. Hiervandaan kan u die plaaslike wifi -netwerk kies en die wagwoord invoer. Dit hoef slegs een keer gedoen te word of as u wifi -netwerke of wagwoorde verander.

Sodra die toestel aan sy plaaslike netwerk gekoppel is, luister dit na opdragte. As die IP -adres 192.168.0.100 is, gebruik dan eers 192.168.0.100:AP_PORT/upload om die lêers in die datamap op te laai. Hiermee kan 192.168.0.100/edit verdere lêers bekyk en oplaai, en 192.168.0.100 kan ook toegang tot die gebruikerskoppelvlak kry.

Punte om op te let in die sagteware is

  • Die ADC in die ESP8266 kan gekalibreer word om die akkuraatheid daarvan te verbeter. 'N Tou in die config -lêer stel die bereikte rou waardes vir twee insetspannings in. Dit is nie besonder belangrik nie, aangesien RSSI 'n redelik relatiewe sein is, afhangende van die antenna, ens.
  • Die RSSI -spanning na db is redelik lineêr, maar krom aan die uiterste. Die sagteware het 'n kubieke pasvorm om die akkuraatheid te verbeter.
  • Die grootste deel van die rekenkunde word gedoen met behulp van skaalgetalle, sodat RSSI -waardes eintlik 100 keer die werklike is. Waardes wat na lêers geskryf of vertoon word, word teruggeskakel.
  • Die sagteware gebruik 'n eenvoudige staatsmasjien om die opname van RSSI en data -oorgange te beheer.
  • Data -oorgange word gemonitor met behulp van 'n onderbrekingsdiensroetine. Die normale verwerking van die Arduino -lus word tydens data -opname opgeskort en die waghond word plaaslik aan die lewe gehou. Dit is om die onderbrekingsvertraging te verbeter om tydmetings so getrou moontlik te hou.

Konfigurasie

Dit word bewaar in die esp433Config.txt.

Vir RSSI -opname kan die steekproefinterval en -duur opgestel word.

Vir data -opname kan die RSSI -snellervlak, aantal oorgange en maksimum duur opgestel word. 'N Geskikte snellervlak is ongeveer +20dB op die agtergrond, geen seinvlak nie. Met 'n pulsWidths -string kan 'n eenvoudige kategorisering van pulswydtes ook makliker ontleed word. Elke aangetekende lyn het pulseLevel, breedte in mikrosekondes en die kode wat die indeks is in die pulsWidths -string wat groter is as die gemete breedte.

CalString kan die ADC -akkuraatheid verbeter.

idleTimeout beheer die aantal millisekondes onaktiwiteit (geen opnames) voordat die toestel outomaties afsluit. As u dit op 0 stel, beteken dit dat dit nie tydsduur nie.

Die drie knoppie -instellings beheer wat kort medium en lang knoppies druk.

displayUpdate gee die plaaslike skermverfrissingsinterval.

Stap 6: Gebruik

Die eenheid word aangeskakel deur 'n kort tydjie op die knoppie te druk.

Die skerm sal aanvanklik 'n paar sekondes die plaaslike IP -adres vertoon voordat dit intyds RSSI -vlak begin vertoon.

'N Kort druk op die knoppie sal 'n RSSI -opname na die lêer begin. Normaalweg sal dit eindig as die RSSI -duur voltooi is, maar 'n verdere kort druk op die knoppie sal ook die opname beëindig.

'N Medium knoppie druk op 'n data -oorgang. Die skerm wys dat u wag vir die sneller. As die RSSI bo die snellervlak styg, sal dit tydige data -oorgange begin vasvang vir die aantal oorgange wat gespesifiseer word.

Deur die knoppie langer as die lang knoppie ingedruk te hou, word die toestel uitgeskakel.

Opneemopdragte kan ook vanaf die webkoppelvlak begin word.

Stap 7: Webkoppelvlak

Webkoppelvlak
Webkoppelvlak
Webkoppelvlak
Webkoppelvlak

Toegang tot die toestel met sy ip -adres toon 'n webkoppelvlak met drie oortjies; Vang, status en konfig.

Die opnameskerm wys die lêers wat tans gevang is. Die inhoud van 'n lêer kan vertoon word deur op die naam daarvan te klik. Daar is ook knoppies verwyder en aflaai vir elke lêer.

Daar is ook opvang -RSSI- en vangdataknoppies wat gebruik kan word om 'n opname te begin. As 'n lêernaam gegee word, sal dit gebruik word, anders word 'n standaardnaam gegenereer.

Die config -oortjie wys die huidige konfigurasie en laat toe dat svalues verander en gestoor word.

Die webkoppelvlak ondersteun die volgende oproepe

/wysig - toegangstelsel vir toestelle; kan gebruik word om maatreëls lêers af te laai

  • /status - gee 'n string terug met statusbesonderhede
  • /loadconfig -return 'n string wat config -besonderhede bevat
  • /saveconfig - stuur en stoor 'n string om die konfigurasie op te dateer
  • /loadcapture - stuur 'n string wat maatreëls bevat uit 'n lêer terug
  • /setmeasureindex - verander die indeks wat gebruik moet word vir die volgende maatstaf
  • /getcapturefiles - kry 'n string met 'n lys met beskikbare meetlêers
  • /capture - snelleropname van RSSI of data
  • /firmware - begin die opdatering van die firmware

Aanbeveel: