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

Κιτ ανάπτυξης Python RF: 5 βήματα
Κιτ ανάπτυξης Python RF: 5 βήματα

Βίντεο: Κιτ ανάπτυξης Python RF: 5 βήματα

Βίντεο: Κιτ ανάπτυξης Python RF: 5 βήματα
Βίντεο: MOOC - Intégrer le numérique - Choisir son robot programmable RF 5/6 2024, Ιούλιος
Anonim
Κιτ ανάπτυξης Python RF
Κιτ ανάπτυξης Python RF

Πρώτα απ 'όλα, θα ήθελα να κάνω μια μικρή εισαγωγή για το πώς μπήκα στα πράγματα της RF και γιατί δουλεύω σε αυτό το έργο.

Ως φοιτητής πληροφορικής με συγγένεια με το υλικό, άρχισα να παρακολουθώ κάποια μαθήματα που ασχολούνται με τα ασύρματα σήματα και την ασφάλεια στις ασύρματες επικοινωνίες τον Οκτώβριο του 2018. Άρχισα να πειραματίζομαι με ραδιόφωνα RTL-SDR και HackRF και με off-the- ράφι μονάδες Arduino RF.

Το ζήτημα είναι: Τα SDR δεν είναι αρκετά φορητά για τους σκοπούς μου (πρέπει πάντα να μεταφέρω φορητό υπολογιστή, κεραίες κ.λπ.) και οι φθηνές μονάδες Arduino RF δεν είναι αρκετά ικανές όσον αφορά την ισχύ του σήματος, την προσαρμοστικότητα, το εύρος συχνοτήτων και τον αυτοματισμό.

Οι κεραίες CC1101 της Texas Instruments είναι μια εξαιρετική επιλογή για μικρούς αλλά ικανούς πομποδέκτες RF που είναι επίσης πολύ φθηνοί. Οι άνθρωποι έχουν δημιουργήσει υπέροχα πράγματα μαζί τους, όπως DIR SDR και τέτοια πράγματα.

Ένα άλλο πράγμα που ήθελα να ασχοληθώ με αυτό το θέμα ήταν το CircuitPython. Είναι μια νέα γλώσσα προγραμματισμού από μικροελεγκτές για την οποία έχω ακούσει πολλά καλά πράγματα και έτσι ήθελα να το δοκιμάσω. Αποδείχθηκε ότι το απολαμβάνω πολύ, ειδικά σε συνδυασμό με τον πίνακα του Adafruit's Feather M4 Express που χρησιμοποιώ επίσης σε αυτό το έργο. Είναι πολύ εύκολο να κάνετε εντοπισμό σφαλμάτων καθώς δεν χρειάζεται να μεταγλωττίζετε προσαρμοσμένα firmware κάθε φορά που δοκιμάζετε μια μικρή αλλαγή στον κώδικά σας, παίρνετε μια κονσόλα REPL και ο κωδικός σας παραμένει επίσης στον ίδιο τον μικροελεγκτή, πράγμα που σημαίνει ότι μπορείτε να το μεταφέρετε, να το συνδέσετε σε διάφορους υπολογιστές και θα μπορείτε πάντα να κάνετε αλλαγές εν κινήσει.

Βήμα 1: Στοιχεία υλικού

Συστατικά υλικού
Συστατικά υλικού

Τι θα χρειαστείτε για να αναπαράγετε αυτό το έργο:

  • Adafruit Feather M4 Express
  • 2x Texas Instruments CC1101 Transceiver + Antenna
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

Ουσιαστικά αυτό είναι το μόνο που χρειάζεστε για να έχετε έναν αρκετά συμπαγή και ικανό πομποδέκτη RF, αλλά όπως μπορείτε να δείτε στην εικόνα δεν πρόκειται να είναι πολύ αξιόπιστο και τακτοποιημένο με όλα αυτά τα καλώδια βραχυκυκλωτήρων.

Έτσι σχεδίασα ένα προσαρμοσμένο PCB χρησιμοποιώντας το https://easyeda.com/ και το παρήγγειλα από το JLCPCB.com (πολύ φθηνό και εξαιρετικής ποιότητας!) Για να τα συνδέσω όλα μαζί. Αυτό επέτρεψε επίσης την εύκολη ενσωμάτωση 3 κουμπιών και LED για την είσοδο του χρήστη και τις εξόδους κατάστασης.

Και τέλος, τύπωσα τρισδιάστατα ένα μικρό εξώφυλλο για το πίσω μέρος του PCB, ώστε να μην ξεκολλάει με τίποτα και να κάθεται στο τραπέζι.

Εάν είστε νέοι στο σχεδιασμό ηλεκτρονικών και PCB, θα σας συνιστούσα να ελέγξετε αυτές τις οδηγίες: Βασικά ηλεκτρονικά, τάξη σχεδίασης κυκλωμάτων!

Στα συνημμένα μπορείτε να βρείτε τα αρχεία Gerber για το PCB μου. Εάν αποφασίσετε να το κατασκευάσετε, θα χρειαστείτε μερικά επιπλέον εξαρτήματα που προσωπικά παρήγγειλα από την LCSC, καθώς σχετίζονται με το JLCPCB, ώστε να προσφέρουν την αποστολή όλων μαζί, εξοικονομώντας λίγο έξοδα αποστολής και τα εξαρτήματα είναι επίσης απλά πολύ φθηνά εκεί. Δείτε το BOM για τη λεπτομερή λίστα. Επέλεξα το μεγάλο μέγεθος συσκευασίας 0805 για τα εξαρτήματα SMD, ώστε όλοι να μπορούν να τα κολλήσουν με το χέρι στο PCB!

Βήμα 2: Χτίζοντας το Διοικητικό Συμβούλιο

Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο
Χτίζοντας το Διοικητικό Συμβούλιο

Στην πρώτη εικόνα μπορούμε να δούμε τα PCB χωρίς καμία "τροποποίηση" - προέρχονται έτσι από το εργοστάσιο. Πολύ καθαρά κοψίματα (χωρίς v-groove, εντελώς δρομολογημένα) και ωραία βία σε όλες τις τρύπες THT.

Εάν θέλετε να χρησιμοποιήσετε τα LED θα πρέπει να τα κολλήσετε καθώς και τις αντιστάσεις SMD. Οι αντιστάσεις είναι συνήθως κρυμμένες κάτω από τον μικροελεγκτή, αλλά ορατές στη δεύτερη εικόνα που δείχνει την εντελώς κολλημένη πλακέτα. Εάν δεν έχετε μεγάλη εμπειρία με τη συγκόλληση, μπορεί να είναι λίγο δύσκολο να κολλήσετε SMD, αλλά είναι προαιρετικό και όλα τα βασικά εξαρτήματα είναι THT. Πάντα μου αρέσει να προτείνω τα βίντεο του Dave (EEVblog) και πραγματικά το είδα μόνος μου: EEVblog #186 - Soldering Tutorial Part 3 - Surface Mount. Είναι αρκετά μακρύ, αλλά αξίζει τον κόπο αν είστε νέοι σε αυτό το υλικό!

Το αναφέρει και αυτό, αλλά: φροντίστε να κολλήσετε πρώτα τις αντιστάσεις και τα LED, στη συνέχεια τα κουμπιά δεύτερα και τις κεφαλίδες στο τέλος. Με αυτόν τον τρόπο μπορείτε πάντα να χρησιμοποιήσετε τον πίνακα για να σπρώξετε το εξάρτημα από κάτω και να κολλήσετε από πάνω (το PCB αναποδογύρισε ανάποδα).

Αφού κολλήσετε τα πάντα, μπορείτε απλά να συνδέσετε το Feather M4 και μία ή δύο κεραίες και το υλικό είναι έτοιμο! Δεδομένου ότι δεν κολλάμε σε αυτά τα εξαρτήματα, μπορούμε πάντα να τα βγάλουμε από τον πίνακα και να τα χρησιμοποιήσουμε για ένα άλλο έργο που είναι υπέροχο!

Λάβετε υπόψη ότι στην τρίτη εικόνα έχω τις κανονικές, κοντές αρσενικές κεφαλίδες στο Φτερό, οπότε δεν μπορούσα να στοιβάζω το OLED από πάνω. Έπρεπε να τα ξεκολλήσω και να προσθέσω κεφαλίδες στοίβαξης φτερών. Αν θέλετε να χρησιμοποιήσετε το OLED, αποκτήστε αμέσως τις κεφαλίδες στοίβαξης, ειλικρινά: D Η αποκόλληση είναι απλώς ένας πόνος.

Βήμα 3: Λογισμικό

Με το υλικό που έχει τελειώσει, ας μιλήσουμε για λογισμικό.

Όπως αναφέρθηκε στην εισαγωγή, το M4 εκτελεί κώδικα Python, αλλά προφανώς δεν υπήρχε βιβλιοθήκη για το CC1101 στη γλώσσα Python. Έτσι έκανα αυτό που κάνουν οι DIYers και έγραψα το δικό μου. Μπορείτε να το βρείτε εδώ:

Δεν υποστηρίζει όλα όσα μπορούν να κάνουν οι μεγάλοι πομποδέκτες TI, αλλά αρκεί να στέλνει και να λαμβάνει εύκολα δεδομένα που κωδικοποιούνται με ASK σε οποιαδήποτε συχνότητα. Iμουν σε θέση να επικοινωνήσω με πρίζες τοίχου που ελέγχονται από RF καθώς και με το αυτοκίνητο της οικογένειάς μου χρησιμοποιώντας αυτήν τη βιβλιοθήκη.

Πιθανότατα θα συνεχίσω να το δουλεύω και αν έχετε οποιεσδήποτε ερωτήσεις, αιτήματα χαρακτηριστικών ή θέλετε να συμβάλλετε στην ανάπτυξη, μη διστάσετε να επικοινωνήσετε μαζί μου!

Βήμα 4: Δυνατότητες και δυνατότητες

Δεδομένου ότι σχεδίασα αυτήν τη συσκευή για να χρησιμοποιεί διπλές κεραίες και τους εξαιρετικά ρυθμιζόμενους πομποδέκτες TI CC1101, έχετε πολλές δυνατότητες, ειδικά στον τομέα όπου δεν θέλετε να χρειάζεται να μεταφέρετε τίποτα περισσότερο από μια συσκευή μεγέθους smartphone.

Μπορείτε, για παράδειγμα, να καταγράψετε σήματα επικοινωνιών στη ζώνη 433MHz και να τα στείλετε πίσω στον οικιακό σας σταθμό με τη δευτερεύουσα κεραία να λειτουργεί στα 868MHz.

Or αν θέλετε να μελετήσετε και να πειραματιστείτε με αντιδραστική εμπλοκή, μπορείτε να έχετε μια κεραία ακρόασης και εμπλοκής που στέλνει τα δικά της σήματα μόλις εντοπιστεί μια μετάδοση, χωρίς να κάνετε την "παραδοσιακή μέθοδο" της εναλλαγής μεταξύ RX και TX ως όσο το δυνατόν γρηγορότερα.

Ένα άλλο πολύ ωραίο πράγμα για το Feather M4 είναι ότι έρχεται με ενσωματωμένο κύκλωμα φόρτισης LiPo, ώστε απλά να συνδέσετε την μπαταρία σας και να είστε έτοιμοι να ξεκινήσετε. Στην περίπτωσή μου, με μία κεραία σε σταθερή λειτουργία RX, ακρόαση για εκπομπές και ενεργοποιημένη οθόνη OLED, η συσκευή θα λειτουργούσε για σχεδόν 20 ώρες με LiPo 1000 mAh.

Χρήση της οθόνης OLED - αλλά και δυνατή χωρίς αυτήν, π.χ. χρησιμοποιώντας τις τρεις λυχνίες LED κατάστασης - μπορείτε να έχετε πολλά προγράμματα και να επιλέξετε ποιο θέλετε να εκτελέσετε με τα κουμπιά στο κάτω μέρος του πίνακα. Προσωπικά εφάρμοσα ακόμη και ένα ολόκληρο μενού με λειτουργίες για να διαλέξετε και προβολή ρύθμισης συχνότητας κ.λπ.

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

Προσωπικά αντέγραψα την επίθεση RollJam και με αυτήν τη συσκευή, αλλά δεν θα δημοσιεύσω τον κώδικα, επειδή η εμπλοκή είναι παράνομη στα περισσότερα μέρη, οπότε αν επιχειρήσετε κάτι τέτοιο, συμβουλευτείτε τους τοπικούς νόμους σας;-)

Δεδομένου ότι ο πίνακας εμφανίζεται ως δίσκος USB όταν τον συνδέετε και το CircuitPython προσφέρει μια τέτοια δυνατότητα, μπορείτε επίσης να ζητήσετε από τη συσκευή να καταγράψει εκπομπές RF και να αποθηκεύσετε τα αποδιαμορφωμένα δεδομένα (ω ναι, οι πομποδέκτες το κάνουν αυτό αυτόματα!) Σε ένα αρχείο κειμένου το οποίο μπορείτε αργότερα να αντιγράψετε στον υπολογιστή σας και να το αναλύσετε για επιστημονικούς σκοπούς, όπως η αντίστροφη μηχανική μετάδοσης.

Βήμα 5: Τελικό αποτέλεσμα

Τελικό αποτέλεσμα
Τελικό αποτέλεσμα

Οποιαδήποτε σχόλια, προτάσεις και συνεισφορές σε αυτό το έργο είναι ευπρόσδεκτα και μη διστάσετε να κάνετε ερωτήσεις εάν έχετε!

Συνιστάται: