Sadržaj:

RF433Analizator: 7 koraka
RF433Analizator: 7 koraka

Video: RF433Analizator: 7 koraka

Video: RF433Analizator: 7 koraka
Video: Кадетство 7 2024, Studeni
Anonim
RF433Analizator
RF433Analizator
RF433Analizator
RF433Analizator

Ova instrukcija stvara mjerni instrument za analizu RF 433MHz prijenosa koji se obično koriste za daljinsku komunikaciju male snage u kućnoj automatizaciji i senzorima. Vjerojatno bi se mogao lako izmijeniti za rad prijenosa od 315MHz koji se koristi u nekim zemljama. To bi bilo korištenjem verzije RXB6 na 315 MHz umjesto dosadašnje na 433 MHz.

Svrha instrumenta je dvostruka. Prvo, pruža mjerač jačine signala (RSSI) koji se može koristiti za ispitivanje pokrivenosti oko nekretnine i pronalaženje bilo kakvih crnih mrlja. Drugo, može snimiti čiste podatke s odašiljača kako bi se omogućila lakša analiza podataka i protokola koje koriste različiti uređaji. To je korisno ako pokušavate dizajnirati kompatibilne dodatke postojećim jedinicama. Uobičajeno je hvatanje podataka komplicirano pozadinskom bukom prisutnom u prijamnicima koji proizvode mnogo lažnih prijelaza i otežavaju otkrivanje pravih prijenosa.

Jedinica koristi RXB6 superhet prijemnik. Ovdje se koristi prijemnički čip Synoxo-SYN500R koji ima RSSI analogni izlaz. Ovo je zapravo međuspremnička verzija AGC signala koji se koristi za kontrolu pojačanja prijemnika i daje jačinu signala u širokom rasponu.

Prijemnik se nadzire pomoću modula ESP8266 (ESP-12F) koji pretvara RSSI signal. Također pokreće mali lokalni OLED zaslon (SSD1306). Elektronika također može zabilježiti vremenske informacije o prijelazima podataka.

Snimanje se može pokrenuti lokalno pritiskom na gumb na jedinici. Uhvaćeni podaci spremaju se u datoteke radi kasnije analize.

Modul ESP12 pokreće web poslužitelj za pristup datotekama, a odavde se mogu pokrenuti i snimke.

Instrument se napaja iz male LIPO punjive baterije. To daje razumno vrijeme rada, a elektronika ima nisku struju mirovanja kada se ne koristi.

Korak 1: Potrebne komponente i alati

Važna nota:

Otkrio sam da neki prijemnici RXB6 433Mhz imaju neispravan RSSI izlaz iako je AGC i ostatak funkcionalnosti u redu. Pretpostavljam da se možda koriste neki klonirani čipovi Syn500R. Otkrio sam da prijemnici označeni kao WL301-341 koriste čip kompatibilan sa Syn5500R i da je RSSI funkcionalan. Prednost im je i to što ne koriste zaštitnu limenku što olakšava izmjenu kondenzatora AGC -a. Preporučio bih korištenje ovih jedinica.

Potrebne su sljedeće komponente

WiFi modul ESP-12F

  • 3.3V regulator xc6203
  • 220uF 6V kondenzator
  • 2 schottky diode
  • 6 mm tipkalo
  • n kanal MOSFET npr. AO3400
  • p kanal MOSFET npr. AO3401
  • otpornici 2x4k7, 3 x 100K, 1 x 470K
  • mali komad ploče za izradu prototipova
  • RXB6 ili WL301-341 superhet prijemnik na 433MHz
  • SSD1306 0.96 OLED zaslon (jednobojna verzija SPI)
  • LIPO baterija 802030 400mAh
  • 3 -pinski konektor za punjenje
  • Priključite žicu
  • Emajlirana bakrena žica koja se samoteče
  • Epoksidna smola
  • Dvostrana traka
  • 3D tiskano kućište

Potrebni alati

  • Lemilica s finim vrhom
  • Desolder pletenica
  • Pinceta
  • Kliješta

Korak 2: Shematski prikaz

Shematski
Shematski

Krug je prilično jednostavan.

LDO 3.3V regulator pretvara LIP u 3.3V potreban modulu ESP-12F.

Napajanje se napaja i na zaslon i na prijemnik putem dva prekidačka MOSFET -a tako da su isključeni dok ESP modul spava.

Gumb pokreće sustav napajanjem 3.3V na EN ulaz ESP8266. GPIO5 to zatim podržava dok je modul aktivan. Gumb se također nadzire pomoću GPIO12. Kad se GPIO5 pusti, EN se uklanja i jedinica se isključuje.

Podatkovnu liniju s prijemnika nadzire GPIO4. RSSI signal prati AGC putem razdjelnika potencijala 2: 1.

Zaslonom SSD1306 upravlja se putem SPI -a koji se sastoji od 5 GPIO signala. Možda će biti moguće koristiti verziju I2C, ali to će zahtijevati promjenu korištene biblioteke i ponovno mapiranje dijela GPIO -a.

Korak 3: Izmjena prijemnika

Modifikacija prijemnika
Modifikacija prijemnika
Modifikacija prijemnika
Modifikacija prijemnika
Modifikacija prijemnika
Modifikacija prijemnika

Kako je isporučen, RXB6 ne čini RSSI signal dostupnim na vanjskim podatkovnim pinovima.

Jednostavna izmjena to omogućuje. Signalni konektor DER na jedinici zapravo je samo ponavljanje signala podatkovnog signala. Ožičeni su zajedno kroz otpornik od 0 Ohma s oznakom R6. To se mora ukloniti pomoću lemilice. Komponenta s oznakom R7 sada se mora međusobno povezati. Gornji kraj je zapravo RSSI signal, a donji dio ide do DER konektora. Mogao bi se upotrijebiti otpornik od 0 Ohma, ali ja sam ga samo povezao sa žicom. Ta su mjesta dostupna izvan metalne posude za prosijavanje koju nije potrebno uklanjati za ovu izmjenu.

Modifikacija se može testirati priključivanjem voltmetra na DER i GND s uključenim prijemnikom. Pokazat će napon između oko 0,4 V (nema primljene snage) i oko 1,8 V s lokalnim izvorom od 433 MHz (npr. Daljinski upravljač).

Druga izmjena nije apsolutno bitna, ali je poželjna. Kako je isporučeno, vrijeme odziva prijemnika AGC -a je postavljeno na prilično sporo vrijeme koje reagira na primljeni signal nekoliko stotina milisekundi. To smanjuje razlučivost vremena tijekom snimanja RSSI -ja, a također čini manje osjetljivim korištenje RSSI -ja kao okidač za prikupljanje podataka.

Postoji jedan kondenzator koji kontrolira vrijeme odziva AGC -a, ali se, nažalost, nalazi ispod metalne posude za zaštitu. Zapravo je prilično lako ukloniti zaštitnu posudu jer je samo drži za 3 ušice, a može se cijeniti zagrijavanjem svakog od njih i podizanjem s malim odvijačem. Nakon uklanjanja mogu se očistiti rupe za ponovno sastavljanje pomoću pletenice za lemljenje ili ponovnim bušenjem s nastavkom od oko 0,8 mm.

Modifikacija je uklanjanje postojećeg AGC kondenzatora C4 i njegova zamjena kondenzatorom od 0,22uF. Time se ubrzava odgovor AGC -a za oko 10 puta. Nema štetan učinak na performanse prijemnika. Na slici prikazujem rez kolosijeka i vezu do tog zapisa iz AGC kondenzatora. To nije potrebno, ali čini AGC točku dostupnom na jastučiću izvan prozirne posude ispod kristala u slučaju da se želi ponovno dodati dodatni kapacitet. Nisam to trebao učiniti. Nakon toga se pregled može zamijeniti.

Ako koristite WL301-341 RX jedinicu, fotografija to pokazuje s istaknutim AGC kondenzatorom. Prikazan je i signalni pin RSSI. Ovo zapravo nije povezano ni s čim. Jednostavno možete spojiti finu žicu izravno na pin. Alternativno, dva središnja kratkospojna pina spojena su zajedno i oba nose izlaz podataka. Trag između njih može se izrezati, a zatim RSSI povezati s rezervnim kako bi RSSI signal bio dostupan na kratkospojnom izlazu.

Korak 4: Izgradnja

Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo

Izvan modula ESP-12 potrebno je oko 10 komponenti. Oni se mogu sastaviti i spojiti na ploču prototipa. Koristio sam ploču za izradu protokola specifičnu za ESP koju sam koristio za olakšavanje montaže regulatora i drugih smd komponenti. Pričvršćuje se izravno na modul ESP-12.

Kutija koju sam koristio je 3D tiskani dizajn s 3 udubljenja u bazi za prijem prijemnika, zaslona i esp modula. Ima izrez za zaslon i rupe za mjesto punjenja i gumb koji treba umetnuti i učvrstiti malom količinom smole.

Koristio sam spojnu žicu za povezivanje između 3 modula, mjesta punjenja i gumba. a zatim ih učvrstili pomoću dvostrane trake za ESP i prijemnik te malim kapljicama epoksida za držanje stranica zaslona na mjestu. Baterija je ožičena do mjesta punjenja i montirana na vrh prijemnika pomoću dvostrane trake.

Korak 5: Softver i konfiguracija

Softver je izgrađen u Arduino okruženju.

Izvorni kôd za to nalazi se na https://github.com/roberttidey/RF433Analyser Kod može imati neke konstante za lozinke promijenjene iz sigurnosnih razloga prije nego što se prevede i prebaci na uređaj ES8266.

  • WM_PASSWORD definira lozinku koju koristi wifiManager pri konfiguriranju uređaja na lokalnu WiFi mrežu
  • update_password definira lozinku koja se koristi za dopuštanje ažuriranja firmvera.

Kada se prvi put koristi, uređaj ulazi u način rada za konfiguraciju WiFi -ja. Pomoću telefona ili tableta povežite se s pristupnom točkom koju je postavio uređaj, a zatim prijeđite na 192.168.4.1. Odavde možete odabrati lokalnu WiFi mrežu i unijeti njezinu lozinku. To je potrebno učiniti samo jednom ili ako promijenite WiFi mreže ili lozinke.

Nakon što se uređaj poveže s lokalnom mrežom, slušati će naredbe. Pretpostavimo da je njegova IP adresa 192.168.0.100, a zatim prvo upotrijebite 192.168.0.100:AP_PORT/upload za prijenos datoteka u podatkovnu mapu. To će tada omogućiti 192.168.0.100/edit za pregled i prijenos daljnjih datoteka, a također će dopustiti 192.168.0.100 pristup korisničkom sučelju.

Točke na koje treba obratiti pozornost u softveru su

  • ADC u ESP8266 može se kalibrirati radi poboljšanja njegove točnosti. Niz u konfiguracijskoj datoteci postavlja postignute neobrađene vrijednosti za dva ulazna napona. To nije osobito važno jer je RSSI relativno relativan signal ovisno o anteni itd.
  • RSSI napon na db je razumno linearan, ali krivulje na ekstremima. Softver ima kubični oblik za poboljšanje točnosti.
  • Većina aritmetike radi se pomoću skaliranih cijelih brojeva pa su RSSI vrijednosti zapravo 100 puta veće od stvarnih. Vrijednosti zapisane u datoteke ili prikazane pretvaraju se natrag.
  • Softver koristi jednostavan stroj za kontrolu hvatanja RSSI -ja i prijelaza podataka.
  • Prijelazi podataka nadziru se rutinom usluge prekida. Uobičajena obrada Arduino petlje obustavljena je tijekom snimanja podataka, a čuvar se lokalno održava u životu. Time se nastoji poboljšati latencija prekida kako bi mjerenje vremena bilo što vjernije.

Konfiguracija

To se čuva u esp433Config.txt.

Za RSSI snimanje može se postaviti interval uzorkovanja i trajanje.

Za prikupljanje podataka može se postaviti razina okidača RSSI, broj prijelaza i maksimalno trajanje. Prikladna razina okidača je oko +20dB u pozadini bez razine signala. Niz pulseWidths također omogućuje jednostavnu kategorizaciju širine impulsa radi lakše analize. Svaka evidentirana linija ima pulseLevel, širinu u mikroskundama i kôd koji je indeks u nizu pulseWidths koji je veći od izmjerene širine.

CalString može poboljšati točnost ADC -a.

idleTimeout kontrolira broj milisekundi neaktivnosti (bez snimanja) prije nego što se uređaj automatski isključi. Postavljanje na 0 znači da neće isteći.

Tri postavke gumba kontroliraju ono po čemu se razlikuju kratki srednji i dugi pritisci gumba.

displayUpdate daje interval osvježavanja lokalnog zaslona.

Korak 6: Upotreba

Uređaj se uključuje kratkim pritiskom na tipku.

Zaslon će isprva prikazati lokalnu IP adresu nekoliko sekundi prije nego što počne prikazivati RSSI razinu u stvarnom vremenu.

Kratkim pritiskom na gumb počet će se RSSI snimanje u datoteku. Obično će to prestati nakon završetka trajanja RSSI -ja, ali daljnje kratko pritiskanje gumba također će prekinuti snimanje.

Pritiskom srednje tipke započet će snimanje prijelaza podataka. Zaslon će prikazati čekanje na okidač. Kad RSSI prijeđe razinu okidača, tada će početi bilježiti vremenski usklađene prijelaze podataka za navedeni broj prijelaza.

Držanjem tipke pritisnutom dulje od dugmeta, uređaj će se isključiti.

Naredbe hvatanja također se mogu pokrenuti s web sučelja.

Korak 7: Web sučelje

Web sučelje
Web sučelje
Web sučelje
Web sučelje

Pristup uređaju putem njegove IP adrese prikazuje web sučelje s 3 kartice; Hvatanje, status i konfiguracija.

Zaslon za snimanje prikazuje trenutno snimljene datoteke. Sadržaj datoteke može se prikazati klikom na njezin naziv. Za svaku datoteku postoje i gumbi za brisanje i preuzimanje.

Postoje i gumbi za snimanje RSSI -a i podaci za snimanje koji se mogu koristiti za pokretanje snimanja. Ako je dan naziv datoteke, on će se koristiti u protivnom, generirat će se zadani naziv.

Kartica config prikazuje trenutnu konfiguraciju i dopušta promjenu i spremanje svalue.

Web sučelje podržava sljedeće pozive

/edit - pristup datoteci sustava uređaja; može se koristiti za preuzimanje datoteka datoteka

  • /status - vraća niz koji sadrži pojedinosti o statusu
  • /loadconfig -vraća niz koji sadrži pojedinosti o konfiguraciji
  • /saveconfig - pošaljite i spremite niz za ažuriranje konfiguracije
  • /loadcapture - vraća niz koji sadrži mjere iz datoteka
  • /setmeasureindex - promijenite indeks koji će se koristiti za sljedeću mjeru
  • /getcapturefiles - nabavite niz sa popisom dostupnih mjernih datoteka
  • /hvatanje - okidač hvatanja RSSI -ja ili podataka
  • /firmware - pokretanje ažuriranja firmvera

Preporučeni: