Mục lục:
- Bước 1: Thu thập các thành phần
- Bước 2: Xây dựng thiết kế
- Bước 3: Kiểm tra thiết kế
- Bước 4: Nhận tất cả phần mềm cần thiết
- Bước 5: Tạo các tệp thực thi
- Bước 6: Kiểm tra mọi thứ
Video: Giao tiếp LiFi: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Trong tài liệu hướng dẫn này, bạn sẽ học cách triển khai giao tiếp LiFi (bộ phát và bộ thu) ở cấp độ phần mềm và phần cứng.
Bước 1: Thu thập các thành phần
Những thứ bạn sẽ cần:
-Arduino và Zedboard
-máy hiện sóng
- Điện trở: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm và 27 ohm.
-opamp, tụ điện, zenerdiode, photodiode, đèn LED và breadbord.
Bước 2: Xây dựng thiết kế
Trên hình ảnh, sơ đồ cho máy thu được đưa ra.
Đầu tiên, kết nối cực dương (cực âm) của điốt quang với 3,3V (Vcc), cực âm (cực dương) với đất thông qua điện trở 8k2 ohm. Đồng thời kết nối cực âm với cực dương của opamp của bạn, cực này sẽ được sử dụng để khuếch đại tín hiệu. Chúng tôi đang sử dụng phản hồi tiêu cực để kết nối 2 điện trở với cực âm của opamp, 1 (1k2 ohm) đi đến đầu ra của opamp, còn lại (220 ohm) nối đất. Để bảo vệ chân GPIO của bạn, hãy kết nối nối tiếp một diode zener phân cực ngược 3,3V với điện trở 1k2 ohm với đất. Đầu ra của opamp cần được kết nối với chân GPIO.
Máy phát chỉ bao gồm một điện trở 27 ohm và một đèn LED mắc nối tiếp. Một đầu nối với GPIOpin và đầu kia nối đất, đảm bảo rằng chân ngắn của đèn LED được kết nối với đất.
Nếu các thiết kế đang hoạt động, bạn có thể tạo một PCB cho nó. Trên PCB, chúng tôi kết hợp máy phát và máy thu trên một bảng, vì vậy cuối cùng chúng tôi có thể gửi dữ liệu theo hai hướng. Bạn cũng có thể xem sơ đồ PCB trong hình ảnh của bộ thu và bộ phát.
Bước 3: Kiểm tra thiết kế
Sử dụng máy hiện sóng để kiểm tra thiết kế vì ánh sáng xung quanh và sự khác biệt về điốt quang có thể cho kết quả khác nhau về tín hiệu đầu ra.
Kết nối máy phát của bạn với arduino và tạo ra sóng vuông với tần số mong muốn. Đặt đèn LED của máy phát gần với diode quang.
Kết nối một đầu dò với cực dương của opamp, một đầu dò khác với đầu ra của opamp. Nếu tín hiệu đầu ra của bạn quá yếu, bạn cần thay đổi điện trở phản hồi âm (1k2 ohm, 220 ohm). Bạn có 2 sự lựa chọn, tăng điện trở 1k2 ohm hoặc giảm điện trở 220 ohm. Nếu đầu ra quá cao, hãy làm ngược lại.
Nếu mọi thứ có vẻ ổn, hãy chuyển sang bước tiếp theo.
Bước 4: Nhận tất cả phần mềm cần thiết
Trên hình ảnh có thể thấy các bước mã hóa khác nhau để triển khai LiFi. Để giải mã, các bước tương tự cần được thực hiện ngược lại.
Đối với dự án này, một số thư viện là cần thiết, chúng được bao gồm trong các tệp nhất định và đây là các liên kết đến kho lưu trữ github:
-Reed-Solomon:
-Bộ mã hóa điện tử:
Để các tệp thực hiện những gì chúng tôi muốn, chúng tôi đã thực hiện một số điều chỉnh trong chúng, vì vậy cần sử dụng phiên bản thư viện của chúng tôi, được bao gồm trong các tệp.
Sau bộ mã hóa chập, một bước mã hóa cuối cùng là cần thiết, đó là mã hóa manchester. Dữ liệu từ bộ mã hóa tích chập được gửi đến một bộ đệm năm mươi. Bộ đệm này được đọc trong phần PL của zedboard, dự án được bao gồm trong tệp 'LIFI.7z'. Với dự án, bạn có thể xây dựng dòng bit của riêng mình cho zedboard hoặc bạn chỉ có thể sử dụng dòng bit mà chúng tôi đã cung cấp. Để sử dụng dòng bit này, trước tiên bạn phải cài đặt Xillinux 2.0 trên zedboard. Giải thích cách thực hiện điều này được cung cấp trên trang web Xillybus.
Bước 5: Tạo các tệp thực thi
Hai tệp thực thi riêng biệt cần được thực hiện, một cho máy phát và một tệp cho máy thu. Để làm như vậy, các lệnh sau cần được thực hiện trên zedboard:
- Bộ phát: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Transmitter
- Bộ thu: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Người nhận.cpp -o Bộ thu
Bước 6: Kiểm tra mọi thứ
Kết nối bộ phát với chân JD1_P và bộ thu với chân JD1_N trên zedboard. Đảm bảo thay đổi tệp ràng buộc nếu bạn muốn thay đổi các chân chuẩn.
Để kiểm tra xem mọi thứ có hoạt động hay không, hãy mở 2 cửa sổ đầu cuối trong phần PS. Trong một thiết bị đầu cuối thực hiện phần nhận trước. Sau đó, thực hiện phần phát trong cửa sổ thiết bị đầu cuối thứ hai.
Nếu mọi thứ diễn ra như bình thường, kết quả sẽ giống như hình trên.
Đề xuất:
Giao tiếp nối tiếp Arduino: 5 bước
Giao tiếp nối tiếp Arduino: Nhiều dự án Arduino dựa vào việc truyền dữ liệu giữa một số Arduino. chuyển seria
Giao tiếp nối tiếp PIC MCU và Python: 5 bước
PIC MCU và Python Serial Communication: Xin chào, các bạn! Trong dự án này, tôi sẽ cố gắng giải thích các thử nghiệm của tôi về PIC MCU và giao tiếp nối tiếp Python. Trên internet, có rất nhiều hướng dẫn và video về cách giao tiếp với PIC MCU qua thiết bị đầu cuối ảo rất hữu ích. Howev
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: 4 bước
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: Dự án này được thực hiện cho người dùng mac nhưng nó cũng có thể được thực hiện cho Linux và Windows, bước duy nhất nên khác là cài đặt
Giao tiếp dữ liệu trực tiếp ESP8266: 3 bước
Giao tiếp dữ liệu trực tiếp ESP8266: Giới thiệu Trong khi thực hiện một số dự án với mô-đun Arduinos và nRF24l01, tôi đã tự hỏi liệu tôi có thể tiết kiệm một chút công sức bằng cách sử dụng mô-đun ESP8266 thay thế hay không. Ưu điểm của mô-đun ESP8266 là nó chứa bộ điều khiển vi mô trên bo mạch, vì vậy không
Giao tiếp nối tiếp không dây bằng Bluefruit: 4 bước
Giao tiếp nối tiếp không dây sử dụng Bluefruit: Đây là hướng dẫn từng bước đơn giản để thay thế dây của bạn bằng kết nối bluetooth năng lượng thấp: Tôi đã mất một lúc để tìm ra điều này vì hầu như không có bất kỳ tài liệu nào về việc này với công nghệ năng lượng thấp bluetooth hiện đại như vậy với tư cách là Bluefrui