İçindekiler:

RF433Analizör: 7 Adım
RF433Analizör: 7 Adım

Video: RF433Analizör: 7 Adım

Video: RF433Analizör: 7 Adım
Video: Kiosk mode Bruteforce Evasion with Flipper Zero 2024, Kasım
Anonim
RF433Analizör
RF433Analizör
RF433Analizör
RF433Analizör

Bu talimat, ev otomasyonunda ve sensörlerde düşük güçlü uzaktan iletişim için yaygın olarak kullanılan RF 433MHz iletimlerini analiz etmeye yardımcı olacak bir ölçüm aracı oluşturur. Muhtemelen bazı ülkelerde kullanılan 315 MHz aktarımlarda çalışacak şekilde kolayca değiştirilebilir. Bu, mevcut 433MHz yerine RXB6'nın 315MHz versiyonunu kullanmak olacaktır.

Enstrümanın amacı iki katlıdır. İlk olarak, bir mülkün etrafındaki kapsama alanını incelemek ve herhangi bir siyah nokta bulmak için kullanılabilecek bir sinyal gücü ölçer (RSSI) sağlar. İkinci olarak, farklı cihazlar tarafından kullanılan veri ve protokollerin daha kolay analizini sağlamak için vericilerden temiz veriler yakalayabilir. Bu, mevcut birimlere uyumlu eklentiler tasarlamaya çalışırken kullanışlıdır. Normalde veri yakalama, alıcılarda bulunan ve çok sayıda sahte geçiş üreten ve gerçek iletimleri keşfetmeyi zorlaştıran arka plan gürültüsü nedeniyle karmaşıktır.

Ünite bir RXB6 süper ağ alıcısı kullanır. Bu, RSSI analog çıkışı olan Synoxo-SYN500R alıcı çipini kullanır. Bu, alıcının kazancını kontrol etmek için kullanılan AGC sinyalinin etkin bir şekilde tamponlanmış bir versiyonudur ve geniş bir aralıkta sinyal gücü verir.

Alıcı, RSSI sinyalini dönüştüren bir ESP8266 (ESP-12F) modülü tarafından izlenir. Ayrıca küçük bir yerel OLED ekranı (SSD1306) çalıştırır. Elektronikler ayrıca veri geçişleri hakkında zamanlama bilgilerini de yakalayabilir.

Yakalamalar, ünite üzerindeki bir düğme ile yerel olarak tetiklenebilir. Yakalanan veriler daha sonra analiz edilmek üzere dosyalara kaydedilir.

ESP12 modülü, dosyalara erişim sağlamak için bir web sunucusu çalıştırır ve yakalamalar buradan da tetiklenebilir.

Enstrüman, küçük bir LIPO şarj edilebilir pil ile çalışır. Bu, makul bir çalışma süresi sağlar ve elektronikler kullanılmadığında düşük hareketsiz akıma sahiptir.

Adım 1: Gerekli Bileşenler ve Araçlar

Önemli Not:

Bazı RXB6 433Mhz alıcıların, AGC ve işlevselliğin geri kalanı iyi olmasına rağmen, çalışmayan bir RSSI çıkışına sahip olduğunu buldum. Kullanılan bazı klon Syn500R yongaları olabileceğinden şüpheleniyorum. WL301-341 olarak etiketlenen alıcıların Syn5500R uyumlu bir çip kullandığını ve RSSI'nin işlevsel olduğunu buldum. Ayrıca, AGC kapasitörünün değiştirilmesini kolaylaştıran bir ekranlama kutusu kullanmama avantajına da sahiptirler. Bu birimleri kullanmanızı tavsiye ederim.

Aşağıdaki bileşenler gereklidir

ESP-12F wifi modülü

  • 3.3V regülatör xc6203
  • 220uF 6V kapasitör
  • 2 schottky diyot
  • 6 mm basma düğmesi
  • n kanal MOSFET ör. AO3400
  • p kanalı MOSFET ör. AO3401
  • dirençler 2x4k7, 3 x 100K, 1 x 470K
  • küçük parça prototipleme tahtası
  • RXB6 veya WL301-341 süperhet 433MHz alıcı
  • SSD1306 0.96 OLED ekran (tek renk SPI versiyonu)
  • LIPO pil 802030 400mAh
  • Şarj için 3 pinli konektör
  • Kabloyu bağla
  • Emaye bakır tel kendiliğinden akı
  • epoksi reçine
  • Çift taraflı bant
  • 3D baskılı muhafaza

Gerekli araçlar

  • İnce nokta havya
  • sökücü örgü
  • Cımbız
  • pense

2. Adım: Şematik

Şematik
Şematik

Devre oldukça basittir.

Bir LDO 3.3V regülatörü, LIP'yi ESP-12F modülünün ihtiyaç duyduğu 3.3V'a dönüştürür.

Hem ekrana hem de Alıcıya iki anahtarlı MOSFETS aracılığıyla güç sağlanır, böylece ESP modülü uyurken kapalı olurlar.

Düğme, ESP8266'nın EN girişine 3.3V vererek sistemi başlatır. GPIO5 daha sonra modül aktifken bunu sürdürür. Düğme ayrıca GPIO12 kullanılarak izlenir. GPIO5 serbest bırakıldığında EN kaldırılır ve ünite kapanır.

Alıcıdan gelen veri hattı GPIO4 tarafından izlenir. RSSI sinyali, 2:1 potansiyel bölücü aracılığıyla AGC tarafından izlenir.

SSD1306 ekranı, 5 GPIO sinyalinden oluşan SPI aracılığıyla kontrol edilir. Bir I2C sürümü kullanmak mümkün olabilir ancak bu, kullanılan kitaplığın değiştirilmesini ve bazı GPIO'ların yeniden eşleştirilmesini gerektirecektir.

3. Adım: Alıcı Modifikasyonu

Alıcı Modifikasyonu
Alıcı Modifikasyonu
Alıcı Modifikasyonu
Alıcı Modifikasyonu
Alıcı Modifikasyonu
Alıcı Modifikasyonu

Sağlandığı gibi RXB6, RSSI sinyalini harici veri pinlerinde kullanılabilir hale getirmez.

Basit bir değişiklik bunu mümkün kılar. Ünite üzerindeki DER sinyal konektörü, aslında Veri sinyali sinyalinin bir tekrarıdır. R6 etiketli 0 Ohm dirençle birbirine bağlanırlar. Bu, bir havya kullanılarak çıkarılmalıdır. R7 etiketli bileşen şimdi birbirine bağlanmalıdır. Üst uç aslında RSSI sinyalidir ve alt uç DER konektörüne gider. 0 Ohm'luk bir direnç kullanılabilir ama ben sadece biraz tel ile bağladım. Bu konumlara, bu değişiklik için çıkarılması gerekmeyen metal elek kutusunun dışından erişilebilir.

Değişiklik, alıcı açıkken DER ve GND'ye bir voltmetre takılarak test edilebilir. Yerel bir 433MHz kaynağıyla (örneğin bir uzaktan kumanda) yaklaşık 0,4V (alınan güç yok) ile yaklaşık 1,8V arasında bir voltaj gösterecektir.

İkinci değişiklik kesinlikle gerekli değildir, ancak oldukça arzu edilir. Sağlandığı gibi, alıcının AGC yanıt süresi, alınan sinyale yanıt vermesi birkaç yüz milisaniye alarak oldukça yavaş olacak şekilde ayarlanmıştır. Bu, RSSI yakalamaları sırasında zaman çözünürlüğünü azaltır ve ayrıca veri yakalama için bir tetikleyici olarak RSSI'yi kullanmayı daha az duyarlı hale getirir.

AGC tepki sürelerini kontrol eden tek bir kapasitör var ama ne yazık ki metal ekranlama kutusunun altında bulunuyor. Sadece 3 kulp tarafından tutulduğu için elek kutusunu çıkarmak aslında oldukça kolaydır ve bunların her birini sırayla ısıtarak ve küçük bir tornavida ile kaldırarak ödüllendirilebilir. Çıkarıldıktan sonra, lehim sökme örgüsü kullanılarak veya yaklaşık 0,8 mm'lik bir uçla yeniden delinerek yeniden montaj için delikler temizlenebilir.

Değişiklik, mevcut AGC kapasitör C4'ü çıkarmak ve 0.22uF kapasitör ile değiştirmektir. Bu, AGC yanıtını yaklaşık 10 kat hızlandırır. Alıcının performansı üzerinde herhangi bir olumsuz etkisi yoktur. Resimde, AGC kondansatöründen bir parça kesimi ve bu parçaya giden bir bağlantı gösteriyorum. Bu gerekli değildir, ancak ekstra kapasitans eklemek istenmesi durumunda kristalin altındaki eleme kutusunun dışındaki bir ped üzerinde AGC noktasını kullanılabilir hale getirir. Bunu yapmama gerek yoktu. Tarama daha sonra değiştirilebilir.

WL301-341 RX ünitesi kullanılıyorsa, fotoğraf bunu AGC kapasitörü vurgulanmış olarak gösterir. RSSI sinyal pini de gösterilir. Bu aslında hiçbir şeyle bağlantılı değil. İnce bir kabloyu doğrudan pime bağlayabilirsiniz. Alternatif olarak orada iki merkezi köprü pimi birbirine bağlanır ve her ikisi de veri çıkışını taşır. Aralarındaki iz kesilebilir ve ardından RSSI sinyalini bir jumper çıkışında kullanılabilir hale getirmek için RSSI yedek olana bağlanabilir.

Adım 4: İnşaat

Yapı
Yapı
Yapı
Yapı
Yapı
Yapı
Yapı
Yapı

ESP-12 modülünün dışında ihtiyaç duyulan yaklaşık 10 bileşen vardır. Bunlar bir parça prototipleme panosu üzerinde oluşturulabilir ve bağlanabilir. Regülatörün ve diğer smd bileşenlerinin montajını kolaylaştırmak için kullandığım ESP'ye özel bir prototipleme kartı kullandım. Bu, doğrudan ESP-12 modülünün üstüne takılır.

Kullandığım kutu, alıcı, ekran ve esp modülünü almak için tabanında 3 girinti bulunan 3D baskılı bir tasarımdır. Ekran için bir oyuğa ve şarj noktası için deliklere ve az miktarda poxy reçinesi ile yerleştirilip sabitlenmesi gereken basma düğmesine sahiptir.

3 modül, şarj noktası ve düğmeler arasındaki bağlantıları yapmak için kanca teli kullandım. ve ardından ESP ve alıcı için çift taraflı bant ve ekranın kenarlarını yerinde tutmak için küçük epoksi damlaları kullanarak bunları yerine sabitleyin. Pil, şarj noktasına bağlanır ve çift taraflı bant kullanılarak alıcının üstüne monte edilir.

Adım 5: Yazılım ve Yapılandırma

Yazılım Arduino ortamında oluşturulmuştur.

Bunun için kaynak kodu https://github.com/roberttidey/RF433Analyser adresindedir. Kod, derlenmeden ve ES8266 cihazına aktarılmadan önce güvenlik amacıyla değiştirilen parolalar için bazı sabitlere sahip olabilir.

  • WM_PASSWORD, cihazı yerel wifi ağına yapılandırırken wifiManager tarafından kullanılan şifreyi tanımlar.
  • update_password, üretici yazılımı güncellemelerine izin vermek için kullanılan bir parolayı tanımlar.

Cihaz ilk kullanıldığında wifi yapılandırma moduna girer. Cihaz tarafından kurulan Erişim noktasına bağlanmak için bir telefon veya tablet kullanın ve ardından 192.168.4.1'e gidin. Buradan yerel wifi ağını seçebilir ve şifresini girebilirsiniz. Bu, yalnızca bir kez veya wifi ağları veya şifreleri değiştirilirken yapılmalıdır.

Cihaz yerel ağına bağlandıktan sonra komutları dinleyecektir. IP adresinin 192.168.0.100 olduğunu varsayarak, dosyaları veri klasörüne yüklemek için önce 192.168.0.100:AP_PORT/upload kullanın. Bu daha sonra 192.168.0.100/edit'in başka dosyaları görüntülemesine ve yüklemesine ve ayrıca 192.168.0.100'ün kullanıcı arayüzüne erişmesine izin verecektir.

Yazılımda dikkat edilmesi gereken noktalar

  • ESP8266'daki ADC, doğruluğunu artırmak için kalibre edilebilir. Yapılandırma dosyasındaki bir dize, iki giriş voltajı için elde edilen ham değerleri ayarlar. RSSI, anten vb.'ye bağlı olarak oldukça göreceli bir sinyal olduğundan, bu özellikle önemli değildir.
  • RSSI voltajı db'ye göre oldukça doğrusaldır, ancak aşırı uçlarda eğriler. Yazılımın doğruluğu artırmak için kübik bir uyumu vardır.
  • Aritmetiğin çoğu, ölçeklenmiş tamsayılar kullanılarak yapılır, bu nedenle RSSI değerleri gerçekte gerçek değerin 100 katıdır. Dosyalara yazılan veya görüntülenen değerler geri dönüştürülür.
  • Yazılım, RSSI'nin yakalanmasını ve veri geçişlerini kontrol etmek için basit bir durum makinesi kullanır.
  • Veri geçişleri, bir kesme hizmeti rutini kullanılarak izlenir. Normal Arduino döngü işleme, veri yakalama sırasında askıya alınır ve bekçi köpeği yerel olarak canlı tutulur. Bu, zamanlama ölçümlerini mümkün olduğunca sadık tutmak için kesinti gecikmesini iyileştirmeye çalışmaktır.

Yapılandırma

Bu, esp433Config.txt dosyasında tutulur.

RSSI yakalama için örnekleme aralığı ve süresi ayarlanabilir.

Veri yakalama için RSSI tetikleme düzeyi, geçiş sayısı ve maksimum süre ayarlanabilir. Uygun bir tetikleme seviyesi, arka planda sinyal yokken yaklaşık +20dB'dir. Bir pulseWidths dizesi ayrıca, analizi kolaylaştırmak için darbe genişliklerinin basit bir şekilde kategorize edilmesini sağlar. Kaydedilen her satırda pulseLevel, mikrosaniye cinsinden genişlik ve pulseWidths dizesinde ölçülen genişlikten daha büyük olan dizin olan kod bulunur.

CalString, ADC doğruluğunu artırabilir.

boştaZaman aşımı, aygıt otomatik olarak kapanmadan önceki milisaniyelik hareketsizlik (yakalama yok) sayısını kontrol eder. 0'a ayarlamak zaman aşımına uğramayacağı anlamına gelir.

Üç düğme ayarı, kısa, orta ve uzun düğme basışlarını neyin ayırt ettiğini kontrol eder.

displayUpdate, yerel ekran yenileme aralığını verir.

6. Adım: Kullanım

Düğmeye kısa bir süre basılarak ünite açılır.

Ekran, RSSI seviyesini gerçek zamanlı olarak görüntülemeye başlamadan önce, başlangıçta yerel IP adresini birkaç saniye görüntüleyecektir.

Kısa bir düğmeye basmak, dosyaya bir RSSI yakalamayı başlatacaktır. Normalde bu, RSSI süresi bittiğinde sona erer, ancak düğmeye kısa bir süre daha basılması da yakalamayı sonlandıracaktır.

Orta düğmeye basılması, bir veri geçişi yakalamasını başlatacaktır. Ekran, tetikleyicinin beklendiğini gösterecektir. RSSI tetikleme seviyesinin üzerine çıktığında, belirtilen geçiş sayısı için zamanlı veri geçişlerini yakalamaya başlayacaktır.

Düğmeyi uzun süre basılı tutmak, üniteyi kapatacaktır.

Yakalama komutları web arayüzünden de başlatılabilir.

7. Adım: Web Arayüzü

Web Arayüzü
Web Arayüzü
Web Arayüzü
Web Arayüzü

Cihaza ip adresi ile erişim 3 sekmeli bir web arayüzü gösterir; Yakalar, durum ve yapılandırma.

Yakalama ekranı, o anda yakalanan dosyaları gösterir. Bir dosyanın içeriği, adına tıklanarak gösterilebilir. Ayrıca her dosya için silme ve indirme düğmeleri vardır.

Ayrıca yakalama başlatmak için kullanılabilecek RSSI yakalama ve Veri yakalama düğmeleri de vardır. Bir dosya adı verilirse kullanılacaktır, aksi takdirde varsayılan bir ad oluşturulacaktır.

Konfigürasyon sekmesi mevcut konfigürasyonu gösterir ve değerlerin değiştirilip kaydedilmesine izin verir.

Web arayüzü aşağıdaki aramaları destekler

/edit - cihazın dosyalama sistemine erişim; önlemler Dosyaları indirmek için kullanılabilir

  • /status - durum ayrıntılarını içeren bir dize döndürür
  • /loadconfig -yapılandırma ayrıntılarını içeren bir dize döndürür
  • /saveconfig - yapılandırmayı güncellemek için bir dize gönder ve kaydet
  • /loadcapture - bir dosyadan ölçüler içeren bir dize döndürür
  • /setmeasureindex - sonraki ölçü için kullanılacak dizini değiştir
  • /getcapturefiles - mevcut ölçü dosyalarının listesini içeren bir dize alın
  • /capture - RSSI veya verilerin yakalanmasını tetikler
  • /firmware - bellenim güncellemesini başlat

Önerilen: