สารบัญ:

Ledboard Pi: 5 ขั้นตอน (พร้อมรูปภาพ)
Ledboard Pi: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Ledboard Pi: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Ledboard Pi: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: P5 LED Panel With Raspberry Pi Step 5 Wiring the Components 2024, กรกฎาคม
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

หน้าจอ Ledboard Pi เป็นผลมาจากประสบการณ์ การเรียนรู้ และการพัฒนาหลายปี แต่ผลลัพธ์ของการมีเครื่องมือที่เหมาะสม (ฮาร์ดแวร์ ซอฟต์แวร์ เฟิร์มแวร์) ในช่วงเวลาที่เหมาะสมนี้: Raspberry Pi 4 (พร้อม Raspberry Pi 3 ทำงานด้วย) ด้วยความเร็ว หน่วยความจำ และความสามารถไร้สาย โปรเจ็กต์ที่ยอดเยี่ยม Raspberry Pi LED Matrix Display ตามไลบรารี rpi-rgb-led-matrix และ rpi-fb-matrix (สำหรับการขับแผง RGB LED เชิงพาณิชย์จำนวนมากผ่าน GPIO) เพื่อแสดงเอาต์พุตวิดีโอของ Raspberry Pi บนจอแสดงผล RGB LED matrix ขนาดใหญ่ (สำหรับคำแนะนำนี้ ความละเอียดคือ 96x64 โดยใช้ 6 sparkfun 32x32 แผง) ทั้งหมดนี้ถูกควบคุมด้วยแอปพลิเคชัน GUI ที่ตั้งโปรแกรมโดยใช้ lazarus ide บนเดสก์ท็อป openbox ที่เบามากซึ่งติดตั้งบนภาพ Raspbian Buster Lite และสุดท้าย แสดงจินตนาการของคุณสามารถเขียนโปรแกรมอะไรก็ได้: Multi-Sport Scoreboard, Digital Signage หรือ Video Player; ไม่มีข้อจำกัด โครงการนี้ควบคุมโดยคอมพิวเตอร์ทุกเครื่องที่สามารถเรียกใช้ VNC Viewer ได้ เนื่องจากเซิร์ฟเวอร์ VNC ได้รับการติดตั้งบน Rasbian Buster Lite ของ Raspberry Pi 4 ด้วย

ตั้งแต่พรุ่งนี้เป็นต้นไป ฉันจะพยายามอธิบายรายละเอียดทุกขั้นตอนเพื่อให้โครงงานนี้สำเร็จ

เสบียง

เราต้องการสำหรับโครงการนี้:

ฮาร์ดแวร์

  1. Raspberry Pi 3 หรือดีกว่า Raspberry Pi 4 ที่มีแหล่งจ่ายไฟ 5V 2.5 A
  2. หนึ่งแผงไดรฟ์เมทริกซ์ RGB LED Electrodragon RGB สำหรับ Raspberry Pi
  3. แผงไฟ LED RGB ขนาด 32x32 จำนวน 6 แผงจาก Sparkfun
  4. พาวเวอร์ซัพพลาย 40A 5v หนึ่งตัว
  5. โครงอลูมิเนียมสี่เหลี่ยม 3 เมตร 1 ตัว 82.5 มม. x 38 มม.
  6. อะคริลิคตัด 1 ชิ้น ขนาด กว้าง 576 มม. x สูง 384 มม.
  7. ฟิล์มโพลาไรซ์ตัดหนึ่งชิ้น

ซอฟต์แวร์

  1. hezeller rpi-rgb-led-matrix library
  2. Adafruit rpi-fb-matrix library
  3. Raspbian buster lite หรือรูปภาพ realtimepi-buster-lite
  4. เปิดกล่อง
  5. สำหรับควบคุมพีซี/แล็ปท็อป/Raspberry Pi 3 หรือ 4, Real VNC Viewer สำหรับ Windows หรือ Linux หรือ Raspbian
  6. Lazarus IDE สำหรับ raspbian buster lite
  7. แอปพลิเคชั่น Leboard Pi

ยังมีต่อ…

ขั้นตอนที่ 1: การตั้งค่า Raspberry Pi 3/4 OS Stuff

การตั้งค่า Raspberry Pi 3/4 OS Stuff
การตั้งค่า Raspberry Pi 3/4 OS Stuff
การตั้งค่า Raspberry Pi 3/4 OS Stuff
การตั้งค่า Raspberry Pi 3/4 OS Stuff
การตั้งค่า Raspberry Pi 3/4 OS Stuff
การตั้งค่า Raspberry Pi 3/4 OS Stuff

เมื่อเราได้ชิ้นส่วนฮาร์ดแวร์แล้ว เราก็จะต้องได้รับของระบบปฏิบัติการ:

อันดับแรก เราต้องรับระบบปฏิบัติการสำหรับ Raspbian 3/4 ในกรณีของฉัน ฉันตัดสินใจใช้ realtime buster lite; แต่คุณสามารถใช้เวอร์ชัน Raspbian Buster Lite ได้เช่นกัน จากนั้นคุณต้องถ่ายโอนภาพนี้ไปยังการ์ด micro SD โดยใช้ balenaEtcher

จากนั้น เราจำเป็นต้องเชื่อมต่อจอแสดงผล HDMI และแป้นพิมพ์ USB และสายเคเบิลเครือข่าย cat5 ที่เชื่อมต่ออยู่

ราสเบอร์รี่ Pi 3/4 RJ45; ดังนั้นเราจึงสามารถค้นหา Raspberry Pi 3/4 IP เพื่อทำการตั้งค่าเริ่มต้น: IP เครือข่าย มีสายและไร้สาย ฉันใช้เครื่องสแกน IP ขั้นสูง ตอนนี้ผ่าน raspi-config ให้เปิดใช้งานเซิร์ฟเวอร์ SSH เพื่อเชื่อมต่อจากระยะไกลโดยใช้ Putty เพื่อให้การตั้งค่า Ledboard Pi ที่เหลือสมบูรณ์

ตอนนี้ในเวอร์ชัน Lite เราจะติดตั้งสภาพแวดล้อมเดสก์ท็อปแบบเบาด้วย openbox

sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox

จากนั้นติดตั้ง lightdm (ตัวจัดการการเข้าสู่ระบบ)

sudo apt-get ติดตั้ง lightdm

เปิดใช้งาน realvncserver จาก raspi-config

sudo raspi-config > ตัวเลือกอินเทอร์เฟซ > vncserver > เปิดใช้งาน vncserver

ที่นี่ เมื่อเปิดใช้งาน vnceserver เราจะใช้ VNC Viewer ในที่นี้ เดสก์ท็อปที่จะกำหนดค่าในการเชื่อมต่อคือ 0 เช่น หาก IP คือ 192.168.100.61 การเชื่อมต่อจะเป็น "192.168.100.61:0"

เราต้องการลิงก์ระหว่างคอมพิวเตอร์ควบคุม/แล็ปท็อปกับ Ledboard Pi ดังนั้นจึงต้องติดตั้ง samba เพื่อถ่ายโอนซอร์สโค้ด ไฟล์ รูปภาพ วิดีโอ ฯลฯ

sudo apt-get ติดตั้ง samba samba-common-bin -y

ตรวจสอบให้แน่ใจว่าผู้ใช้ของคุณเป็นเจ้าของเส้นทางที่คุณพยายามแชร์ผ่าน Samba

sudo chown -R pi:pi /home/pi/share

ถ่ายสำเนาไฟล์แชร์แซมบ้าต้นฉบับ

sudo cp /etc/samba/smb.conf /etc/samba/smb.bak

แก้ไขไฟล์กำหนดค่าแซมบ้า

sudo nano /etc/samba/smb.conf

ออกจากเวิร์กกรุ๊ปเป็น WORKGROUP (หรือตั้งชื่อตามที่คุณต้องการ)

#ชนะการสนับสนุน = ไม่

ที่จะชนะการสนับสนุน = ใช่

แล้ว ….

#นี่คือชื่อโฟลเดอร์แชร์ที่จะแสดงขึ้นเมื่อคุณเรียกดู

[ledboardpi] ความคิดเห็น = เส้นทางโฟลเดอร์แชร์ ledboardPi = /home/pi/Share create mask = 0775 ไดเรกทอรีมาสก์ = 0775 อ่านอย่างเดียว = ไม่สามารถเรียกดูได้ = ใช่ สาธารณะ = ใช่ บังคับผู้ใช้ = pi เฉพาะแขกเท่านั้น = ไม่

ตอนนี้ เราสามารถเข้าถึงโฟลเดอร์ "home/pi/share" ในเส้นทาง /home/pi จากคอมพิวเตอร์เครื่องอื่นได้

สำหรับจัดการระบบไฟล์โดยใช้แอพ gui เราจะติดตั้ง pcmanfm

sudo apt-get ติดตั้ง pcmanfm

ขั้นตอนที่ 2: ดาวน์โหลด ตั้งค่า และใช้งานไลบรารีที่จำเป็นของแผงไฟ LED RGB

Image
Image
ดาวน์โหลด ตั้งค่า และใช้งานไลบรารีที่จำเป็นของแผงไฟ LED RGB
ดาวน์โหลด ตั้งค่า และใช้งานไลบรารีที่จำเป็นของแผงไฟ LED RGB
ดาวน์โหลด ตั้งค่า และใช้งานไลบรารีที่จำเป็นของแผงไฟ LED RGB
ดาวน์โหลด ตั้งค่า และใช้งานไลบรารีที่จำเป็นของแผงไฟ LED RGB

ขั้นแรก ติดตั้งข้อกำหนดเบื้องต้น

sudo apt-get update

sudo apt-get install -y build-essential git libconfig++-dev sudo apt-get ติดตั้ง libgraphicsmagick++-dev libwebp-dev -y sudo apt-get ติดตั้ง python2.7-dev python-pillow -y

จากนั้นดาวน์โหลดและคอมไพล์ hzeller rpi-rgb-led-matrix

wget

เปิดเครื่องรูด master.zip cd rpi-rgb-led-matrix-master/ && make

ดาวน์โหลดและติดตั้ง rpi-fb-matrix. ด้วย

คุณต้องโคลนที่เก็บนี้ด้วยอ็อพชันแบบเรียกซ้ำ เพื่อให้โมดูลย่อยที่จำเป็นถูกโคลนด้วย เรียกใช้คำสั่งนี้:

โคลน git --recursive

ทำ

หมายเหตุ: แทนที่ไลบรารี rpi-rgb-led-matrix ที่ดาวน์โหลดมาก่อนหน้านี้ลงในโฟลเดอร์ rpi-fb-matrix

ตอนนี้ เราจะทดสอบไลบรารีเหล่านั้น จำไว้ว่า rpi-fb-matrix ขึ้นอยู่กับ rpi-rgb-led-matrix

cd rpi-fb-เมทริกซ์

cd rpi-rgb-led-matrix sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="regular" --led- ไม่มีฮาร์ดแวร์ชีพจร --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 0 sudo./demo --led-chain=3 --led-parallel= 2 --led-slowdown-gpio=4 --led-gpio-mapping="ปกติ" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh -- led-brightness=80 -D 1 runtext.ppm sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="regular" - -led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 2 runtext.ppm sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="ปกติ" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led -show-refresh --led-brightness=80 -D 3 sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping=" ปกติ" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 4 sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 5 sudo./demo --led-chain=3 --led-parallel=2 --led- slowdown-gpio=4 --led-gpio-mapping="regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 6 sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 7 sudo./demo --led-chain=3 --led-parallel=2 --led- slowdown-gpio=4 --led-gpio-mapping="regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 8 sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 9 sudo./demo --led-chain=3 --led-pa rallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 10 sudo./demo --led-chain=3 --led-parallel=2 --led-slowdown-gpio=4 --led-gpio-mapping="regular" -- led-no-hardware-pulse --led-pwm-lsb-nanoseconds=180 --led-show-refresh --led-brightness=80 -D 11

ทั้งหมดทำงานได้ดี

ตอนนี้ ไลบรารี rpi-fb-matrix นี่จะแสดงส่วน (96x64) ของหน้าจอเป็น RGB LED Panels ที่ใช้ Ledboard Pi

cd /home/pi/rpi-fb-matrix

โปรดจำไว้ว่า คัดลอกเวอร์ชันล่าสุดของไลบรารี rpi-rgb-led-matrix ลงในโฟลเดอร์ rpi-fb-matrix สำคัญมาก

ทำความสะอาด

ทำทุกอย่าง

คำสั่งสุดท้ายเหล่านั้น สำหรับทั้งไลบรารี rpi-fb-matrix และ rpi-rgb-led-matrix…..

สำหรับ rpi-fb-matrix จำเป็นต้องมีการกำหนดค่าที่ถูกต้องของ matrix.cfg (ฉันเปลี่ยนชื่อ davenew.cfg สำหรับคำแนะนำนี้) อ่าน วิเคราะห์สำหรับโครงการที่กำหนดเองด้วยจำนวนแผง RGB LED ที่แตกต่างกัน…

การกำหนดค่าการแสดงผล LED Matrix // กำหนดความกว้างและความสูงทั้งหมดของจอแสดงผลเป็นพิกเซล // นี่คือความกว้างและความสูงของ _total_ ของสี่เหลี่ยมผืนผ้าที่กำหนดโดยพาเนล // ที่ถูกล่ามโซ่ทั้งหมด ความกว้างควรเป็นความกว้างหลายพิกเซลของแผง (32) // และความสูงควรเป็นความสูงของพิกเซลแผงหลายเท่า (8, 16 หรือ 32) display_width = 96; display_height = 64; // กำหนดความกว้างของแต่ละแผงเป็นพิกเซล นี่ควรเป็น 32 เสมอ (แต่สามารถ // ในทางทฤษฎีสามารถเปลี่ยนแปลงได้) panel_width = 32; // กำหนดความสูงของแต่ละแผงเป็นพิกเซล โดยปกติแล้วจะเป็น 8, 16 หรือ 32 // หมายเหตุ: แต่ละแผงในจอแสดงผล _must_ จะต้องมีความสูงเท่ากัน! คุณไม่สามารถผสมพาเนลสูง // 16 และ 32 พิกเซลได้ panel_height = 32; // กำหนดจำนวนแผงทั้งหมดในแต่ละสาย นับจำนวนพาเนล // ที่เชื่อมต่อเข้าด้วยกันและใส่ค่านั้นไว้ที่นี่ หากคุณใช้ // หลายโซ่ขนานให้นับแต่ละอันแยกกัน และเลือกค่า // ที่ใหญ่ที่สุดสำหรับการกำหนดค่านี้ chain_length = 3; // กำหนดจำนวนรวมของสายโซ่ขนาน หากใช้ Adafruit HAT คุณ // สามารถมีได้เพียง chain เดียว ดังนั้นให้ยึดติดกับค่า 1 Pi 2 สามารถรองรับได้ // ถึง 3 ห่วงโซ่ขนาน โปรดดูข้อมูลเพิ่มเติมที่ไลบรารี rpi-rgb-led-matrix: // https://github.com/hzeller/rpi-rgb-led-matrix#chaning-parallel-chains-and-coordinate-system parallel_count = 2; // กำหนดค่าแต่ละพาเนลเมทริกซ์ LED // นี่คืออาร์เรย์สองมิติที่มีรายการสำหรับแต่ละพาเนล อาร์เรย์ // กำหนดกริดที่จะแบ่งย่อยการแสดงผล ตัวอย่างเช่น การแสดงขนาด 64x64 // ที่มีพาเนล 32x32 พิกเซลจะเป็นอาร์เรย์ 2x2 ของการกำหนดค่าพาเนล // // สำหรับแต่ละพาเนล คุณต้องตั้งค่าลำดับที่อยู่ภายในเชนของมัน นั่นคือ // แผงแรกในเชนคือออร์เดอร์ = 0 อันถัดไปคือออร์เดอร์ = 1 เป็นต้น คุณสามารถ // ตั้งค่า a การหมุนสำหรับแต่ละแผงเพื่อพิจารณาการเปลี่ยนแปลงในการวางแนวแผง // (เช่นเมื่อ 'snaking' ชุดของแผงจากปลายถึงปลายสำหรับการเดินสายที่สั้นกว่า) // // ตัวอย่างเช่น การกำหนดค่าด้านล่างกำหนดการแสดงตารางนี้ของแผงและ // การเดินสาย (เริ่มจากแผงด้านขวาบนและเลี้ยวซ้าย ลง และ // ขวาไปแผงด้านขวาล่าง): // _ _ _ / / | แผง | | แผง | | แผง | // | สั่งซื้อ = 2 |<=| สั่งซื้อ = 1 |<=| สั่งซื้อ = 0 |<= เชน 1 (จาก Pi) // | หมุน = 0 | | หมุน = 0 | | หมุน = 0 | // |_| |_| |_| // _ _ _ // | แผง | | แผง | | แผง | // | สั่งซื้อ = 2 |<=| สั่งซื้อ = 1 |<=| สั่งซื้อ = 0 |<= เชน 2 (จาก Pi) // | หมุน = 0 | | หมุน = 0 | | หมุน = 0 | // |_| |_| |_| // // สังเกตว่าโซ่เริ่มที่มุมขวาบนและงูอยู่ด้านล่าง // ขวา ลำดับของแต่ละแผงถูกกำหนดเป็นตำแหน่งตามห่วงโซ่ // และการหมุนจะถูกนำไปใช้กับแผงด้านล่างที่พลิกไปรอบ ๆ สัมพันธ์ // กับแผงด้านบน // // ไม่แสดง แต่ถ้าคุณใช้สายโซ่ขนาน คุณสามารถระบุสำหรับแต่ละรายการได้ // ในแผงรายการ 'ขนาน = x;' ตัวเลือกโดยที่ x คือ ID ของโซ่ // ขนาน (0, 1 หรือ 2) แผง = (({ คำสั่ง = 2; หมุน = 0; ขนาน = 0; }, { สั่งซื้อ = 1; หมุน = 0; ขนาน = 0;}, { สั่งซื้อ = 0; หมุน = 0; ขนาน = 0;}, { สั่งซื้อ = 2; หมุน = 0; ขนาน = 1; }, { สั่งซื้อ = 1; หมุน = 0; ขนาน = 1;}, { สั่งซื้อ = 0; หมุน = 0; ขนาน = 1;})) // โดยค่าเริ่มต้น เครื่องมือ rpi-fb-matrix จะปรับขนาดและย่อขนาดหน้าจอ // เพื่อให้พอดีกับความละเอียดของจอแสดงผล อย่างไรก็ตาม คุณสามารถคว้า // สำเนาที่สมบูรณ์แบบของพิกเซลของพื้นที่ของหน้าจอโดยการตั้งค่าพิกัดพิกเซล x, y // ของหน้าจอด้านล่าง สี่เหลี่ยมผืนผ้าที่มีขนาดที่แน่นอนของการแสดงผล // (เช่น display_width x display_height พิกเซล) จะถูกคัดลอกจากหน้าจอ // เริ่มต้นที่พิกัด x, y ที่ให้มา แสดงความคิดเห็นเพื่อปิดใช้งาน // ลักษณะการครอบตัดนี้ และปรับขนาดหน้าจอลงเป็นการแสดงเมทริกซ์แทน crop_origin = (0, 0)

ขั้นตอนที่ 3: รวบรวม ตั้งค่า และทดสอบแอปพลิเคชัน Ledboard Pi GUI

Image
Image
การคอมไพล์ การตั้งค่า และการทดสอบ Ledboard Pi GUI Application
การคอมไพล์ การตั้งค่า และการทดสอบ Ledboard Pi GUI Application
การคอมไพล์ การตั้งค่า และการทดสอบ Ledboard Pi GUI Application
การคอมไพล์ การตั้งค่า และการทดสอบ Ledboard Pi GUI Application

เราจำเป็นต้องมีการเขียนโปรแกรม IDE เพื่อสร้างแอปพลิเคชัน GUI (Ledboard Pi) จากนั้น ฉันเลือก "Lazarus IDE" ที่คล้ายกับ Delphi/C++ Builder ที่ฉันใช้ภายใน Windows OS

sudo apt-get ติดตั้ง lazarus-ide

เมื่อติดตั้งแล้วให้ดำเนินการ:

lazarus-ide

เปิดโครงการ Ledboard Pi จากนั้นคอมไพล์เพื่อรับแอปพลิเคชัน Ledboard Pi ก่อนเปิดแอปพลิเคชันนี้ ให้สร้างไดเร็กทอรีชื่อ LEDBOARD_APP ในพาธ /home/pi จากนั้นคัดลอกแอปพลิเคชัน Ledboard Pi ไปที่ไฟล์นี้

ตอนนี้ เราจะเพิ่มลิงก์ลงในเมนูคลิกขวาของ openbox เราต้องการ obmenu เช่นเดียวกับ xterm โดยใช้ลิงก์ Putty ดังนั้น:

sudo apt-get ติดตั้ง obmenu xterm

ตอนนี้ เราสามารถใช้เทอร์มินัลและ obmenu ภายในหน้าต่าง vncviewer:

  1. เรียก xterm จากเมนูคลิกขวา
  2. เปิด obmenu จาก xterm

เพิ่มรายการใหม่: Ledboard Pi

  1. เลือกรายการใหม่
  2. ตั้งชื่อมันว่า Ledboard Pi
  3. ดำเนินการ sudo nice -n -15 /home/pi/LEDBOARD_APP/LEDBOARD
  • ดาวน์โหลด "horn. WAV" จากนั้นใช้ตำแหน่ง samba ที่เชื่อมโยงเครือข่าย "\ledboardpi\ledboardpi\" คัดลอกสิ่งนี้และเปลี่ยนชื่อเป็นสภาพแวดล้อม realtimePi เป็น "horn.wav" ไฟล์นี้เมื่อเปลี่ยนชื่อแล้วจะต้องถูกคัดลอกไปยังโฟลเดอร์ /home/pi
  • เสร็จแล้ว คุณต้องสามารถเรียกใช้ Ledboard Pi ได้เช่นเดียวกับที่คุณเห็นในวิดีโอและรูปภาพ

ขั้นตอนที่ 4: ติดตั้งและตั้งค่า WiFi Hotspot

ติดตั้งและตั้งค่า WiFi Hotspot
ติดตั้งและตั้งค่า WiFi Hotspot
ติดตั้งและตั้งค่า WiFi Hotspot
ติดตั้งและตั้งค่า WiFi Hotspot
ติดตั้งและตั้งค่า WiFi Hotspot
ติดตั้งและตั้งค่า WiFi Hotspot
ติดตั้งและตั้งค่า WiFi Hotspot
ติดตั้งและตั้งค่า WiFi Hotspot

โปรเจ็กต์นี้ออกแบบมาเพื่อใช้งานโดยใช้โปรแกรมดู realvnc จากแล็ปท็อปที่เชื่อมต่อแบบไร้สายกับ Raspberry Pi 3/4 ดังนั้น นี่คือขั้นตอนสุดท้ายที่จะเริ่มต้น และพูดว่า "hasta la vista baby" กับฝันร้ายแบบมีสาย

การติดตั้งซอฟต์แวร์

sudo apt-get update

sudo apt-get ติดตั้ง hostapd isc-dhcp-server

เซิร์ฟเวอร์ DHCP

ฉลาดและสำรองข้อมูลการกำหนดค่าเริ่มต้นเสมอ

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.default

แก้ไขไฟล์กำหนดค่าเริ่มต้น

sudo nano /etc/dhcp/dhcpd.conf

แสดงความคิดเห็นบรรทัดต่อไปนี้…

ตัวเลือกชื่อโดเมน "example.org";

ตัวเลือกโดเมนเนมเซิร์ฟเวอร์ ns1.example.org, ns2.example.org;

อ่าน:

#option ชื่อโดเมน "example.org";

#option ชื่อโดเมนเซิร์ฟเวอร์ ns1.example.org, ns2.example.org;

…และยกเลิกการแสดงความคิดเห็นบรรทัดนี้

#เผด็จการ;

… อ่าน:

เผด็จการ;

… เลื่อนลงมาที่ด้านล่างของไฟล์และเขียนบรรทัดต่อไปนี้:

ซับเน็ต 192.168.42.0 เน็ตมาสก์ 255.255.255.0 {

ช่วง 192.168.42.10 192.168.42.50; ตัวเลือกออกอากาศที่อยู่ 192.168.42.255; เราเตอร์ตัวเลือก 192.168.42.1; ผิดสัญญาเช่าเวลา 600; เวลาเช่าสูงสุด 7200; ตัวเลือกชื่อโดเมน "ท้องถิ่น"; ตัวเลือกโดเมนเนมเซิร์ฟเวอร์ 8.8.8.8, 8.8.4.4; }

มาตั้งค่า wlan0 สำหรับ IP แบบคงที่

ขั้นแรกให้ปิดมันลง …

sudo ifdown wlan0

…รักษาให้ปลอดภัยและสร้างไฟล์สำรอง:

sudo cp /etc/network/interfaces /etc/network/interfaces.backup

…แก้ไขไฟล์อินเทอร์เฟซเครือข่าย:

sudo nano /etc/network/interfaces

… แก้ไขตามลำดับเพื่ออ่าน:

source-directory /etc/network/interfaces.d

อัตโนมัติ lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet ที่อยู่คงที่ 192.168.42.1 netmask 255.255.255.0 post-up iw dev $IFACE ตั้งค่า power_save off

…ปิดไฟล์และกำหนด IP แบบคงที่ทันที

sudo ifconfig wlan0 192.168.42.1

เสร็จแล้ว…

Hostapd

สร้างไฟล์และแก้ไข:

sudo nano /etc/hostapd/hostapd.conf

แก้ไข ssid ด้วยชื่อที่คุณเลือกและ wpa_passphrase เป็น WiFi authen

อินเทอร์เฟซ=wlan0

ssid=LedboardPi hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 dissolve_broadcast_ssid=0 wpa=2 wpa_passphrase=davewarePi wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP

มากำหนดค่าการแปลที่อยู่เครือข่ายกันเถอะ

สร้างไฟล์สำรอง

sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup

แก้ไขไฟล์ปรับแต่ง

sudo nano /etc/sysctl.conf

…ยกเลิกการแสดงความคิดเห็นหรือเพิ่มที่ด้านล่าง:

net.ipv4.ip_forward=1

# …และเปิดใช้งานทันที:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

…แก้ไข iptables เพื่อสร้างการแปลเครือข่ายระหว่าง eth0 และพอร์ต wifi wlan0

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

…ทำให้สิ่งนี้เกิดขึ้นเมื่อรีบูตโดย runnig

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

…และแก้ไขอีกครั้ง

sudo nano /etc/network/interfaces

…ต่อท้ายตอนท้าย:

อัพ iptables-restore < /etc/iptables.ipv4.nat

ไฟล์ /etc/network/interfaces ของเราจะมีลักษณะดังนี้:

source-directory /etc/network/interfaces.d

รถยนต์

iface lo inet loopback allow-hotplug eth0 iface eth0 inet ที่อยู่คงที่ 192.168.100.61 netmask 255.255.255.0 เกตเวย์ 192.168.100.1 allow-hotplug wlan0 iface wlan0 inet ที่อยู่คงที่ 192.168.42.1 netmask 255.255.255.0 เครือข่าย 192.168.42.0 ออกอากาศ 192.168.42.255 แหล่งที่มา ไดเร็กทอรี /etc/network/interfaces.d

มาทดสอบจุดเชื่อมต่อของเราโดยเรียกใช้:

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

ฮอตสปอตของคุณเปิดใช้งานแล้ว: ลองเชื่อมต่อจากคอมพิวเตอร์หรือสมาร์ทโฟน เมื่อทำเช่นนั้น คุณควรเห็นกิจกรรมบันทึกบางอย่างบนเทอร์มินัลของคุณด้วย ถ้าพอใจแล้ว ให้หยุดด้วย CTRL+C

มาทำความสะอาดทุกอย่างกันเถอะ: sudo service hostapd start sudo service isc-dhcp-server start

…และตรวจสอบให้แน่ใจว่าเรากำลังดำเนินการอยู่:

sudo service hostapd สถานะ

sudo service isc-dhcp-server status

…มากำหนดค่า daemons ของเราให้เริ่มทำงานในเวลาบูต:

sudo update-rc.d hostapd เปิดใช้งาน

sudo update-rc.d isc-dhcp-server เปิดใช้งาน sudo systemctl unmask hostapd sudo systemctl unmask isc-dhcp-server

…รีบูต pi

sudo รีบูต

ตอนนี้คุณควรจะสามารถเห็น pi WiFi ของคุณ เชื่อมต่อและเข้าถึงอินเทอร์เน็ตได้ ในการเปรียบเทียบอย่างรวดเร็ว การสตรีมวิดีโอ 4k จะใช้ CPU pi ประมาณ 10% ดังนั้น… ใช้ตามนั้น

เป็นโบนัส หากคุณต้องการตรวจสอบสิ่งที่เกิดขึ้นบนฮอตสปอต WiFi ของคุณ ให้ตรวจสอบไฟล์บันทึก:

tail -f /var/log/syslog

ขั้นตอนที่ 5:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

กรณี.

ออกแบบ

ในส่วนนี้ ฉันใช้โปรแกรมออกแบบ Sketchup 3D การออกแบบ 3D เคส Ledboard Pi อะลูมิเนียม

สำหรับสิ่งนี้ ฉันใช้โปรไฟล์อะลูมิเนียมสี่เหลี่ยมทั่วไปขนาด 82.5 มม. x 38 มม. บางมุม และสกรูบางตัว การสนับสนุนก่อตั้งโดยแม่ของฉันบนถนนเสีย มีล้อตามภาพ

แนะนำ: