Πίνακας περιεχομένων:

RF433Αναλυτής: 7 Βήματα
RF433Αναλυτής: 7 Βήματα

Βίντεο: RF433Αναλυτής: 7 Βήματα

Βίντεο: RF433Αναλυτής: 7 Βήματα
Βίντεο: Squid game #shorts 2024, Ιούλιος
Anonim
RF433Analyser
RF433Analyser
RF433Analyser
RF433Analyser

Αυτό το οδηγό δημιουργεί ένα όργανο μέτρησης που βοηθά στην ανάλυση των μεταδόσεων RF 433MHz που χρησιμοποιούνται συνήθως για απομακρυσμένες επικοινωνίες χαμηλής ισχύος σε οικιακούς αυτοματισμούς και αισθητήρες. Πιθανότατα θα μπορούσε εύκολα να τροποποιηθεί ώστε να λειτουργεί με μεταδόσεις 315MHz που χρησιμοποιούνται σε ορισμένες χώρες. Αυτό θα γίνει με τη χρήση της έκδοσης 315MHz του RXB6 αντί της τρέχουσας 433MHz.

Ο σκοπός του οργάνου είναι διπλός. Πρώτον, παρέχει έναν μετρητή ισχύος σήματος (RSSI) ο οποίος μπορεί να χρησιμοποιηθεί για να εξετάσει την κάλυψη γύρω από ένα ακίνητο και να εντοπίσει τυχόν μαύρες κηλίδες. Δεύτερον, μπορεί να καταγράψει καθαρά δεδομένα από πομπούς για να επιτρέψει ευκολότερη ανάλυση των δεδομένων και των πρωτοκόλλων που χρησιμοποιούνται από διαφορετικές συσκευές. Αυτό είναι χρήσιμο εάν προσπαθείτε να σχεδιάσετε συμβατά πρόσθετα σε υπάρχουσες μονάδες. Κανονικά η λήψη δεδομένων περιπλέκεται από τον θόρυβο στο παρασκήνιο που υπάρχει στους δέκτες που παράγουν πολλές παραπλανητικές μεταβάσεις και καθιστά πιο δύσκολη την ανακάλυψη των πραγματικών μεταδόσεων.

Η μονάδα χρησιμοποιεί έναν υπερσύγχρονο δέκτη RXB6. Αυτό χρησιμοποιεί το τσιπ δέκτη Synoxo-SYN500R το οποίο έχει αναλογική έξοδο RSSI. Αυτή είναι ουσιαστικά μια ρυθμισμένη έκδοση του σήματος AGC που χρησιμοποιείται για τον έλεγχο της απόδοσης του δέκτη και δίνει ισχύ σήματος σε ένα ευρύ φάσμα.

Ο δέκτης παρακολουθείται από μια μονάδα ESP8266 (ESP-12F) η οποία μετατρέπει το σήμα RSSI. Οδηγεί επίσης μια μικρή τοπική οθόνη OLED (SSD1306). Τα ηλεκτρονικά μπορούν επίσης να συλλάβουν πληροφορίες χρονισμού για τις μεταβάσεις δεδομένων.

Οι λήψεις μπορούν να ενεργοποιηθούν τοπικά με ένα κουμπί στη μονάδα. Τα δεδομένα που έχουν ληφθεί αποθηκεύονται σε αρχεία για μεταγενέστερη ανάλυση.

Η μονάδα ESP12 εκτελεί έναν διακομιστή ιστού για να δώσει πρόσβαση στα αρχεία και οι λήψεις μπορεί επίσης να ενεργοποιηθούν από εδώ.

Το όργανο τροφοδοτείται από μια μικρή επαναφορτιζόμενη μπαταρία LIPO. Αυτό δίνει έναν λογικό χρόνο λειτουργίας και τα ηλεκτρονικά έχουν χαμηλό ρεύμα ηρεμίας όταν δεν χρησιμοποιούνται.

Βήμα 1: Απαιτούνται εξαρτήματα και εργαλεία

Σημαντική σημείωση:

Βρήκα ότι μερικοί δέκτες RXB6 433Mhz έχουν έξοδο RSSI που δεν λειτουργεί, παρόλο που το AGC και η υπόλοιπη λειτουργικότητα είναι εντάξει. Υποψιάζομαι ότι μπορεί να χρησιμοποιούνται κάποιες μάρκες κλωνοποίησης Syn500R. Διαπίστωσα ότι οι δέκτες με την ένδειξη WL301-341 χρησιμοποιούν συμβατό τσιπ Syn5500R και το RSSI είναι λειτουργικό. Έχουν επίσης το πλεονέκτημα ότι δεν χρησιμοποιούν δοχείο διαλογής που κάνει τον πυκνωτή AGC ευκολότερο να τροποποιηθεί. Θα συνιστούσα τη χρήση αυτών των μονάδων.

Τα ακόλουθα συστατικά είναι απαραίτητα

Μονάδα wifi ESP-12F

  • Ρυθμιστής 3,3V xc6203
  • Πυκνωτής 220uF 6V
  • 2 διόδους schottky
  • Κουμπί 6mm
  • n κανάλι MOSFET π.χ. AO3400
  • p κανάλι MOSFET π.χ. ΑΟ3401
  • αντιστάσεις 2x4k7, 3 x 100K, 1 x 470K
  • μικρό κομμάτι σανίδας πρωτοτύπων
  • Δέκτης RXB6 ή WL301-341 superhet 433MHz
  • Οθόνη SSD1306 0,96 OLED (μονόχρωμη έκδοση SPI)
  • Μπαταρία LIPO 802030 400mAh
  • Υποδοχή 3 ακίδων για φόρτιση
  • Συνδέστε σύρμα
  • Εμαγιέ σύρμα χαλκού αυτο-ρευστό
  • Εποξική ρητίνη
  • Ταινία διπλής όψης
  • Τρισδιάστατο περίβλημα

Απαιτούνται εργαλεία

  • Κολλητήρι λεπτού σημείου
  • Πλέξη Desolder
  • Τσιμπιδακι ΦΡΥΔΙΩΝ
  • Πένσα

Βήμα 2: Σχηματικό

Σχηματικός
Σχηματικός

Το κύκλωμα είναι αρκετά απλό.

Ένας ρυθμιστής LDO 3.3V μετατρέπει το LIP σε 3.3V που χρειάζεται η μονάδα ESP-12F.

Τροφοδοτείται τόσο στην οθόνη όσο και στον Δέκτη μέσω δύο MOSFETS μεταγωγής, ώστε να είναι απενεργοποιημένα όταν η μονάδα ESP κοιμάται.

Το κουμπί εκκινεί το σύστημα τροφοδοτώντας 3,3V στην είσοδο EN του ESP8266. Στη συνέχεια, το GPIO5 το διατηρεί αυτό ενώ η μονάδα είναι ενεργή. Το κουμπί παρακολουθείται επίσης χρησιμοποιώντας το GPIO12. Όταν απελευθερωθεί το GPIO5, το EN αφαιρείται και η μονάδα κλείνει.

Η γραμμή δεδομένων από τον δέκτη παρακολουθείται από το GPIO4. Το σήμα RSSI παρακολουθείται από το AGC μέσω δυνητικού διαιρέτη 2: 1.

Η οθόνη SSD1306 ελέγχεται μέσω SPI που αποτελείται από 5 σήματα GPIO. Μπορεί να είναι δυνατή η χρήση μιας έκδοσης I2C, αλλά αυτό θα απαιτήσει αλλαγή της βιβλιοθήκης που χρησιμοποιείται και επανασύνδεση μερικών από το GPIO.

Βήμα 3: Τροποποίηση δέκτη

Τροποποίηση δέκτη
Τροποποίηση δέκτη
Τροποποίηση δέκτη
Τροποποίηση δέκτη
Τροποποίηση δέκτη
Τροποποίηση δέκτη

Όπως παρέχεται, το RXB6 δεν καθιστά το σήμα RSSI διαθέσιμο στις εξωτερικές ακίδες δεδομένων.

Μια απλή τροποποίηση το καθιστά δυνατό. Ο σύνδεσμος σήματος DER στη μονάδα είναι στην πραγματικότητα μόνο μια επανάληψη του σήματος σήματος δεδομένων. Συνδέονται μεταξύ τους μέσω της αντίστασης 0 Ohm με την ένδειξη R6. Αυτό πρέπει να αφαιρεθεί χρησιμοποιώντας ένα συγκολλητικό σίδερο. Το στοιχείο που φέρει την ετικέτα R7 πρέπει τώρα να συνδεθεί μεταξύ τους. Το επάνω άκρο είναι στην πραγματικότητα το σήμα RSSI και το κάτω πηγαίνει στην υποδοχή DER. Κάποιος θα μπορούσε να χρησιμοποιήσει μια αντίσταση 0 Ohm, αλλά απλώς συνδέθηκα με λίγο σύρμα. Αυτές οι θέσεις είναι προσβάσιμες εκτός του μεταλλικού δοχείου που δεν χρειάζεται να αφαιρεθούν για αυτήν την τροποποίηση.

Η τροποποίηση μπορεί να δοκιμαστεί συνδέοντας ένα βολτόμετρο σε DER και GND με τον δέκτη ενεργοποιημένο. Θα δείξει τάση μεταξύ περίπου 0,4V (χωρίς λαμβανόμενη ισχύ) και περίπου 1,8V με τοπική πηγή 433MHz (π.χ. τηλεχειριστήριο).

Η δεύτερη τροποποίηση δεν είναι απολύτως απαραίτητη αλλά είναι αρκετά επιθυμητή. Όπως παρέχεται, ο χρόνος απόκρισης AGC του δέκτη είναι αρκετά αργός και χρειάζονται αρκετές εκατοντάδες χιλιοστά του δευτερολέπτου για να ανταποκριθεί στο λαμβανόμενο σήμα. Αυτό μειώνει την ανάλυση χρόνου κατά τη λήψη RSSI και επίσης καθιστά λιγότερο αποκριτική τη χρήση RSSI ως έναυσμα για τη λήψη δεδομένων.

Υπάρχει ένας μόνο πυκνωτής που ελέγχει τους χρόνους απόκρισης AGC, αλλά, δυστυχώς, βρίσκεται κάτω από το μεταλλικό δοχείο προστασίας. Είναι πραγματικά αρκετά εύκολο να αφαιρέσετε το δοχείο διαλογής, καθώς κρατιέται από 3 ακροδέκτες και μπορεί να αποτιμηθεί, θερμαίνοντας καθένα από αυτά με τη σειρά του και ανασηκώνοντας με ένα μικρό κατσαβίδι. Μόλις αφαιρεθεί, μπορείτε να καθαρίσετε τις τρύπες για επανασυναρμολόγηση χρησιμοποιώντας πλεξούδα αποκόλλησης ή επανατρυπήστε με ένα κομμάτι περίπου 0,8 mm.

Η τροποποίηση είναι να αφαιρέσετε τον υπάρχοντα πυκνωτή AGC C4 και να τον αντικαταστήσετε με πυκνωτή 0.22uF. Αυτό επιταχύνει την απόκριση AGC περίπου 10 φορές. Δεν έχει καμία επιζήμια επίδραση στην απόδοση του δέκτη. Στην εικόνα παρουσιάζω ένα κομμάτι κοπής και έναν σύνδεσμο προς αυτό το κομμάτι από τον πυκνωτή AGC. Αυτό δεν είναι απαραίτητο, αλλά καθιστά το σημείο AGC διαθέσιμο σε ένα μαξιλάρι έξω από το δοχείο διαλογής κάτω από τον κρύσταλλο σε περίπτωση που κάποιος ήθελε να προσθέσει επιπλέον χωρητικότητα. Δεν χρειαζόταν να το κάνω αυτό. Η προβολή μπορεί στη συνέχεια να αντικατασταθεί.

Εάν χρησιμοποιείτε τη μονάδα WL301-341 RX, τότε η φωτογραφία το δείχνει με τον πυκνωτή AGC τονισμένο. Εμφανίζεται επίσης η ακίδα σήματος RSSI. Αυτό στην πραγματικότητα δεν συνδέεται με τίποτα. Κάποιος μπορεί απλά να συνδέσει ένα λεπτό καλώδιο απευθείας στον πείρο. Εναλλακτικά, οι δύο πείροι του κεντρικού βραχυκυκλωτήρα συνδέονται μεταξύ τους και οι δύο μεταφέρουν την έξοδο δεδομένων. Το ίχνος μεταξύ τους μπορεί να κοπεί και στη συνέχεια το RSSI να συνδεθεί με το εφεδρικό για να κάνει το σήμα RSSI διαθέσιμο σε έξοδο βραχυκυκλωτήρα.

Βήμα 4: Κατασκευή

Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή

Υπάρχουν περίπου 10 εξαρτήματα που απαιτούνται εκτός της μονάδας ESP-12. Αυτά μπορούν να δημιουργηθούν και να συνδεθούν σε ένα κομμάτι σανίδας πρωτοτύπων. Χρησιμοποίησα έναν ειδικό πίνακα πρωτοτύπων ESP που χρησιμοποίησα για να διευκολύνω την τοποθέτηση του ρυθμιστή και άλλων εξαρτημάτων smd. Τοποθετείται απευθείας πάνω από τη μονάδα ESP-12.

Το κουτί που χρησιμοποίησα είναι ένα τρισδιάστατο σχέδιο με 3 εσοχές στη βάση για τη λήψη του δέκτη, της οθόνης και της μονάδας esp. Διαθέτει εγκοπή για την οθόνη και οπές για το σημείο φόρτισης και το κουμπί ώθησης που πρέπει να τοποθετηθούν και να ασφαλιστούν με μια μικρή ποσότητα πόξυ ρητίνης.

Χρησιμοποίησα καλώδιο σύνδεσης για να κάνω τις συνδέσεις μεταξύ των 3 μονάδων, του σημείου φόρτισης και των κουμπιών. και στη συνέχεια στερεώστε τα στη θέση τους χρησιμοποιώντας διπλή πλαϊνή ταινία για το ESP και τον δέκτη και μικρές σταγόνες εποξειδικού για να συγκρατούν τις πλευρές της οθόνης στη θέση τους. Η μπαταρία συνδέεται με καλώδιο στο σημείο φόρτισης και τοποθετείται στο πάνω μέρος του δέκτη χρησιμοποιώντας ταινία διπλής όψης.

Βήμα 5: Λογισμικό και διαμόρφωση

Το λογισμικό είναι κατασκευασμένο στο περιβάλλον Arduino.

Ο πηγαίος κώδικας για αυτό είναι στη διεύθυνση https://github.com/roberttidey/RF433Analyser Ο κώδικας μπορεί να έχει ορισμένες σταθερές για τους κωδικούς πρόσβασης που έχουν αλλάξει για λόγους ασφαλείας πριν μεταγλωττιστεί και αναβοσβήνει στη συσκευή ES8266.

  • WM_PASSWORD ορίζει τον κωδικό πρόσβασης που χρησιμοποιεί το wifiManager κατά τη διαμόρφωση συσκευής σε τοπικό δίκτυο wifi
  • Το update_password ορίζει έναν κωδικό πρόσβασης που χρησιμοποιείται για να επιτρέψει ενημερώσεις υλικολογισμικού.

Όταν χρησιμοποιήθηκε για πρώτη φορά, η συσκευή εισέρχεται στη λειτουργία ρύθμισης παραμέτρων wifi. Χρησιμοποιήστε ένα τηλέφωνο ή tablet για να συνδεθείτε στο σημείο πρόσβασης που έχει ρυθμιστεί από τη συσκευή και, στη συνέχεια, περιηγηθείτε στο 192.168.4.1. Από εδώ μπορείτε να επιλέξετε το τοπικό δίκτυο wifi και να εισαγάγετε τον κωδικό πρόσβασής του. Αυτό πρέπει να γίνει μόνο μία φορά ή εάν αλλάξετε δίκτυα wifi ή κωδικούς πρόσβασης.

Μόλις η συσκευή συνδεθεί στο τοπικό της δίκτυο, θα ακούσει εντολές. Υποθέτοντας ότι η διεύθυνση IP είναι 192.168.0.100, χρησιμοποιήστε πρώτα 192.168.0.100:AP_PORT/upload για να ανεβάσετε τα αρχεία στο φάκελο δεδομένων. Αυτό θα επιτρέψει στη συνέχεια στο 192.168.0.100/edit να δει και να ανεβάσει περαιτέρω αρχεία και επίσης να επιτρέψει στο 192.168.0.100 να έχει πρόσβαση στη διεπαφή χρήστη.

Τα σημεία που πρέπει να σημειωθούν στο λογισμικό είναι

  • Το ADC στο ESP8266 μπορεί να βαθμονομηθεί για να βελτιώσει την ακρίβειά του. Μια συμβολοσειρά στο αρχείο ρυθμίσεων ορίζει τις επιτευχθείσες πρώτες τιμές για δύο τάσεις εισόδου. Αυτό δεν είναι ιδιαίτερα σημαντικό καθώς το RSSI είναι ένα σχετικά σχετικό σήμα ανάλογα με την κεραία κ.λπ.
  • Η τάση RSSI σε db είναι λογικά γραμμική αλλά καμπύλη στα άκρα. Το λογισμικό έχει κυβική εφαρμογή για να βελτιώσει την ακρίβεια.
  • Το μεγαλύτερο μέρος της αριθμητικής γίνεται χρησιμοποιώντας κλιμακωτούς ακέραιους αριθμούς, οπότε οι τιμές RSSI είναι στην πραγματικότητα 100 φορές οι πραγματικές. Οι τιμές που γράφονται σε αρχεία ή εμφανίζονται μετατρέπονται πίσω.
  • Το λογισμικό χρησιμοποιεί ένα απλό μηχάνημα κατάστασης για τον έλεγχο της καταγραφής του RSSI και των μεταβάσεων δεδομένων.
  • Οι μεταβάσεις δεδομένων παρακολουθούνται χρησιμοποιώντας μια ρουτίνα υπηρεσίας διακοπής. Η κανονική επεξεργασία του βρόχου Arduino αναστέλλεται κατά τη λήψη δεδομένων και ο φύλακας διατηρείται ζωντανός τοπικά. Αυτό γίνεται για να προσπαθήσουμε να βελτιώσουμε την καθυστέρηση διακοπής για να διατηρήσουμε τις μετρήσεις χρονισμού όσο το δυνατόν πιο πιστές.

Διαμόρφωση

Αυτό διατηρείται στο esp433Config.txt.

Για τη λήψη RSSI, μπορείτε να ρυθμίσετε το διάστημα δειγματοληψίας και τη διάρκεια.

Για τη λήψη δεδομένων, μπορείτε να ρυθμίσετε το επίπεδο ενεργοποίησης RSSI, τον αριθμό μεταβάσεων και τη μέγιστη διάρκεια. Ένα κατάλληλο επίπεδο σκανδάλης είναι περίπου +20dB στο επίπεδο χωρίς σήμα στο παρασκήνιο. Μια συμβολοσειρά pulseWidths επιτρέπει επίσης την απλή κατηγοριοποίηση των πλατών παλμών για να διευκολύνει την ανάλυση. Κάθε καταχωρημένη γραμμή έχει pulseLevel, πλάτος σε μικρά δευτερόλεπτα και τον κωδικό που είναι ο δείκτης στη συμβολοσειρά pulseWidths που είναι μεγαλύτερος από το μετρημένο πλάτος.

Το CalString μπορεί να βελτιώσει την ακρίβεια ADC.

Το idleTimeout ελέγχει τον αριθμό χιλιοστών του δευτερολέπτου αδράνειας (χωρίς καταγραφές) προτού απενεργοποιηθεί αυτόματα η συσκευή. Ορίζοντας το στο 0 σημαίνει ότι δεν θα λήξει το χρονικό όριο.

Οι τρεις ρυθμίσεις κουμπιών ελέγχουν τι διακρίνει τις σύντομες μεσαίες και μεγάλες πιέσεις κουμπιών.

displayUpdate δίνει το τοπικό διάστημα ανανέωσης της οθόνης.

Βήμα 6: Χρήση

Η μονάδα ενεργοποιείται πατώντας το κουμπί για μικρό χρονικό διάστημα.

Η οθόνη θα εμφανίσει αρχικά την τοπική διεύθυνση IP για μερικά δευτερόλεπτα προτού αρχίσει να εμφανίζει το επίπεδο RSSI σε πραγματικό χρόνο.

Ένα σύντομο πάτημα κουμπιού θα ξεκινήσει μια καταγραφή RSSI στο αρχείο. Κανονικά αυτό θα τερματιστεί όταν τελειώσει η διάρκεια RSSI, αλλά ένα ακόμη σύντομο πάτημα κουμπιού θα τερματίσει επίσης τη λήψη.

Ένα μεσαίο πάτημα κουμπιού θα ξεκινήσει μια καταγραφή μετάβασης δεδομένων. Στην οθόνη θα εμφανιστεί αναμονή για σκανδάλη. Όταν το RSSI υπερβεί το επίπεδο σκανδάλης, τότε θα αρχίσει να καταγράφει χρονομετρημένες μεταβάσεις δεδομένων για τον αριθμό των καθορισμένων μεταβάσεων.

Κρατώντας πατημένο το κουμπί για περισσότερο από το κουμπί για μεγάλο χρονικό διάστημα, η μονάδα θα απενεργοποιηθεί.

Οι εντολές λήψης μπορούν επίσης να ξεκινήσουν από τη διεπαφή ιστού.

Βήμα 7: Διασύνδεση Ιστού

Διασύνδεση Ιστού
Διασύνδεση Ιστού
Διασύνδεση Ιστού
Διασύνδεση Ιστού

Η πρόσβαση στη συσκευή μέσω της διεύθυνσης IP εμφανίζει μια διεπαφή ιστού με 3 καρτέλες. Λήψεις, κατάσταση και διαμόρφωση.

Η οθόνη καταγραφής εμφανίζει τα τρέχοντα αρχεία που έχουν ληφθεί. Τα περιεχόμενα ενός αρχείου ενδέχεται να εμφανιστούν κάνοντας κλικ στο όνομά του. Υπάρχουν επίσης κουμπιά διαγραφής και λήψης για κάθε αρχείο.

Υπάρχουν επίσης κουμπιά καταγραφής RSSI και καταγραφής Δεδομένων που μπορούν να χρησιμοποιηθούν για την έναρξη λήψης. Εάν δοθεί ένα όνομα αρχείου, θα χρησιμοποιηθεί διαφορετικά θα δημιουργηθεί ένα προεπιλεγμένο όνομα.

Η καρτέλα config εμφανίζει την τρέχουσα διαμόρφωση και επιτρέπει την αλλαγή και αποθήκευση των τιμών.

Η διεπαφή ιστού υποστηρίζει τις ακόλουθες κλήσεις

/επεξεργασία - πρόσβαση στο σύστημα αρχειοθέτησης της συσκευής. μπορεί να χρησιμοποιηθεί για τη λήψη μέτρων Αρχεία

  • /status - επιστρέψτε μια συμβολοσειρά που περιέχει λεπτομέρειες κατάστασης
  • /loadconfig -επιστρέψτε μια συμβολοσειρά που περιέχει λεπτομέρειες διαμόρφωσης
  • /saveconfig - αποστολή και αποθήκευση μιας συμβολοσειράς για ενημέρωση διαμόρφωσης
  • /loadcapture - επιστροφή μιας συμβολοσειράς που περιέχει μέτρα από αρχεία
  • /setmeasureindex - αλλάξτε το ευρετήριο που θα χρησιμοποιηθεί για το επόμενο μέτρο
  • /getcapturefiles - λάβετε μια συμβολοσειρά με λίστα διαθέσιμων αρχείων μέτρησης
  • /capture - ενεργοποιεί τη λήψη RSSI ή δεδομένων
  • /firmware - εκκίνηση ενημέρωσης υλικολογισμικού

Συνιστάται: