สารบัญ:
- ขั้นตอนที่ 1: รวบรวมส่วนประกอบ
- ขั้นตอนที่ 2: สร้างการออกแบบ
- ขั้นตอนที่ 3: ทดสอบการออกแบบ
- ขั้นตอนที่ 4: รับซอฟต์แวร์ที่จำเป็นทั้งหมด
- ขั้นตอนที่ 5: สร้างไฟล์ปฏิบัติการ
- ขั้นตอนที่ 6: ทดสอบทุกอย่าง
วีดีโอ: การสื่อสาร LiFi: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ในคำแนะนำนี้ คุณจะได้เรียนรู้วิธีใช้การสื่อสาร LiFi (ตัวส่งและตัวรับ) ในระดับซอฟต์แวร์และฮาร์ดแวร์
ขั้นตอนที่ 1: รวบรวมส่วนประกอบ
สิ่งที่คุณต้องการ:
-Arduino และ Zedboard
-ออสซิลโลสโคป
-ตัวต้านทาน: 8k โอห์ม 1k2 โอห์ม 1k โอห์ม 220 โอห์ม และ 27 โอห์ม
-opamp, ตัวเก็บประจุ, zenerdiode, photodiode, LEDs และ breadbord
ขั้นตอนที่ 2: สร้างการออกแบบ
ในภาพมีแผนผังสำหรับผู้รับ
ขั้นแรก เชื่อมต่อขั้วบวก (ขั้วลบ) ของโฟโตไดโอดกับ 3.3V (Vcc) ขั้วลบ (ขั้วบวก) กับกราวด์ผ่านตัวต้านทาน 8k2 โอห์ม เชื่อมต่อแคโทดกับขั้วบวกของ opamp ของคุณด้วย ซึ่งจะใช้ในการขยายสัญญาณ เรากำลังใช้ข้อเสนอแนะเชิงลบดังนั้นให้เชื่อมต่อตัวต้านทาน 2 ตัวกับขั้วลบของ opamp 1 (1k2 โอห์ม) ไปที่เอาต์พุตของ opamp และอีกตัว (220 โอห์ม) ไปที่กราวด์ เพื่อป้องกันพิน GPIO ของคุณ ให้เชื่อมต่อไดโอดซีเนอร์ไบอัสแบบย้อนกลับ 3.3V ในซีรีย์ที่มีตัวต้านทาน 1k2 โอห์มกับกราวด์ เอาต์พุตของ opamp ต้องเชื่อมต่อกับพิน GPIO
ตัวส่งประกอบด้วยตัวต้านทาน 27 โอห์มหนึ่งตัวและ LED หนึ่งชุดในซีรีย์ ปลายด้านหนึ่งไปที่ GPIOpin และปลายอีกด้านหนึ่งไปที่กราวด์ ตรวจสอบให้แน่ใจว่าขาสั้นของ LED เชื่อมต่อกับกราวด์
หากการออกแบบนั้นได้ผล คุณสามารถสร้าง PCB ขึ้นมาได้ บน PCB เรารวมตัวส่งและตัวรับไว้ในบอร์ดเดียว ดังนั้นเราจึงสามารถส่งข้อมูลในสองทิศทางได้ในที่สุด คุณยังสามารถดูแผนผัง PCB ในภาพสำหรับเครื่องรับและตัวส่ง
ขั้นตอนที่ 3: ทดสอบการออกแบบ
ใช้ออสซิลโลสโคปเพื่อตรวจสอบการออกแบบเนื่องจากแสงโดยรอบและความแตกต่างของโฟโตไดโอดสามารถให้ผลลัพธ์ที่แตกต่างกันในสัญญาณเอาต์พุต
เชื่อมต่อเครื่องส่งสัญญาณของคุณกับ Arduino และสร้างคลื่นสี่เหลี่ยมด้วยความถี่ที่ต้องการ วาง LED ของเครื่องส่งสัญญาณไว้ใกล้กับโฟโต้ไดโอด
เชื่อมต่อโพรบหนึ่งตัวกับขั้วบวกของ opamp ของคุณ อีกตัวหนึ่งเข้ากับเอาต์พุตของ opamp ของคุณ หากสัญญาณเอาท์พุตของคุณอ่อนเกินไป จำเป็นต้องเปลี่ยนตัวต้านทานป้อนกลับเชิงลบ (1k2 โอห์ม, 220 โอห์ม) คุณมี 2 ทางเลือก เพิ่มตัวต้านทาน 1k2 โอห์ม หรือลดตัวต้านทาน 220 โอห์ม ถ้าเอาต์พุตสูงเกินไป ให้ทำตรงกันข้าม
หากทุกอย่างเรียบร้อยดี ให้ไปยังขั้นตอนถัดไป
ขั้นตอนที่ 4: รับซอฟต์แวร์ที่จำเป็นทั้งหมด
ในภาพจะเห็นขั้นตอนการเข้ารหัสต่างๆ เพื่อใช้ LiFi ในการถอดรหัส ต้องดำเนินการขั้นตอนเดียวกันย้อนกลับ
สำหรับโปรเจ็กต์นี้ จำเป็นต้องมีไลบรารี่บางส่วน ซึ่งรวมอยู่ในไฟล์ที่กำหนด และนี่คือลิงค์ไปยังที่เก็บ github:
-รีด-โซโลมอน:
-ตัวเข้ารหัส Convolutional:
เพื่อให้ไฟล์ทำในสิ่งที่เราต้องการ เราได้ทำการปรับเปลี่ยนบางอย่าง ดังนั้นจึงจำเป็นต้องใช้ไลบรารีเวอร์ชันของเรา ซึ่งรวมอยู่ในไฟล์
หลังจากการเข้ารหัสแบบ convolutional จำเป็นต้องมีขั้นตอนการเข้ารหัสสุดท้ายคือการเข้ารหัสแมนเชสเตอร์ ข้อมูลจากตัวเข้ารหัสแบบ convolutional จะถูกส่งไปยังบัฟเฟอร์ 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 บนกระดาน ตรวจสอบให้แน่ใจว่าได้เปลี่ยนไฟล์ข้อจำกัด หากคุณต้องการเปลี่ยนพินมาตรฐาน
หากต้องการทดสอบว่าทุกอย่างใช้งานได้หรือไม่ ให้เปิดหน้าต่างเทอร์มินัล 2 ตัวในส่วน PS ในเทอร์มินัลหนึ่งดำเนินการส่วนรับก่อน หลังจากนั้น ดำเนินการส่วนเครื่องส่งสัญญาณในหน้าต่างเทอร์มินัลที่สอง
หากทุกอย่างเป็นไปตามที่ควร ผลลัพธ์ควรเหมือนกับในภาพด้านบน
แนะนำ:
การสื่อสาร Serial Com a Dragonboard 410c Usando Mezzanine 96boards เซนเซอร์: 7 ขั้นตอน
การสื่อสาร Serial Com a Dragonboard 410c Usando Mezzanine 96boards Sensors: O objetivo desse tutorial é Mostrar as etapas needÃÃ'ias para configurar o Ambiente de desenvolvimento, de modo que seja possível comunicar com a Dragonboard 410c คอมพิวเตอร์ คอมพิวเตอร์ / notebook usando comunica&ccedi
การสื่อสาร Arduino LoRa อย่างง่าย (มากกว่า 5 กม.): 9 ขั้นตอน
การสื่อสาร Arduino LoRa อย่างง่าย (มากกว่า 5 กม.): เราจะทดสอบ E32-TTL-100 กับห้องสมุดของฉัน เป็นโมดูลตัวรับส่งสัญญาณไร้สาย ทำงานที่ 410 441 MHz (หรือ 868MHz หรือ 915MHz) ตาม RFIC SX1278 ดั้งเดิมจาก SEMTECH มีการส่งแบบโปร่งใส ระดับ TTL โมดูลนี้ใช้ LORA
การสื่อสาร Modbus TCP ระหว่าง Arduino และอุปกรณ์อุตสาหกรรม: 3 ขั้นตอน
การสื่อสาร Modbus TCP ระหว่าง Arduino และอุปกรณ์อุตสาหกรรม: วิธีอุตสาหกรรมในการควบคุมบอร์ด Arduino ด้วย HMI อุตสาหกรรมและเชื่อมโยงไปยังเครือข่ายอุตสาหกรรมด้วยการสื่อสาร Modbus TCP
การสื่อสาร Arduino กับโหนด: 4 ขั้นตอน
Arduino to Node Communication: คำแนะนำนี้มีไว้เพื่อการสาธิตขั้นพื้นฐานเกี่ยวกับวิธีส่งและรับข้อมูลผ่าน UART (Serial) ระหว่างบอร์ดที่เข้ากันได้กับ Arduino สองบอร์ด
การสื่อสาร ESP-NOW Control Remoto De Vehículo, Joystick, Arduino Wemos.: 28 ขั้นตอน
การสื่อสาร ESP-NOW Control Remoto De Vehículo, Joystick, Arduino Wemos.: Todo parte de la idea de poder mover una silla de ruedas para personal discapacitado ผ่านทาง remota y poder acompañarlos sin necesidad de empujar la misma. ตัวอย่างจาก funcionamiento เขาสร้าง este proyecto เบื้องหลัง se pueden cambiar los cir