Table des matières:

Communication LiFi : 6 étapes
Communication LiFi : 6 étapes

Vidéo: Communication LiFi : 6 étapes

Vidéo: Communication LiFi : 6 étapes
Vidéo: How miscommunication happens (and how to avoid it) - Katherine Hampsten 2024, Juillet
Anonim
Communication Li-Fi
Communication Li-Fi

Dans ce instructable, vous apprendrez comment mettre en œuvre la communication LiFi (émetteur et récepteur) au niveau logiciel et matériel.

Étape 1: Rassemblez les composants

Rassembler les composants
Rassembler les composants

Choses dont vous aurez besoin:

-Arduino et Zedboard

-oscilloscope

-Résistances: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm et 27 ohm.

-opamp, condensateur, zenerdiode, photodiode, LED et breadboard.

Étape 2: Construire la conception

Construire la conception
Construire la conception
Construire la conception
Construire la conception
Construire la conception
Construire la conception

Sur l'image, le schéma du récepteur est donné.

Tout d'abord, connectez l'anode (borne négative) de la photodiode à 3,3 V (Vcc), la cathode (borne positive) à la terre via une résistance de 8k2 ohms. Connectez également la cathode à la borne positive de votre ampli op, qui servira à amplifier le signal. Nous utilisons une rétroaction négative, connectez donc 2 résistances à la borne négative de l'ampli-op, 1 (1k2 ohms) va à la sortie de l'ampli-op, l'autre (220 ohms) va à la terre. Pour protéger votre broche GPIO, connectez une diode Zener polarisée inversée de 3,3 V en série avec une résistance de 1k2 ohm à la terre. La sortie de l'opamp doit être connectée à une broche GPIO.

L'émetteur se compose simplement d'une résistance de 27 ohms et d'une LED en série. Une extrémité va à une broche GPIO et l'autre à la terre, en s'assurant que la branche courte de la LED est connectée à la terre.

Si les conceptions fonctionnent, vous pouvez créer un PCB pour cela. Sur le PCB, nous avons combiné l'émetteur et le récepteur sur une seule carte, afin que nous puissions éventuellement envoyer des données dans les deux sens. Vous pouvez également voir les schémas PCB dans les images pour le récepteur et l'émetteur.

Étape 3: Tester la conception

Utilisez un oscilloscope pour vérifier la conception car la lumière ambiante et la différence entre les photodiodes peuvent donner des résultats différents dans le signal de sortie.

Connectez votre émetteur à un arduino et générez une onde carrée avec la fréquence souhaitée. Placez la LED de l'émetteur à proximité de la photodiode.

Connectez une sonde à la borne positive de votre ampli op, une autre à la sortie de votre ampli op. Si votre signal de sortie est trop faible, les résistances de contre-réaction (1k2 ohm, 220 ohm) doivent être changées. Vous avez 2 choix, augmenter la résistance de 1k2 ohm ou diminuer la résistance de 220 ohm. Si la sortie est trop élevée, faites l'inverse.

Si tout semble ok, passez à l'étape suivante.

Étape 4: Obtenir tous les logiciels nécessaires

Obtenir tous les logiciels nécessaires
Obtenir tous les logiciels nécessaires

Sur l'image on peut voir les différentes étapes d'encodage pour implémenter le LiFi. Pour décoder, les mêmes étapes doivent être exécutées à l'envers.

Pour ce projet, certaines bibliothèques sont nécessaires, elles sont incluses dans les fichiers donnés et voici les liens vers le référentiel github:

-Reed-Solomon:

-Encodeur convolutif:

Pour que les fichiers fassent ce que nous voulons, nous y avons fait quelques ajustements, il est donc nécessaire d'utiliser notre version des bibliothèques, incluses dans les fichiers.

Après l'encodeur convolutif, une dernière étape d'encodage est nécessaire, l'encodage manchester. Les données du codeur convolutif sont envoyées à une mémoire tampon FIFO. Ce buffer est lu dans la partie PL du zedboard, le projet est inclus dans le fichier 'LIFI.7z'. Avec le projet, vous pouvez créer votre propre bitstream pour le zedboard ou vous pouvez simplement utiliser le bitstream que nous avons fourni. Pour utiliser ce flux binaire, vous devez d'abord installer Xillinux 2.0 sur le zedboard. L'explication de la marche à suivre est fournie sur le site Web de Xillybus.

Étape 5: Créez les exécutables

Deux exécutables distincts doivent être créés, un pour l'émetteur et un pour le récepteur. Pour ce faire, les commandes suivantes doivent être exécutées sur le zedboard:

- Émetteur: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Émetteur

- Récepteur: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Récepteur

Étape 6: tout tester

Connectez l'émetteur à la broche JD1_P et le récepteur à la broche JD1_N sur le zedboard. Assurez-vous de changer le fichier de contraintes si vous souhaitez changer les broches standard.

Pour tester si tout fonctionne, ouvrez 2 fenêtres de terminal dans la partie PS. Dans un terminal, exécutez d'abord la partie réception. Après cela, exécutez la partie émetteur dans la deuxième fenêtre de terminal.

Si tout se passe comme il se doit, le résultat devrait être le même que sur l'image ci-dessus.

Conseillé: