สารบัญ:
- ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้ง
- ขั้นตอนที่ 2: การตั้งค่าการ์ด SD
- ขั้นตอนที่ 3: RPI SETUP PART 1
- ขั้นตอนที่ 4: การตั้งค่า RPI ตอนที่ 2
- ขั้นตอนที่ 5: การตั้งค่า RPI ตอนที่ 3
- ขั้นตอนที่ 6: การตั้งค่า RPI ตอนที่ 4
- ขั้นตอนที่ 7: สำรองข้อมูลดิสก์อิมเมจ
- ขั้นตอนที่ 8: เคล็ดลับโบนัส
วีดีโอ: Ultimate Headless RPi Zero Setup สำหรับผู้เริ่มต้น: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ในคำแนะนำนี้ เราจะมาดูการตั้งค่าพื้นฐานของฉันสำหรับโปรเจ็กต์ Raspberry Pi Zero ทั้งหมด เราจะทำทุกอย่างจากเครื่อง Windows โดยไม่ต้องใช้แป้นพิมพ์หรือจอภาพเพิ่มเติม! เมื่อเสร็จแล้ว มันจะอยู่บนอินเทอร์เน็ต แชร์ไฟล์ผ่านเครือข่าย ทำงานเป็นธัมบ์ไดรฟ์ USB และอีกมากมาย มีวิดีโอ YouTube (COMING SOON!) ที่มาพร้อมกับบทความนี้ด้วย ในกรณีที่คุณเป็นคนที่มองเห็นได้ชัดเจนกว่า
ชอบ Raspberry Pi Zeros มาก และฉันคิดว่ามันมีประโยชน์มาก แต่ต้องใช้เวลาทำงานมากในการเตรียมพวกเขาให้พร้อมสำหรับการรวมเข้ากับโปรเจ็กต์ เป้าหมายของฉันที่นี่คือการแนะนำคุณตลอดการตั้งค่าทั้งหมดให้ง่ายที่สุด จากนั้นฉันจะแสดงวิธีสำรองข้อมูลการ์ด SD Raspbian OS SD แบบกำหนดเองใหม่ของคุณ เพื่อให้คุณสามารถอิมเมจการ์ดหน่วยความจำใหม่ได้ภายใน 15 นาทีโดยที่ไม่เคยมี เพื่อดำเนินการตามขั้นตอนนี้อีกครั้ง
ขออภัย บทความนี้จัดทำขึ้นสำหรับผู้ใช้ Windows โดยเฉพาะ มันจะมีประโยชน์กับคนอื่นๆ อย่างแน่นอน แต่ฉันไม่ได้ทำขั้นตอนนี้บน Linux หรือ Mac OS ดังนั้นฉันจึงช่วยในกระบวนการที่แน่นอนบนเครื่องเหล่านั้นไม่ได้ ฉันแน่ใจว่าคุณยังสามารถทำตามได้ ไม่มีอะไรมากสำหรับ Windows โดยเฉพาะ และทั้งหมดนี้สามารถทำได้บนระบบปฏิบัติการอื่นด้วยความช่วยเหลือเล็กน้อยจาก Google
สิ่งนี้มีขึ้นเพื่อใช้กับ Raspberry Pi Zero เป็นหลัก แม้ว่าทุกอย่างจะใช้ได้กับ Zero W ก็ตาม ดังที่กล่าวไปแล้ว ฟังก์ชั่น USB OTG ใด ๆ จะไม่ทำงานกับรุ่นอื่น ๆ (A, B, ฯลฯ) เนื่องจากรุ่นเดียวที่รองรับคือ Zero และ Zero W
ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้ง
สิ่งแรกที่เราต้องทำคือดาวน์โหลดและติดตั้งซอฟต์แวร์จำนวนมาก
เราต้องใช้ Balena Etcher ในการเขียนดิสก์อิมเมจลงในการ์ด SD ซึ่งสามารถดาวน์โหลดได้จากที่นี่
พูดถึงอิมเมจของดิสก์ เรามาคว้า Raspbian Lite จากที่นี่กัน ในขณะที่เขียน ฉันใช้ Rasbian Buster Lite
ฉันชอบที่จะคว้าแอปตัวจัดรูปแบบการ์ดหน่วยความจำ SD จากที่นี่ ใช้เพื่อฟอร์แมตการ์ด SD ก่อนที่ฉันจะสร้างภาพ นี่เป็นพิธีการ อาจไม่จำเป็นในกรณีส่วนใหญ่ แต่ฉันได้อ่านแล้วว่าสามารถช่วยคุณคลายความเศร้าโศกด้วยการ์ด SD ใหม่เอี่ยม ทำไมไม่
จากนั้นดาวน์โหลด Putty จากที่นี่ คุณจะต้องการ Putty แน่นอนถ้าคุณกำลังยุ่งกับ Raspberry Pis โดยเฉพาะอย่างยิ่งถ้าพวกเขา 'หัวขาด'
อันนี้อาจฟังดูน่าประหลาดใจ แต่ต่อไปเราจะคว้า Bonjour Print Services โดย Apple จากที่นี่ ซึ่งช่วยให้เราอ้างอิงชื่อ Raspberry Pi (และอุปกรณ์อื่นๆ) ของเราได้ ดังนั้นเราจึงไม่ต้องค้นหาว่าที่อยู่ IP คืออะไรเพื่อเชื่อมต่อกับมัน คุณอาจมีสิ่งนี้ติดตั้งอยู่ในเครื่องของคุณแล้ว ก็ควรตรวจสอบก่อน
สุดท้ายคว้า Win32 Disk Imager จากที่นี่ เราจะใช้สิ่งนี้ในตอนท้ายเพื่อสร้างภาพดิสก์ของการ์ด SD ที่เสร็จแล้ว จากนั้น เราสามารถคัดลอกกลับเข้าไปในการ์ด SD ด้วย Balena Etcher ทุกครั้งที่เราทำบางอย่างผิดพลาดหรือเริ่มโครงการใหม่
เอาล่ะ ตอนนี้ติดตั้งทุกอย่าง มันควรจะตรงไปตรงมา เมื่อเสร็จแล้ว ให้รีสตาร์ท Windows และใส่การ์ด micro SD ลงในคอมพิวเตอร์แล้วดำเนินการต่อ
ขั้นตอนที่ 2: การตั้งค่าการ์ด SD
ตอนนี้ ลองใช้ซอฟต์แวร์ใหม่ทั้งหมดเพื่อตั้งค่าการ์ด SD แต่ก่อนที่เราจะทำเช่นนั้น โปรดทราบว่าควรเริ่มต้นด้วยการ์ดขนาด 8 หรือ 16 กิ๊กสำหรับสิ่งนี้ เราจะสำรองข้อมูลระบบของเราเพื่อใช้ซ้ำในภายหลัง และหากคุณเริ่มด้วยการ์ดขนาดใหญ่ คุณจะไม่สามารถเขียนลงในการ์ดที่มีขนาดเล็กกว่าได้ อย่างไรก็ตาม คุณสามารถเขียนการ์ดที่เล็กกว่าไปยังการ์ดที่ใหญ่กว่า จากนั้นจึงขยายระบบไฟล์ Linux เพื่อเติมเต็ม ดังนั้นการเริ่มต้นเล็ก ๆ จะทำให้สิ่งนี้มีประโยชน์มากขึ้นในภายหลัง
ก่อนอื่น ให้เรียกใช้แอปตัวจัดรูปแบบการ์ดหน่วยความจำ SD เลือกการ์ด SD ของคุณ เลือก "รูปแบบด่วน" แล้วพิมพ์ป้ายกำกับปริมาณ คลิก "รูปแบบ" และให้เวลาสักครู่เพื่อเตรียมการ์ด หากการ์ดหน่วยความจำของคุณมีหลายพาร์ติชั่น การเลือกอันใดอันหนึ่งก็ใช้ได้ดี มันจะฟอร์แมตการ์ดทั้งหมดโดยไม่คำนึงถึง
จากนั้นคลายการบีบอัดภาพดิสก์ Raspbian Lite ด้วยสิ่งที่คุณต้องการ (ฉันใช้ Winrar)
เรียกใช้ Balena Etcher และเลือกไฟล์ Raspbian Lite.img ที่คุณเพิ่งคลายการบีบอัด เลือกการ์ด SD ของคุณและให้เวลาเขียนภาพลงในการ์ดและยืนยัน
เมื่อเสร็จแล้ว คุณอาจต้องถอดและใส่การ์ด SD ใหม่เพื่อให้ Windows รับพาร์ติชั่นใหม่ เมื่อคุณเห็นไดรฟ์ที่ระบุว่า "บูต" ปรากฏขึ้นใน "พีซีเครื่องนี้" ให้เปิดขึ้น หากคุณได้รับคำเตือนเกี่ยวกับพาร์ติชั่นอื่นที่ไม่สามารถอ่านได้ ให้เพิกเฉยต่อพาร์ติชั่นนั้น เป็นพาร์ติชัน Linux ที่ Windows ไม่สามารถอ่านได้
เรียกใช้แอปพลิเคชันใดก็ได้ที่คุณสะดวกใจในการสร้างไฟล์ข้อความ Notepad นั้นใช้ได้สำหรับสิ่งนี้ Microsoft VS Code นั้นดียิ่งขึ้น
ขั้นแรก ให้เพิ่มไฟล์ว่างลงในไดรฟ์ "boot" ชื่อ "ssh" ที่ไม่มีนามสกุลไฟล์: ปล่อยว่างไว้โดยสมบูรณ์ เพื่อให้แน่ใจว่า Raspbian เริ่มต้นเซิร์ฟเวอร์ SSH เมื่อบูต ซึ่งเราจะเชื่อมต่อในภายหลังด้วย Putty คุณอาจต้องแสดงนามสกุลไฟล์ใน File Explorer เพื่อให้แน่ใจว่าไฟล์ของคุณชื่อ "ssh" ทุกประการ ไม่ใช่ชื่อ "ssh.txt" นี่คือตัวอย่างวิธีแสดงนามสกุลไฟล์ใน Windows 10
ต่อไป มาแก้ไข "config.txt" เราจะข้ามไปที่ด้านล่างของไฟล์และเพิ่ม:
dtoverlay=dwc2
การดำเนินการนี้จะเปิดใช้งานฟังก์ชัน USB OTG ที่เราต้องการสำหรับการเรียกใช้อีเทอร์เน็ตและอุปกรณ์จัดเก็บข้อมูลขนาดใหญ่ผ่าน USB
จากนั้นเปิด "cmdline.txt" เราต้องระวังให้มาก: ทุกคำสั่งไปที่บรรทัดแรกและต้องมีช่องว่างระหว่างคำสั่งนั้นกับคำสั่งอื่นๆ รอบ ๆ ฉันยังเพิ่มช่องว่างที่ท้ายบรรทัดแรกเพื่อความปลอดภัย และตรวจสอบให้แน่ใจว่ามีบรรทัดที่สองว่างในไฟล์ เลื่อนไปที่ส่วนท้ายสุดของบรรทัดแรกนั้นแล้วเพิ่ม:
โมดูลโหลด=dwc2, g_ether
เอาล่ะ การตั้งค่าการ์ด SD เสร็จสมบูรณ์! ใส่การ์ด micro SD นั้นลงใน Raspberry Pi ของคุณแล้วเสียบ Raspberry Pi เข้ากับคอมพิวเตอร์ของคุณผ่าน USB ตรวจสอบให้แน่ใจว่าคุณเสียบสาย USB ของคุณเข้ากับพอร์ต USB ส่วนใหญ่ตรงกลาง พอร์ตภายนอกเชื่อมต่อกับแหล่งจ่ายไฟเท่านั้น
ขั้นตอนที่ 3: RPI SETUP PART 1
เมื่อบูท Raspbian จะเปิดใช้งานฟังก์ชัน USB OTG บนพอร์ต USB แบบเต็ม จากนั้นจะเริ่มบริการที่ดูเหมือนจะเป็นอะแดปเตอร์อีเทอร์เน็ตแบบ USB กับ Windows และในที่สุดก็จะเริ่มต้นเซิร์ฟเวอร์ SSH ที่เราสามารถเชื่อมต่อผ่านอีเทอร์เน็ตจากภายใน Windows นี่คือกุญแจสำคัญในการไม่ต้องใช้แป้นพิมพ์หรือจอภาพ
ใน Windows ให้เปิด "ตัวจัดการอุปกรณ์" โดยคลิกที่เมนูเริ่มแล้วพิมพ์ "ตัวจัดการอุปกรณ์" เมื่อเสร็จแล้ว คุณจะสามารถดูอุปกรณ์ทั้งหมดที่ Windows ค้นพบ หากคุณดูตัวจัดการอุปกรณ์ คุณจะเห็นอะแดปเตอร์เครือข่ายใหม่ปรากฏขึ้นที่ชื่อว่า "USB Ethernet/RNDIS Gadget" ซึ่งจะทำให้คุณรู้ว่าคุณพร้อมที่จะเชื่อมต่อ สมมติว่าคุณติดตั้ง Bonjour ไว้ก่อนหน้านี้ คุณสามารถเชื่อมต่อกับ Raspberry Pi ได้โดยใช้ชื่อ ถ้าไม่เช่นนั้น คุณจะต้องใช้ NMAP เพื่อสแกนหาเครือข่ายของคุณ
เปิด Putty ซึ่งจะถูกตั้งค่าเป็น SSH โดยค่าเริ่มต้น ในกล่องโฮสต์ พิมพ์ "raspberrypi.local" แล้วกด Enter หากทำทุกอย่างถูกต้องแล้ว คุณอาจได้รับป๊อปอัปแจ้งเตือนความปลอดภัยเกี่ยวกับคีย์ SSH จาก Raspberry Pi ไม่เป็นไร เพียงคลิกใช่เพื่อดำเนินการต่อ แล้วคุณจะได้รับข้อความแจ้งการเข้าสู่ระบบจาก Raspberry Pi
หากคุณไม่สามารถเชื่อมต่อได้ ให้รอจนกว่าไฟบน Raspberry Pi จะหยุดกะพริบ (มันจะเป็นสีเขียวทึบ) แล้วถอดปลั๊กออก ตรวจสอบว่าคุณใช้พอร์ต USB ตรงกลางเป็นส่วนใหญ่ ตรวจสอบให้แน่ใจว่าคุณได้รีสตาร์ท Windows ตั้งแต่ติดตั้ง Apple Bonjour และเสียบ USB กลับเข้าไปใหม่ บางครั้งอาจใช้งานไม่ได้ในครั้งแรก
การเข้าสู่ระบบบัญชีผู้ใช้เริ่มต้นสำหรับ Raspberry Pi คือ:
พาย
และรหัสผ่านจะเป็น:
ราสเบอร์รี่
เมื่อคุณลงชื่อเข้าใช้ Pi ของคุณแล้ว สิ่งแรกที่เราต้องทำคือสร้างอุปกรณ์ USB ใหม่เพื่อรองรับอีเทอร์เน็ตและ Mass Storage แทนที่จะเป็นแค่อีเทอร์เน็ตที่เรามีในตอนนี้ ทำได้โดยพิมพ์:
sudo nano /etc/modules
การดำเนินการนี้จะเปิดไฟล์ในตัวแก้ไขข้อความ Nano พร้อมสิทธิ์ของผู้ดูแลระบบ เมื่อเปิดแล้ว ให้เลื่อนไปที่ด้านล่างของไฟล์แล้วพิมพ์หรือวาง:
dwc2
(หมายเหตุ: หากคุณคัดลอกสิ่งนี้ คุณสามารถวางลงใน Putty ได้โดยคลิกขวาที่เทอร์มินัล) จากนั้นกดปุ่ม Control ค้างไว้แล้วกด X เพื่อออก ระบบจะถามว่าคุณแน่ใจหรือไม่ว่าต้องการบันทึก ให้เลือกใช่ จากนั้นระบบจะขอให้คุณยืนยันชื่อไฟล์ เพียงแค่กด Enter
ก่อนที่เราจะดำเนินการต่อ เรามาพูดถึงฟังก์ชัน USB Mass Storage (ไดรฟ์หัวแม่มือ) ที่เรากำลังตั้งค่าอยู่ก่อน มีประโยชน์มากสำหรับการคัดลอกไฟล์หรือสคริปต์เพื่อใช้งานบน Pi หรือสำหรับสคริปต์ของคุณบน Pi เพื่อเขียนไฟล์ เช่น บันทึกที่หยิบขึ้นมาจาก Windows ได้อย่างง่ายดาย มีข้อแม้บางประการเกี่ยวกับเรื่องนี้ คุณไม่สามารถเขียนพาร์ติชั่นจาก Raspberry Pi และ Windows พร้อมกันได้ ดังนั้นคุณต้องตัดสินใจล่วงหน้าว่าคุณต้องการเขียนด้านใด นอกจากนี้ หากคุณทำให้สามารถเขียนได้บน Windows คุณจะได้รับคำเตือนเกี่ยวกับไดรฟ์ที่ต้องซ่อมแซมในบางครั้ง นี่เป็นเรื่องน่ารำคาญเล็กน้อยและไม่จำเป็นต้องซ่อมแซมจริง ๆ เว้นแต่คุณจะถอดปลั๊ก Raspberry Pi ในขณะที่กำลังเขียนไฟล์ ดังนั้นจึงไม่ใช่เรื่องใหญ่
จากทั้งหมดที่กล่าวมา มาสร้างไฟล์คอนเทนเนอร์สำหรับข้อมูลพาร์ติชัน USB Mass Storage ของเรากัน ฉันกำลังตั้งค่าเป็น 2 กิกะไบต์หรือ 2048 เมกะไบต์ที่นี่ คุณสามารถจองพื้นที่มากหรือน้อยได้หากต้องการ เข้า:
sudo dd bs=1M if=/dev/zero of=/piusb.bin count=2048
ต่อไป เราจะจัดรูปแบบคอนเทนเนอร์นั้นเป็นพาร์ติชันที่เข้ากันได้กับ fat32 MSDOS เข้า:
sudo mkdosfs /piusb.bin -F 32 -I
ตอนนี้ สร้างไดเร็กทอรีเพื่อใช้เป็นจุดเชื่อมต่อสำหรับพาร์ติชันนี้ด้วย:
sudo mkdir /mnt/usb_share
และเราจะต้องเพิ่มรายการใน fstab สำหรับพาร์ติชั่นใหม่ด้วย:
sudo nano /etc/fstab
คัดลอกไปยังส่วนท้ายของไฟล์ fstab:
/piusb.bin /mnt/usb_share ผู้ใช้ vfat, umask=000 0 2
เมื่อเสร็จแล้ว ให้ทำการเมานต์พาร์ติชั่นใหม่ทั้งหมด และตรวจดูให้แน่ใจว่าเราจะไม่พบข้อผิดพลาดใดๆ หากเป็นเช่นนั้น โปรดย้อนดูขั้นตอนของคุณที่นี่และตรวจดูให้แน่ใจว่าคุณไม่ได้พลาดอะไรไป
sudo mount -a
โอเค ตั้งค่าอุปกรณ์ USB เกือบเสร็จแล้ว ตอนนี้ ไปที่ "rc.local" และเพิ่มบางบรรทัดเพื่อเปิดใช้งานอุปกรณ์ USB ของเราอีกครั้ง และติดตั้งพาร์ติชั่นนี้ใหม่หลังจากการบู๊ตทุกครั้งด้วย:
sudo nano /etc/rc.local
คัดลอกต่อไปนี้ก่อนบรรทัดที่ระบุว่า "exit 0" เพื่อให้ยังคงเป็นบรรทัดสุดท้ายของไฟล์:
/bin/sleep 5/sbin/modprobe ไฟล์ g_multi=/piusb.bin แผงลอย=0 ถอดออกได้=1sudo mount -o ro /piusb.bin /mnt/usb_share
หมายเหตุ: บรรทัดด้านบนจะทำให้ Windows สามารถเขียนลงในธัมบ์ไดรฟ์และ Linux สามารถอ่านได้เท่านั้น หากคุณต้องการให้สิ่งนี้เป็นอย่างอื่น ให้ใช้สิ่งนี้แทน:
/bin/sleep 5/sbin/modprobe ไฟล์ g_multi=/piusb.bin แผงลอย=0 ถอดออกได้=1 ro=1sudo mount -o /piusb.bin /mnt/usb_share
มีบางสิ่งที่ควรสังเกตเกี่ยวกับสิ่งที่เราได้วางไว้ที่นี่ ฉันมีการนอนหลับ 5 วินาที; คุณสามารถลดให้เหลือ 1 วินาทีได้หากต้องการ ในภายหลัง หากการเริ่มต้นของคุณเต็มไปด้วยบริการและไดรเวอร์อื่น ๆ คุณอาจต้องการเพิ่มสิ่งนี้ ฉันแค่ปล่อยให้มันตอนตี 5 เพื่อความปลอดภัย
บรรทัดที่สองกำลังเริ่มต้น Multi-Function Composite USB Gadget อีกสักครู่ เราจะลบแกดเจ็ต "g_ether" ที่ตั้งค่าไว้ก่อนหน้านี้ เนื่องจากแกดเจ็ตนี้มีอีเทอร์เน็ต ซีเรียล และ Mass Storage รวมอยู่ในที่เดียว บรรทัดที่สาม remount พาร์ติชั่น fat32 บน Raspberry Pi จำไว้ว่าคุณสามารถกลับมาใหม่ได้เสมอและเปลี่ยนด้านที่จะอ่านได้เฉพาะสำหรับโครงการต่างๆ หรือหากคุณเปลี่ยนใจ
เมื่อทำเสร็จแล้ว ให้กลับไปที่ "cmdline.txt" และลบ "g_ether" ออกจากท้ายด้วย:
sudo nano /boot/cmdline.txt
เลื่อนไปที่ท้ายบรรทัดแรกแล้วลบ "g_ether" จากนั้นบันทึก
เอาล่ะใช้เวลาสักครู่เพื่อตบหลังตัวเอง คุณมาไกลแล้ว ตอนนี้ มารีบูต Raspberry Pi และเตรียมพร้อมสำหรับการใช้งานอีกครั้งใน Windows
sudo รีบูต
ขั้นตอนที่ 4: การตั้งค่า RPI ตอนที่ 2
มีนิสัยใจคอมากมายในการใช้ฟังก์ชัน Gadget USB แบบ Multi-Function Composite บน Raspberry Pi ฉันยังไม่พบวิธีที่จะหลีกเลี่ยงสิ่งเหล่านี้ส่วนใหญ่ แต่ก็ไม่ใช่เรื่องใหญ่เมื่อคุณชินกับมันแล้ว
อย่างแรก: เมื่อ Raspberry Pi กำลังบูท ในขณะที่เสียบปลั๊กเป็นอุปกรณ์ USB OTG คุณจะได้รับคำเตือนใน Windows ว่าเป็นอุปกรณ์ที่ไม่รู้จัก เพียงแค่เพิกเฉยต่อสิ่งนั้น เราได้เพิ่มโมดูล "g_multi" ที่เริ่มต้นเป็น "rc.local" เพื่อแก้ไขปัญหานี้ แต่จะใช้เวลาสองสามวินาทีในการดำเนินการ หลังจากนั้นสักครู่ อุปกรณ์ USB จะต่อเชื่อมและธัมบ์ไดรฟ์ USB ของคุณจะปรากฏขึ้น
มุมแหลมที่สอง: บางครั้งเมื่อธัมบ์ไดรฟ์ปรากฏขึ้น Windows จะบ่นว่ามีบางอย่างผิดปกติและจำเป็นต้องสแกนหาข้อผิดพลาด เหตุผลนี้ซับซ้อน แต่ถ้าคุณไม่ได้ถอดปลั๊ก Raspberry Pi ในขณะที่เขียนไปยังการ์ด SD ก็ไม่มีอะไรผิดปกติกับมัน เป็นเพียงมุมแหลมกับวิธีที่ Linux ติดตั้ง คุณสามารถซ่อมแซมได้หากต้องการหรือเพียงแค่เพิกเฉย
ตกลง ตอนนี้คุณมีธัมบ์ไดรฟ์ที่โฮสต์โดย Raspberry Pi หากคุณทำให้ Windows เขียนได้ ตอนนี้เป็นเวลาที่ดีในการสร้างไฟล์ข้อความที่ชื่อ "test.txt" โดยมีข้อความอยู่ในนั้น ภายหลัง เราจะอ่านไฟล์ดังกล่าวจาก Linux
มุมแหลมที่สามนี้ คุณจะต้องแก้ไขเพียงครั้งเดียวต่อเครื่องที่คุณใช้งาน ดังนั้นถึงแม้ว่ามันจะดูน่ารำคาญ แต่คุณอาจจะต้องทำเพียงครั้งเดียว
เปิด "ตัวจัดการอุปกรณ์" เหมือนเมื่อก่อนและใต้ "อุปกรณ์อื่นๆ" คุณจะเห็นอุปกรณ์ที่มีคำเตือนชื่อ "RNDIS" ฉันไม่แน่ใจว่าเหตุใด "g_ether" จึงใช้งานได้ดี แต่ไม่ได้ผล มันเป็นการแก้ไขที่ง่ายแม้ว่า คลิกขวาและเลือก "อัปเดตไดรเวอร์" จากนั้น "เรียกดูคอมพิวเตอร์ของฉัน" และ "ให้ฉันเลือก" เลือก "แสดงอุปกรณ์ทั้งหมด" และให้เวลาในการโหลดตัวเลือกทั้งหมด เมื่อโหลดแล้ว: เลื่อนลงไปที่รายการ "ผู้ผลิต" และเลือก "Microsoft" (ไม่ใช่ "Microsoft Corporation" เพียง "Microsoft") ในรายการ "รุ่น": เลื่อนลงไปที่ "อุปกรณ์ที่รองรับ NDIS ระยะไกล" แล้วเลือก จากนั้นคลิก "ถัดไป" ที่ด้านล่างขวา คุณจะได้รับคำเตือน เพียงคลิก "ใช่" และปิดกล่องโต้ตอบเมื่อติดตั้งเสร็จแล้ว
ถ้าทุกอย่างเป็นไปด้วยดี คุณจะมี "อุปกรณ์ที่รองรับ NDIS ระยะไกล" ใต้ "อะแดปเตอร์เครือข่าย" ตอนนี้เราสามารถพูดคุยกับ Raspberry Pi ได้อีกครั้ง
ต่อไป มาตรวจสอบให้แน่ใจว่าสามารถเข้าถึงอินเทอร์เน็ตผ่านการเชื่อมต่ออินเทอร์เน็ตของเครื่อง Windows ของเราได้ ในการทำเช่นนั้น ให้คลิกปุ่ม "เริ่ม" แล้วพิมพ์ "สถานะเครือข่าย" แล้วเลือก เมื่อปรากฏขึ้น: เลื่อนลงมาเล็กน้อยแล้วเลือก "เปลี่ยนการตั้งค่าอแด็ปเตอร์" คุณควรเห็นอุปกรณ์ Raspberry Pi NDIS ของคุณที่นี่พร้อมชื่อเช่น "Ethernet 5" และอะแดปเตอร์เครือข่ายที่คุณใช้เชื่อมต่อ Windows กับอินเทอร์เน็ตด้วย เป็นไปได้มากว่าชื่อนี้จะมีชื่อว่า "Wifi" คลิกขวาที่รายการที่เชื่อมต่อคุณกับอินเทอร์เน็ตและเลือก "คุณสมบัติ" จากนั้นคลิกแท็บ "การแชร์" ในหน้าต่างที่ปรากฏขึ้น ตอนนี้ทำเครื่องหมายในช่องที่ระบุว่า "อนุญาตให้ผู้ใช้เครือข่ายอื่นเชื่อมต่อผ่านการเชื่อมต่ออินเทอร์เน็ตของคอมพิวเตอร์เครื่องนี้" และเลือกชื่ออะแดปเตอร์เครือข่ายของอุปกรณ์ Raspberry Pi NDIS ที่เราเพิ่งดู (เช่น "Ethernet 5")
เมื่อเสร็จแล้วเราสามารถตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของ Raspberry Pi ได้โดยเชื่อมต่อกับ Putty อีกครั้งเหมือนเมื่อก่อน สิ่งแรกที่ฉันตรวจสอบเมื่อมองหาการเชื่อมต่ออินเทอร์เน็ตบน Pi คือ ping 8.8.8.8 ซึ่งเป็นเนมเซิร์ฟเวอร์ของ Google คุณสามารถทำได้โดยพิมพ์:
ปิง 8.8.8.8
คุณมักจะไม่มีการเชื่อมต่อ ซึ่งในกรณีนี้ ให้รีบูต Pi ของคุณด้วย:
sudo รีบูต
เมื่อรีบูต ระบบจะนำอะแดปเตอร์อีเทอร์เน็ตสำรองกลับมา และ Windows ควรเริ่มอุโมงค์การเชื่อมต่ออินเทอร์เน็ตโดยอัตโนมัตินับจากนี้เป็นต้นไป คุณควรรู้ว่ามีการบู๊ตโดยรอให้ไดรฟ์ USB ปรากฏขึ้นมา ตอนนี้ มาเชื่อมต่อกับ Putty อีกครั้งและทดสอบการเชื่อมต่ออินเทอร์เน็ตอีกครั้ง:
ปิง 8.8.8.8
คราวนี้มันน่าจะใช้งานได้ดี ทีนี้มาดูกันว่าเราสามารถ ping www.google.com ได้หรือไม่:
ปิง
โอเค สมบูรณ์แบบ ดังนั้น Raspberry Pi ของเราจึงเชื่อมต่อกับอินเทอร์เน็ตอย่างเป็นทางการ! งานดี!
หากคุณประสบปัญหาในตอนนี้ คุณอาจต้องลบอุปกรณ์ออกจาก "ตัวจัดการอุปกรณ์" (คลิกขวาที่อุปกรณ์แล้วเลือก "ถอนการติดตั้งอุปกรณ์" แล้วเริ่ม Windows ใหม่) จากนั้นเริ่มขั้นตอนนี้อีกครั้ง ก่อนจะไปไกลขนาดนั้น ผมจะอ่านทุกอย่างซ้ำเพื่อให้แน่ใจว่าคุณจะไม่พลาดอะไร
ขั้นตอนที่ 5: การตั้งค่า RPI ตอนที่ 3
ตอนนี้เรามี Pi ออนไลน์แล้ว เราสามารถเริ่มติดตั้งสิ่งต่าง ๆ และตั้งค่าที่เหลือได้ ก่อนทำการติดตั้งใดๆ เราควรอัปเดตแพ็คเกจ APT ด้วย:
sudo apt-get update
ต่อไป มาทำความสะอาดบ้านเล็กๆ น้อยๆ กันก่อนจะวิ่งต่อไป:
sudo raspi-config
เมื่อเสร็จแล้ว เลือก "เปลี่ยนรหัสผ่านผู้ใช้" จากนั้นมาปรับแต่งชื่อโฮสต์สำหรับ Raspberry Pi นี้ให้เป็นอย่างอื่นที่ไม่ใช่ค่าเริ่มต้น เลือก "ตัวเลือกเครือข่าย" จากนั้นเลือก "ชื่อโฮสต์" ฉันตั้งชื่อของฉันว่า "devpi" แต่คุณสามารถไปกับชุดใดก็ได้ โปรดจำไว้ว่าเราจะสร้างภาพการ์ด SD นี้ในภายหลัง ดังนั้นคุณอาจไม่ต้องการกำหนดให้เฉพาะเจาะจงมากเกินไปสำหรับโปรเจ็กต์ แต่หวังว่าคุณจะใช้การตั้งค่านี้อีกครั้งในภายหลัง เมื่อเสร็จแล้ว ให้ย้อนกลับและเลือก "เสร็จสิ้น" ซึ่งอาจจะรีสตาร์ท Raspberry Pi ของคุณ
เมื่อธัมบ์ไดรฟ์กลับมาอีกครั้ง ให้เชื่อมต่อกับ Putty อีกครั้ง โปรดทราบว่าตอนนี้ Raspberry Pi ของคุณมีชื่อที่ต่างออกไป ดังนั้นคุณจึงไม่สามารถใช้ "raspberrypi.local" เพื่อเชื่อมต่ออีกต่อไป ตอนนี้ คุณจะต้องใช้ชื่อโฮสต์ที่คุณเพิ่งป้อน คุณยังจะได้รับคำเตือนคีย์ SSH ใหม่เนื่องจากชื่อโฮสต์ต่างกัน ซึ่งถือว่าใช้ได้ การเข้าสู่ระบบของคุณจะยังคงเป็น "pi" แต่รหัสผ่านของคุณจะแตกต่างออกไปเช่นกัน
ตอนนี้ มาติดตั้งการแชร์ไฟล์ Samba เพื่อให้คุณสามารถแก้ไขไฟล์ใน Linux จากภายใน Windows ก่อนอื่น เราจะติดตั้ง "avahi-daemon":
sudo apt-get ติดตั้ง avahi-daemon
แล้ว:
sudo update-rc.d avahi-daemon ค่าเริ่มต้น
ขั้นตอนต่อไป ดูเหมือนว่าจะอนุญาตให้ Apple Talk ผ่านพอร์ต 548 พูดตามตรง ฉันไม่แน่ใจว่าเหตุใดจึงจำเป็น แต่ฉันไม่สามารถให้การแชร์ไฟล์ Samba ทำงานได้หากไม่มีสิ่งนี้ เราอยู่ที่นี่แล้ว เราจะสร้างไฟล์บริการใหม่ด้วย:
sudo nano /etc/avahi/services/afpd.service
และวาง XML ลงไป:
%h _afpovertcp._tcp 548
จากนั้นกด control x เพื่อบันทึก ตอนนี้รีสตาร์ท "avahi-daemon" และเราควรมีการตั้งค่าการค้นพบบริการ zeroconf
sudo /etc/init.d/avahi-daemon restart
สุดท้าย มาติดตั้งบริการแชร์ไฟล์ Samba กัน เมื่อคุณได้รับหน้าจอสีน้ำเงินที่ขอให้เปิดใช้งานการสนับสนุน WINS ฉันจะปฏิเสธเสมอ
sudo apt-get ติดตั้ง samba samba-common-bin
มาเปลี่ยนรหัสผ่านการแชร์ไฟล์เริ่มต้นของ Samba:
sudo smbpasswd -a pi
เมื่อเสร็จแล้ว เราจะต้องแก้ไขการกำหนดค่าเริ่มต้นของ Samba ด้วย:
sudo nano /etc/samba/smb.conf
คุณสามารถกำหนดค่าได้มากมายที่นี่ แต่ฉันเพียงแค่วางลงไปที่ด้านล่างของไฟล์แล้ววางการตั้งค่าการแชร์เริ่มต้นของฉัน:
เวิร์กกรุ๊ป = WORKGROUP
ชนะการสนับสนุน = ใช่ [แหล่งที่มา] ความคิดเห็น = เส้นทาง HOME = /home/pi/ เรียกดูได้ = ใช่เขียนได้ = ใช่เฉพาะแขก = ไม่สร้างมาสก์ = 0777 ไดเรกทอรีมาสก์ = 0777 สาธารณะ = ใช่อ่านอย่างเดียว = ไม่บังคับผู้ใช้ = กลุ่มกำลังรูท = รูท
การดำเนินการนี้จะแชร์ "/home/pi" พร้อมสิทธิ์อ่าน/เขียนแบบเต็ม ปรับแต่งได้ตามใจชอบในตอนนี้ แต่ฉันใช้สำหรับแก้ไขสคริปต์จาก Windows ดังนั้นฉันจึงชอบที่จะปล่อยให้มันเปิดกว้าง กด Control + X เพื่อบันทึกและรีบูต Raspberry Pi เพื่อให้ทุกอย่างเข้าเกียร์:
sudo รีบูต
ขั้นตอนที่ 6: การตั้งค่า RPI ตอนที่ 4
ตามปกติ เมื่อธัมบ์ไดรฟ์ USB ปรากฏขึ้นมาใน Windows เราก็พร้อมที่จะดำเนินการต่อ คราวนี้ มาลองเข้าถึงระบบไฟล์ Linux ผ่านการแชร์ Samba ใหม่ของเรากัน ใน Windows คุณสามารถทำได้โดยเปิด File Explorer หรือไฟล์เบราว์เซอร์ใดๆ แล้วไปที่พาธ "\YOUR_HOST_NAME" (แทนที่ด้วยชื่อโฮสต์จริงของคุณ) มันจะขอข้อมูลประจำตัวจากคุณ ซึ่งเป็นผู้ใช้ Pi เริ่มต้นทั่วไปของคุณ "pi " และรหัสผ่านใหม่ของคุณคืออะไร อย่าลืมบอกให้จำข้อมูลประจำตัวของคุณเพื่อที่คุณจะได้ไม่ต้องป้อนข้อมูลนี้ต่อไป
หากทุกอย่างถูกต้อง คุณจะเห็นโฟลเดอร์ที่ใช้ร่วมกันบางโฟลเดอร์ ทั้งสองชี้ไปที่ไดเร็กทอรี "home/pi" เดียวกัน เปิดไฟล์ใดไฟล์หนึ่งแล้วสร้างไฟล์ข้อความอีกไฟล์หนึ่งชื่อ "test.txt" เหมือนที่เราทำในธัมบ์ไดรฟ์ USB ก่อนหน้านี้
ตอนนี้เรามีไฟล์ทดสอบทั้งสองไฟล์แล้ว มาอ่านจาก Raspberry Pi กัน เชื่อมต่อกับ SSH อีกครั้งและพิมพ์ข้อมูลต่อไปนี้เพื่อดูว่ามีอะไรอยู่ในโฮมไดเร็กตอรี่ของผู้ใช้ของคุณ:
ลส
คุณจะเห็นไฟล์ข้อความทดสอบที่เราเพิ่งสร้างขึ้น คุณสามารถยืนยันได้โดยการแสดงเนื้อหาด้วยคำสั่ง cat:
cat text.txt
หากเราแสดงรายการเนื้อหาของ "/mnt/usb_share" เราจะเห็นไฟล์ข้อความที่เราสร้างบนไดรฟ์ USB ใน Windows ด้วยเช่นกัน:
ls /mnt/usb_share
และถ้าเราสังเกตสิ่งนั้น เราจะเห็นเนื้อหาของมัน:
cat /mnt/usb_share/test.txt
มหัศจรรย์! คุณตั้งค่า Raspberry Pi เสร็จแล้ว!
ขั้นตอนที่ 7: สำรองข้อมูลดิสก์อิมเมจ
เอาล่ะ คุณสร้างฐานสำหรับโครงการใหม่เสร็จแล้ว! งานดี! นี่เป็นการเดินทางที่ยาวนาน แต่ก่อนที่เราจะคลั่งไคล้การตั้งค่านี้ เราจำเป็นต้องสำรองข้อมูลเพื่อให้เราสามารถกู้คืนกลับไปยังจุดนี้ได้อย่างง่ายดาย หรือคัดลอกการตั้งค่านี้สำหรับโครงการใหม่ในอนาคต ในการทำเช่นนั้น ให้ปิด Raspberry Pi แล้วใส่การ์ด SD กลับเข้าไปในเครื่อง Windows:
sudo ปิด -h ตอนนี้
เมื่อการ์ด SD ปรากฏขึ้นใน Windows ให้เรียกใช้ Win32 Disk Imager ในนั้น เราจะป้อนพาธและชื่อไฟล์สำหรับอิมเมจดิสก์สำรองของเรา ตรวจสอบให้แน่ใจว่าคุณได้ให้นามสกุลไฟล์เป็น ".img"
จากนั้นตรวจสอบให้แน่ใจว่าคุณได้เลือกไดรฟ์ที่ถูกต้อง นี่ควรเป็นไดรฟ์สำหรับบูตจากการ์ด SD ของคุณ
จากนั้นคลิก "อ่านเฉพาะพาร์ติชันที่จัดสรร" เพื่อเร่งกระบวนการนี้ สุดท้าย คลิก "อ่าน" แล้วปล่อยให้เป็นไปตามนั้น
เมื่อเสร็จแล้วเราจะเห็นว่ามันสร้างไฟล์อิมเมจดิสก์ที่เกือบเท่ากับขนาดการ์ด SD ทั้งหมด! เราสามารถทำให้เล็กลงได้มากด้วยการบีบอัดเนื่องจากเนื้อหาไฟล์ส่วนใหญ่ว่างเปล่า ฉันใช้ Winrar แต่คุณสามารถใช้สิ่งที่คุณต้องการได้ เพียงตรวจสอบให้แน่ใจว่าคุณเลือกการบีบอัดระดับสูง ตอนนี้คุณสามารถเห็นที่เก็บรูปภาพมีขนาดเล็กลงมาก
เพียงเท่านี้ ตอนนี้คุณมี Raspberry Pi ที่เชื่อมต่อกับอินเทอร์เน็ตและเครื่อง Windows ของคุณผ่าน USB ไม่จำเป็นต้องใช้ฮาร์ดแวร์อื่นใด คุณสามารถเชื่อมต่อกับมันผ่าน SSH เขียนโค้ดจากโปรแกรมแก้ไขที่คุณชื่นชอบใน Windows บันทึกไฟล์โดยตรงไปยังระบบไฟล์ Linux หรือส่งผ่าน USB thumb drive ใน Windows นี่เป็นความสะดวกอย่างแท้จริงในการส่งไฟล์จากคอมพิวเตอร์เครื่องอื่นที่คุณไม่สามารถแก้ไขระบบเครือข่ายได้ คุณยังสามารถเขียนสคริปต์ที่จะคอยดูไฟล์ใหม่และเรียกใช้ทันทีที่ปรากฏบนธัมบ์ไดรฟ์!
ฉันดีใจที่คุณทำมันผ่านบทช่วยสอนทั้งหมดนี้! ฉันหวังว่าทุกอย่างจะทำงานได้ดีในครั้งแรก และสิ่งนี้ช่วยคุณประหยัดเวลาได้มาก หากคุณมีปัญหาใดๆ เราจะพยายามอย่างเต็มที่เพื่อช่วยในการแสดงความคิดเห็น และหากคุณมีการเปลี่ยนแปลงใดๆ กับการตั้งค่าของฉัน เรายินดีที่จะรับฟังความคิดเห็นและข้อเสนอแนะของคุณ
ขั้นตอนที่ 8: เคล็ดลับโบนัส
การกู้คืนไปยังดิสก์ที่ใหญ่ขึ้น
หากคุณกำลังกู้คืนอิมเมจนี้ไปยังการ์ด SD ใหม่ที่ใหญ่กว่าดิสก์อิมเมจ คุณจะต้องขยายระบบไฟล์ Linux เพื่อเติมการ์ดใหม่ ซึ่งสามารถทำได้โดยเรียกใช้ "raspi-config":
sudo raspi-config
จากนั้นเลือก "ตัวเลือกขั้นสูง" จากนั้น "ขยายระบบไฟล์" เมื่อเสร็จสิ้น ระบบ Linux ของคุณจะใช้การ์ด SD ทั้งหมด แม้ว่าคุณจะเริ่มต้นด้วยดิสก์อิมเมจที่เล็กกว่ามาก
เห็นไฟล์เขียนใหม่บนธัมบ์ไดรฟ์จาก Windows ใน Linux
คุณจะต้องยกเลิกการต่อเชื่อมและติดตั้งไดรฟ์ fat32 นี้ใหม่ใน Linux เพื่อให้ไฟล์ใหม่ปรากฏขึ้น นี่เป็นเรื่องเล็กน้อยที่ต้องทำและสามารถทำได้ด้วย:
sudo umount /mnt/usb_share
แล้ว:
sudo mount -o ro /piusb.bin /mnt/usb_share
และตอนนี้คุณควรเห็นไฟล์ใหม่ของคุณใน Linux:
ls /mnt/usb_share
ดูสคริปต์หลามใหม่บนธัมบ์ไดรฟ์และเรียกใช้โดยอัตโนมัติ
เชลล์สคริปต์สามารถสร้างขึ้นเพื่อดูไฟล์ใหม่โดยอัตโนมัติและดำเนินการบางอย่างกับไฟล์เหล่านั้นตามที่ปรากฏ รู้สึกเหมือนใช้งานหนักอย่างต่อเนื่องดังนั้นฉันจึงพยายามไม่รันเร็วเกินไป แต่ Raspberry Pi ดูเหมือนจะไม่ใส่ใจมากเกินไป
ขั้นแรก สร้างเชลล์สคริปต์:
nano refreshPythonScript.sh
วางสคริปต์ต่อไปนี้และแก้ไขเพื่อลิ้มรส:
#!/bin/sh
remoteFile="/mnt/usb_share/Main.py" tempFile="/home/pi/tempMain.py" localFile="/home/pi/Main.py" # เลือกไฟล์ในเครื่องและแทนที่ด้วยไฟล์ว่าง rm $localFile แตะ $localFile ในขณะที่ true ทำ # unmount และ remount usb_share เพื่อรีเฟรชไฟล์บนนั้น sudo umount /mnt/usb_share sudo mount -o ro /piusb.bin /mnt/usb_share # คัดลอก Main.py จาก usb share เพื่อเปรียบเทียบ sudo / cp -r $remoteFile $tempFile ถ้า cmp -s "$tempFile" "$localFile"; จากนั้น echo "มันตรงกัน" อย่างอื่น echo "มันต่างกัน" # ฆ่าสคริปต์ python ถ้ามันทำงานอยู่แล้ว sudo killall python3 # คัดลอกไฟล์ temp เหนือไฟล์ในเครื่อง sudo \cp -r $tempFile $localFile # เรียกใช้ไฟล์ในเครื่อง sudo python3 $ localFile fi # รอสักครู่ก่อนที่จะตรวจสอบอีกครั้ง นอน 10 เสร็จแล้ว
บันทึกด้วย Control + X และเปลี่ยนการอนุญาตบนสคริปต์เพื่อให้สามารถดำเนินการได้:
chmod +x refreshPythonScript.sh
และตอนนี้คุณสามารถเรียกใช้ได้ตลอดเวลาโดยพิมพ์:
./refreshPythonScript.sh
แน่นอนว่าสิ่งนี้สามารถทำได้โดยอัตโนมัติเมื่อ Raspberry Pi เริ่มทำงาน ซึ่งจะเปลี่ยนให้เป็นอุปกรณ์ Python ตัวเล็กๆ ที่น่าสนใจ!
แนะนำ:
บทนำสู่ Visuino - Visuino สำหรับผู้เริ่มต้น: 6 ขั้นตอน
บทนำสู่ Visuino | Visuino สำหรับผู้เริ่มต้น: ในบทความนี้ฉันต้องการพูดคุยเกี่ยวกับ Visuino ซึ่งเป็นซอฟต์แวร์การเขียนโปรแกรมกราฟิกอีกตัวสำหรับ Arduino และไมโครคอนโทรลเลอร์ที่คล้ายกัน หากคุณเป็นมือสมัครเล่นอิเล็กทรอนิกส์ที่ต้องการเข้าสู่โลกของ Arduino แต่ขาดความรู้ด้านการเขียนโปรแกรมมาก่อน
ไดรเวอร์ Flyback Transformer สำหรับผู้เริ่มต้น: 11 ขั้นตอน (พร้อมรูปภาพ)
ไดรเวอร์ Flyback Transformer สำหรับผู้เริ่มต้น: แผนผังได้รับการอัปเดตด้วยทรานซิสเตอร์ที่ดีขึ้นและมีการป้องกันทรานซิสเตอร์ขั้นพื้นฐานในรูปแบบของตัวเก็บประจุและไดโอด "ก้าวต่อไป" หน้าตอนนี้มีวิธีวัดแรงดันแหลมที่โด่งดังเหล่านี้ด้วยโวลต์มิเตอร์
วิธีการนำเข้าโปรเจ็กต์ Java ลงใน Eclipse สำหรับผู้เริ่มต้น: 11 ขั้นตอน
วิธีการนำเข้าโปรเจ็กต์ Java เข้าสู่ Eclipse สำหรับผู้เริ่มต้น: บทนำ คำแนะนำต่อไปนี้ให้คำแนะนำทีละขั้นตอนสำหรับการติดตั้งโปรเจ็กต์ Java ลงในซอฟต์แวร์คอมพิวเตอร์ Eclipse โปรเจ็กต์ Java มีโค้ด อินเทอร์เฟซ และไฟล์ทั้งหมดที่จำเป็นสำหรับการสร้างโปรแกรม Java โครงการเหล่านี้เป็นพ
Raspberry Pi Headless Setup: 7 ขั้นตอน
Raspberry Pi Headless Setup: คุณจะได้เรียนรู้วิธีเปิดใช้งานการเข้าถึง Raspberry Pi สำหรับผ่าน ssh โดยไม่ต้องเชื่อมต่อแป้นพิมพ์ เมาส์ และจอภาพ ในโหมดที่เรียกว่า Headless
Raspberry Pi Headless Setup: 3 ขั้นตอน
Raspberry Pi Headless Setup: คุณเคยสงสัยหรือไม่ว่าคุณจะตั้งค่า Raspberry Pi โดยไม่มีจอภาพได้อย่างไร? ง่ายมาก คุณเพียงแค่ต้องมีระบบปฏิบัติการบนการ์ด SD และสายเคเบิลอีเทอร์เน็ต นอกจากนี้บางโปรแกรมฟรีและความอดทนเล็กน้อย Allchips เป็นบริการออนไลน์ส่วนประกอบอิเล็กทรอนิกส์ p