Kazalo:

Analizator RF433: 7 korakov
Analizator RF433: 7 korakov

Video: Analizator RF433: 7 korakov

Video: Analizator RF433: 7 korakov
Video: Логический анализатор с Алиэкспресс, клон Saleae Logic 2024, November
Anonim
RF433Analizator
RF433Analizator
Analizator RF433
Analizator RF433

Ta navodila ustvarjajo merilni instrument za analizo oddaj RF 433MHz, ki se običajno uporabljajo za oddaljene komunikacije z nizko porabo energije pri avtomatizaciji doma in senzorjih. Verjetno bi ga bilo mogoče zlahka spremeniti, da bi deloval v 315MHz prenosu, ki se uporablja v nekaterih državah. To bi bilo z uporabo 315MHz različice RXB6 namesto trenutne 433MHz.

Namen instrumenta je dvojen. Prvič, ponuja merilnik jakosti signala (RSSI), ki ga lahko uporabite za pregled pokritosti okoli nepremičnine in odkrivanje črnih pik. Drugič, lahko zajema čiste podatke od oddajnikov, kar omogoča lažjo analizo podatkov in protokolov, ki jih uporabljajo različne naprave. To je uporabno, če poskušate oblikovati združljive dodatke za obstoječe enote. Običajno je zajem podatkov zapleten zaradi hrupa v ozadju, ki je prisoten v sprejemnikih in povzroča veliko lažnih prehodov ter otežuje odkrivanje resničnih prenosov.

Enota uporablja sprejemnik superhet RXB6. Ta uporablja sprejemniški čip Synoxo-SYN500R, ki ima analogni izhod RSSI. To je dejansko medpomnjena različica signala AGC, ki se uporablja za nadzor ojačanja sprejemnika in daje moč signala v širokem razponu.

Sprejemnik spremlja modul ESP8266 (ESP-12F), ki pretvori signal RSSI. Prav tako poganja majhen lokalni zaslon OLED (SSD1306). Elektronika lahko zajema tudi časovne informacije o prehodih podatkov.

Zajemanje lahko sprožite lokalno z gumbom na enoti. Zajeti podatki se shranijo v datoteke za kasnejšo analizo.

Modul ESP12 poganja spletni strežnik za dostop do datotek, od tukaj pa se lahko sproži tudi zajem.

Instrument poganja majhna LIPO baterija za ponovno polnjenje. To daje razumen čas delovanja, elektronika pa ima nizek tok mirovanja, ko je ne uporabljate.

Korak: Potrebne komponente in orodja

Pomembna opomba:

Ugotovil sem, da imajo nekateri sprejemniki RXB6 433Mhz nedelujoč izhod RSSI, čeprav sta AGC in preostala funkcionalnost v redu. Sumim, da se morda uporablja nekaj klonskih čipov Syn500R. Ugotovil sem, da sprejemniki z oznako WL301-341 uporabljajo čip, združljiv s Syn5500R, in RSSI deluje. Prednost imajo tudi v tem, da ne uporabljajo presejalne pločevinke, zaradi česar je lažje spreminjati kondenzator AGC. Priporočam uporabo teh enot.

Potrebne so naslednje komponente

WiFi modul ESP-12F

  • 3.3V regulator xc6203
  • 220uF 6V kondenzator
  • 2 schottky diode
  • 6 mm gumb
  • n kanal MOSFET npr. AO3400
  • p kanal MOSFET npr. AO3401
  • upori 2x4k7, 3 x 100K, 1 x 470K
  • majhen kos prototipne plošče
  • RXB6 ali WL301-341 superhet sprejemnik 433MHz
  • SSD1306 0,96 OLED zaslon (enobarvna različica SPI)
  • LIPO baterija 802030 400mAh
  • 3 -polni konektor za polnjenje
  • Priključite žico
  • Emajlirana bakrena žica, ki se samodejno pretaka
  • Epoksidne smole
  • Dvostranski trak
  • 3D -tiskano ohišje

Potrebna orodja

  • Spajkalnik s fino konico
  • Desolder pletenica
  • Pinceta
  • Klešče

2. korak: Shema

Shematično
Shematično

Vezje je dokaj preprosto.

Regulator LDO 3.3V pretvori LIP v 3.3V, ki ga potrebuje modul ESP-12F.

Zaslon in sprejemnik se napajata prek dveh preklopnih MOSFET -ov, tako da sta izklopljena, ko modul ESP spi.

Gumb zažene sistem z napajanjem 3.3V na vhod EN na ESP8266. GPIO5 to podpira, medtem ko je modul aktiven. Gumb se nadzoruje tudi z uporabo GPIO12. Ko se sprosti GPIO5, se EN odstrani in enota se izklopi.

Podatkovni vod iz sprejemnika spremlja GPIO4. Signal RSSI nadzoruje AGC prek delilnika potencialov 2: 1.

Zaslon SSD1306 se upravlja prek SPI, sestavljenega iz 5 signalov GPIO. Morda bo mogoče uporabiti različico I2C, vendar bo to zahtevalo spreminjanje uporabljene knjižnice in ponovno preslikavo nekaterih GPIO.

3. korak: Sprememba sprejemnika

Sprememba sprejemnika
Sprememba sprejemnika
Sprememba sprejemnika
Sprememba sprejemnika
Sprememba sprejemnika
Sprememba sprejemnika

Kot priloženo, RXB6 ne omogoča signala RSSI na svojih zunanjih podatkovnih zatičih.

To omogoča preprosta sprememba. Signalni priključek DER na enoti je pravzaprav le ponovitev signala podatkovnega signala. Povezani so skupaj z 0 ohmskim uporom z oznako R6. To je treba odstraniti s spajkalnikom. Sestavni del z oznako R7 je treba zdaj med seboj povezati. Zgornji del je pravzaprav signal RSSI, spodnji pa priključek DER. Lahko bi uporabil upor 0 Ohm, vendar sem ga povezal z žico. Te lokacije so dostopne zunaj kovinskega presejalnika, ki ga za to spremembo ni treba odstraniti.

Spremembo je mogoče preizkusiti tako, da na DER in GND pritrdite voltmeter z vklopljenim sprejemnikom. Prikazal bo napetost med približno 0,4 V (brez prejete moči) in približno 1,8 V z lokalnim virom 433 MHz (npr. Daljinski upravljalnik).

Druga sprememba ni nujno potrebna, je pa zelo zaželena. Ob dobavi je odzivni čas sprejemnika nastavljen na precej počasen odziv na sprejemni signal, ki traja nekaj sto milisekund. To zmanjšuje časovno ločljivost med zajemanjem RSSI in zmanjšuje odzivnost uporabe RSSI kot sprožilca za zajem podatkov.

Obstaja en sam kondenzator, ki nadzoruje odzivne čase AGC, vendar se na žalost nahaja pod kovinsko zaščito. Odstranitev presejalne pločevinke je pravzaprav precej enostavna, saj jo držijo le 3 ušesa, zato jo je mogoče dragoceno segreti po vrsti in dvigniti z majhnim izvijačem. Ko jih odstranite, lahko očistite luknje za ponovno montažo z uporabo razpletajoče pletenice ali ponovnega vrtanja s približno 0,8 mm nastavkom.

Sprememba je odstranitev obstoječega kondenzatorja AGC C4 in zamenjava s kondenzatorjem 0,22 uF. To pospeši odziv AGC za približno 10 -krat. To nima škodljivega vpliva na delovanje sprejemnika. Na sliki prikazujem izrez in povezavo do te sledi iz kondenzatorja AGC. To ni nujno, vendar je točka AGC na voljo na blazinici zunaj presejalne pločevinke pod kristalom, če bi želeli znova dodati dodatno kapacitivnost. Tega mi ni bilo treba storiti. Preiskavo lahko nato zamenjate.

Če uporabljate enoto WL301-341 RX, to prikazuje fotografija s poudarjenim kondenzatorjem AGC. Prikazan je tudi signalni pin RSSI. To pravzaprav ni povezano z ničemer. Le fino žico lahko preprosto priključite neposredno na zatič. Druga možnost je, da sta oba osrednja mostična zatiča povezana skupaj in oba nosita izhod podatkov. Sled med njimi je mogoče prerezati, nato pa RSSI povezati z rezervnim, da bo signal RSSI na voljo na izhodu mostička.

4. korak: Gradnja

Gradnja
Gradnja
Gradnja
Gradnja
Gradnja
Gradnja
Gradnja
Gradnja

Zunaj modula ESP-12 je potrebnih približno 10 komponent. Te lahko sestavite in povežete na kos prototipne plošče. Uporabil sem prototipno ploščo, specifično za ESP, s katero sem olajšal montažo regulatorja in drugih komponent smd. Ta se pritrdi neposredno na modul ESP-12.

Škatla, ki sem jo uporabil, je 3D natisnjena oblika s tremi vdolbinami na dnu za sprejemnik, zaslon in modul esp. Ima izrez za zaslon in luknje za polnilno točko ter gumb, ki ga je treba vstaviti in pritrditi z majhno količino oksidne smole.

Za povezavo med tremi moduli, polnilno točko in gumbi sem uporabil priključno žico. nato pa jih pritrdite z dvostranskim trakom za ESP in sprejemnik ter majhnimi kapljicami epoksida, ki držijo stranice zaslona na mestu.

5. korak: Programska oprema in konfiguracija

Programska oprema je zgrajena v okolju Arduino.

Izvorna koda za to je na naslovu https://github.com/roberttidey/RF433Analyser Koda lahko vsebuje nekatere konstante za gesla, spremenjena iz varnostnih razlogov, preden jih prevedete in prenesete v napravo ES8266.

  • WM_PASSWORD določa geslo, ki ga uporablja wifiManager pri konfiguraciji naprave v lokalno omrežje wifi
  • update_password določa geslo, ki se uporablja za omogočanje posodobitev vdelane programske opreme.

Ob prvi uporabi naprava preide v konfiguracijski način wifi. S telefonom ali tabličnim računalnikom se povežite z dostopno točko, ki jo je nastavila naprava, nato poiščite 192.168.4.1. Od tu lahko izberete lokalno omrežje wifi in vnesete njegovo geslo. To je treba storiti samo enkrat ali če spremenite omrežja WiFi ali gesla.

Ko se naprava poveže z lokalnim omrežjem, bo poslušala ukaze. Ob predpostavki, da je njegov naslov IP 192.168.0.100, najprej uporabite 192.168.0.100:AP_PORT/upload za nalaganje datotek v podatkovno mapo. To bo nato omogočilo ogled 192.168.0.100/edit za ogled in nalaganje dodatnih datotek, 192.168.0.100 pa tudi dostop do uporabniškega vmesnika.

Točke, ki jih je treba opozoriti v programski opremi, so

  • ADC v ESP8266 je mogoče umeriti za večjo natančnost. Niz v konfiguracijski datoteki nastavi dosežene surove vrednosti za dve vhodni napetosti. To ni posebej pomembno, saj je RSSI relativno relativni signal, odvisen od antene itd.
  • Napetost RSSI do db je razmeroma linearna, vendar je krivulja na skrajnosti. Programska oprema ima kubično velikost za izboljšanje natančnosti.
  • Večina aritmetike je narejena z uporabo pomanjšanih celih števil, zato so vrednosti RSSI dejansko 100 -krat večje od dejanskih. Vrednosti, zapisane v datoteke ali prikazane, se pretvorijo nazaj.
  • Programska oprema uporablja preprost državni stroj za nadzor zajema RSSI in prehodov podatkov.
  • Prehodi podatkov se spremljajo s pomočjo rutine prekinitve storitev. Običajna obdelava zanke Arduino se med zajemanjem podatkov prekine, nadzornik pa lokalno ostane živ. To je zato, da bi poskušali izboljšati zamudo pri prekinitvah, da bi bile meritve časa čim bolj zveste.

Konfiguracija

To je shranjeno v esp433Config.txt.

Za zajem RSSI lahko nastavite interval vzorčenja in trajanje.

Za zajem podatkov lahko nastavite raven sprožilca RSSI, število prehodov in največje trajanje. Primerna raven sprožilca je približno +20dB v ozadju brez signala. Niz pulseWidths omogoča tudi preprosto kategorizacijo širin impulzov za lažjo analizo. Vsaka zabeležena vrstica ima pulseLevel, širino v mikroskundah in kodo, ki je indeks v nizu pulseWidths, ki je večji od izmerjene širine.

CalString lahko izboljša natančnost ADC.

idleTimeout nadzoruje število milisekund neaktivnosti (brez zajema), preden se naprava samodejno izklopi. Če ga nastavite na 0, časovna omejitev ne bo potekla.

Tri nastavitve gumbov nadzorujejo, kaj razlikuje kratke srednje in dolge pritiske na gumbe.

displayUpdate podaja interval osveževanja lokalnega zaslona.

6. korak: Uporaba

Enota se vklopi s kratkim pritiskom na gumb.

Zaslon bo sprva prikazal lokalni naslov IP za nekaj sekund, preden bo začel prikazovati raven RSSI v realnem času.

Kratek pritisk gumba bo sprožil zajem RSSI v datoteko. Običajno se to konča, ko se trajanje RSSI konča, vendar bo nadaljnji kratek pritisk gumba tudi končal zajem.

S pritiskom na srednji gumb se začne zajem podatkovnega prehoda. Na zaslonu se prikaže čakanje na sprožilec. Ko RSSI preseže raven sprožilca, bo začel zajemati časovno omejene prehode podatkov za določeno število prehodov.

Če gumb držite pritisnjenega dlje kot dalj časa, se bo naprava izklopila.

Ukaze za zajem lahko sprožite tudi s spletnega vmesnika.

7. korak: Spletni vmesnik

Spletni vmesnik
Spletni vmesnik
Spletni vmesnik
Spletni vmesnik

Dostop do naprave po naslovu ip prikazuje spletni vmesnik s tremi zavihki; Zajem, stanje in konfiguracija.

Na zaslonu zajema so trenutno zajete datoteke. Vsebino datoteke lahko prikažete s klikom na njeno ime. Za vsako datoteko obstajajo tudi gumbi za brisanje in prenos.

Obstajajo tudi gumbi za zajem RSSI in zajem podatkov, ki jih lahko uporabite za začetek zajema. Če je podano ime datoteke, bo uporabljeno drugače, privzeto pa bo ustvarjeno.

Zavihek config prikazuje trenutno konfiguracijo in omogoča spreminjanje in shranjevanje svalues.

Spletni vmesnik podpira naslednje klice

/uredi - dostopa do zbirke datotek naprave; lahko uporabite za prenos datotek ukrepov

  • /status - vrne niz, ki vsebuje podrobnosti o stanju
  • /loadconfig -vrne niz, ki vsebuje podrobnosti o konfiguraciji
  • /saveconfig - pošljite in shranite niz za posodobitev konfiguracije
  • /loadcapture - vrne niz, ki vsebuje mere iz datotek
  • /setmeasureindex - spremenite indeks za naslednjo meritev
  • /getcapturefiles - dobite niz s seznamom razpoložljivih merilnih datotek
  • /zajem - sproži zajem RSSI ali podatkov
  • /firmware - sproži posodobitev strojne programske opreme

Priporočena: