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

Επικοινωνία LiFi: 6 βήματα
Επικοινωνία LiFi: 6 βήματα

Βίντεο: Επικοινωνία LiFi: 6 βήματα

Βίντεο: Επικοινωνία LiFi: 6 βήματα
Βίντεο: Πως Κάνουμε Πλύση Εγκεφάλου Για Προσέλκυση Πλούτου Και Επιτυχίας|Τα 6 ΒΗΜΑΤΑ (Δωρεάν WORKSHOP) 2024, Ιούλιος
Anonim
Επικοινωνία LiFi
Επικοινωνία LiFi

Σε αυτό το διδακτικό θα μάθετε πώς να εφαρμόζετε την επικοινωνία LiFi (πομπός και δέκτης) σε επίπεδο λογισμικού και υλικού.

Βήμα 1: Συγκέντρωση εξαρτημάτων

Συγκεντρώστε εξαρτήματα
Συγκεντρώστε εξαρτήματα

Πράγματα που θα χρειαστείτε:

-Ardduino και Zedboard

-παλμοσκόπιο

-Αντίσταση: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm και 27 ohm.

-opamp, πυκνωτής, zenerdiode, photodiode, LEDs και breadbord.

Βήμα 2: Χτίζοντας το σχέδιο

Χτίζοντας το Σχέδιο
Χτίζοντας το Σχέδιο
Χτίζοντας το Σχέδιο
Χτίζοντας το Σχέδιο
Χτίζοντας το Σχέδιο
Χτίζοντας το Σχέδιο

Στην εικόνα, δίνεται το σχηματικό για τον δέκτη.

Αρχικά, συνδέστε την άνοδο (αρνητικό τερματικό) της φωτοδιόδου σε 3,3V (Vcc), την κάθοδο (θετικό τερματικό) στη γείωση μέσω αντίστασης 8k2 ohm. Συνδέστε επίσης την κάθοδο στο θετικό τερματικό του opamp, το οποίο θα χρησιμοποιηθεί για την ενίσχυση του σήματος. Χρησιμοποιούμε αρνητική ανάδραση, οπότε συνδέστε 2 αντιστάσεις στον αρνητικό ακροδέκτη του opamp, 1 (1k2 ohm) πηγαίνει στην έξοδο του opamp, ο άλλος (220 ohm) πηγαίνει στη γείωση. Για να προστατέψετε τον ακροδέκτη GPIO, συνδέστε μια αντίστροφη προκατειλημμένη δίοδο zener 3,3V σε σειρά με αντίσταση 1k2 ohm στη γείωση. Η έξοδος του opamp πρέπει να συνδεθεί σε έναν ακροδέκτη GPIO.

Ο πομπός απλώς αποτελείται από μία αντίσταση 27 ohm και μια σειρά LED. Το ένα άκρο πηγαίνει σε ένα GPIOpin και το άλλο στη γείωση, διασφαλίζοντας ότι το κοντό πόδι του LED είναι συνδεδεμένο με τη γείωση.

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

Βήμα 3: Δοκιμή του σχεδίου

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

Συνδέστε τον πομπό σας σε ένα arduino και δημιουργήστε ένα τετράγωνο κύμα με την επιθυμητή συχνότητα. Τοποθετήστε το LED πομπού κοντά στη δίοδο φωτογραφίας.

Συνδέστε έναν αισθητήρα στο θετικό τερματικό του opamp και έναν άλλο στην έξοδο του opamp. Εάν το σήμα εξόδου σας είναι πολύ αδύναμο, οι αντιστάσεις αρνητικής ανάδρασης (1k2 ohm, 220 ohm) πρέπει να αλλάξουν. Έχετε 2 επιλογές, αυξήστε την αντίσταση 1k2 ohm ή μειώστε την αντίσταση 220 ohm. Εάν η έξοδος είναι πολύ υψηλή, κάντε το αντίθετο.

Εάν όλα φαίνονται εντάξει, προχωρήστε στο επόμενο βήμα.

Βήμα 4: Λήψη όλου του απαραίτητου λογισμικού

Απόκτηση όλου του απαραίτητου λογισμικού
Απόκτηση όλου του απαραίτητου λογισμικού

Στην εικόνα διακρίνονται τα διαφορετικά βήματα κωδικοποίησης για την εφαρμογή LiFi. Για την αποκωδικοποίηση, τα ίδια βήματα πρέπει να εκτελεστούν αντίστροφα.

Για αυτό το έργο χρειάζονται κάποιες βιβλιοθήκες, περιλαμβάνονται στα δεδομένα αρχεία και εδώ είναι οι σύνδεσμοι προς το αποθετήριο github:

-Reed-Solomon:

-Convolutional encoder:

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

Μετά τον συνελικτικό κωδικοποιητή, απαιτείται ένα τελευταίο βήμα κωδικοποίησης, η κωδικοποίηση manchester. Τα δεδομένα από τον κωδικοποιητή μετατροπής αποστέλλονται σε ένα buffer fifo. Αυτό το buffer διαβάζεται στο τμήμα PL του zedboard, το έργο περιλαμβάνεται στο αρχείο 'LIFI.7z'. Με το έργο μπορείτε να δημιουργήσετε το δικό σας bitstream για το zedboard ή μπορείτε απλά να χρησιμοποιήσετε το bitstream που σας δώσαμε. Για να χρησιμοποιήσετε αυτό το bitstream, πρέπει πρώτα να εγκαταστήσετε το Xillinux 2.0 στο zedboard. Η εξήγηση πώς να το κάνετε αυτό παρέχεται στον ιστότοπο του Xillybus.

Βήμα 5: Κάντε τα εκτελέσιμα

Πρέπει να γίνουν δύο ξεχωριστά εκτελέσιμα, ένα για τον πομπό και ένα για τον δέκτη. Για να γίνει αυτό, πρέπει να εκτελεστούν οι ακόλουθες εντολές στο zedboard:

- Πομπός: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Transmitter

- Δέκτης: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Receiver

Βήμα 6: Δοκιμάζοντας τα πάντα

Συνδέστε τον πομπό στον ακροδέκτη JD1_P και τον δέκτη στον ακροδέκτη JD1_N του zedboard. Βεβαιωθείτε ότι έχετε αλλάξει το αρχείο περιορισμού εάν θέλετε να αλλάξετε τις τυπικές ακίδες.

Για να ελέγξετε αν όλα λειτουργούν, ανοίξτε 2 παράθυρα τερματικών στο τμήμα PS. Σε ένα τερματικό εκτελέστε πρώτα το τμήμα λήψης. Μετά από αυτό, εκτελέστε το τμήμα πομπού στο δεύτερο παράθυρο τερματικού.

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

Συνιστάται: