Съдържание:

LiFi комуникация: 6 стъпки
LiFi комуникация: 6 стъпки

Видео: LiFi комуникация: 6 стъпки

Видео: LiFi комуникация: 6 стъпки
Видео: 6 СЕКРЕТОВ общения с ChatGPT [OpenAI] искусственный интеллект 2024, Юли
Anonim
LiFi комуникация
LiFi комуникация

В тази инструкция ще научите как да прилагате LiFi комуникация (предавател и приемник) на софтуерно и хардуерно ниво.

Стъпка 1: Съберете компоненти

Съберете компоненти
Съберете компоненти

Нещата, от които се нуждаете:

-Arduino и Zedboard

-осцилоскоп

-Резистори: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm и 27 ohm.

-омпа, кондензатор, ценердиод, фотодиод, светодиоди и корда.

Стъпка 2: Изграждане на дизайна

Изграждане на дизайна
Изграждане на дизайна
Изграждане на дизайна
Изграждане на дизайна
Изграждане на дизайна
Изграждане на дизайна

На изображението е дадена схемата за приемника.

Първо, свържете анода (отрицателен извод) на фотодиода към 3.3V (Vcc), катода (положителен извод) към земята чрез резистор 8k2 ohm. Свържете също катода към положителния извод на вашия opamp, който ще се използва за усилване на сигнала. Използваме отрицателна обратна връзка, така че свържете 2 резистора към отрицателния извод на опампата, 1 (1k2 ома) отива към изхода на опампата, другият (220 ома) отива към земята. За да защитите своя GPIO щифт, свържете последователно обърнат ценеров диод от 3.3V с резистор 1k2 ohm към земята. Изходът на opamp трябва да бъде свързан към GPIO щифт.

Предавателят се състои само от един 27 омов резистор и светодиод последователно. Единият край отива към GPIOpin, а другият към земята, като се уверите, че късият крак на светодиода е свързан към земята.

Ако дизайните работят, можете да направите печатна платка за него. На печатната платка комбинирахме предавателя и приемника на една платка, така че в крайна сметка можем да изпращаме данни в две посоки. Можете също да видите схемите на печатни платки в изображенията за приемника и предавателя.

Стъпка 3: Тестване на дизайна

Използвайте осцилоскоп, за да проверите дизайна, тъй като околната светлина и разликата във фотодиодите могат да дадат различни резултати в изходния сигнал.

Свържете вашия предавател към arduino и генерирайте квадратна вълна с желаната честота. Поставете светодиода на предавателя близо до фотодиода.

Свържете една сонда към положителния извод на вашия opamp, друга към изхода на вашия opamp. Ако вашият изходен сигнал е твърде слаб, резисторите с отрицателна обратна връзка (1k2 ohm, 220 ohm) трябва да бъдат сменени. Имате 2 възможности за избор, увеличете резистора 1k2 ohm или намалете резистора 220 ohm. Ако продукцията е твърде висока, направете обратното.

Ако всичко изглежда наред, преминете към следващата стъпка.

Стъпка 4: Получаване на целия необходим софтуер

Получаване на целия необходим софтуер
Получаване на целия необходим софтуер

На изображението могат да се видят различните стъпки за кодиране за прилагане на LiFi. За да декодирате, същите стъпки трябва да се изпълнят в обратен ред.

За този проект са необходими някои библиотеки, те са включени в дадените файлове и ето връзките към хранилището на github:

-Рийд-Соломон:

-Конволюционен енкодер:

За да накараме файловете да правят това, което искаме, направихме някои корекции в тях, така че е необходимо да използваме нашата версия на библиотеките, включени във файловете.

След конволюционния енкодер е необходима една последна стъпка на кодиране, кодирането в Манчестър. Данните от конволюционния енкодер се изпращат към fifo буфер. Този буфер се чете в PL частта на zedboard, проектът е включен във файла 'LIFI.7z'. С проекта можете да изградите свой собствен поток от битове за zedboard или просто да използвате предоставения от нас бит поток. За да използвате този поток от битове, първо трябва да инсталирате Xillinux 2.0 на zedboard. Обяснението как да направите това е дадено на уебсайта на Xillybus.

Стъпка 5: Направете изпълними файлове

Трябва да се направят два отделни изпълними файла, един за предавателя и един за приемника. За да направите това, следните команди трябва да бъдат изпълнени на zedboard:

- Предавател: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Предавател

- Приемник: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o приемник

Стъпка 6: Тествайте всичко

Свържете предавателя към щифта JD1_P и приемника към щифта JD1_N на zedboard. Не забравяйте да промените ограничителния файл, ако искате да промените стандартните щифтове.

За да проверите дали всичко работи, отворете 2 терминални прозореца в частта PS. В един терминал първо изпълнете приемащата част. След това изпълнете частта на предавателя във втория терминален прозорец.

Ако всичко върви както трябва, резултатът трябва да е същият като на горното изображение.

Препоръчано: