เครือข่าย: ปักหางบน Raspberry Pi

กระตือรือร้นที่จะได้ลึกลงไปในหุ่นยนต์หลังจากจุ่มนิ้วเท้าของฉันในน้ำด้วย BB-8 Droid ของฉันฉันซื้อ Raspberry Pi 3 รุ่น B ขั้นตอนแรกคือการเชื่อมต่อ มัน. แต่ในขณะที่มันมีบิวท์อิน 802.11n ไร้สายฉันในตอนแรกไม่ได้มีจุดเชื่อมต่อไร้สายแม้ว่าในที่สุดฉันก็ได้รับ ที่ระบุว่าฉันผ่านวิธีการค้นหาและเชื่อมต่อกับคอมพิวเตอร์เดสก์ท็อปของฉัน มีผู้อื่นที่ต้องการทำเช่นเดียวกันดังนั้นลองมาดูที่คาถาลับที่ใช้ในการเชื่อมต่อ PI กับคอมพิวเตอร์โดยตรงและอ้อม

ทำไมต้องเชื่อมต่อกับ PI จากคอมพิวเตอร์เดสก์ท็อปของฉัน ท้ายที่สุดแล้วมีจอภาพและคีย์บอร์ดขนาดเล็กที่แฮกเกอร์ใช้บ่อยในการทำแล็ปท็อป PI และแท็บเล็ต PI เนื่องจากฉันกำลังจะฝัง PI ในหุ่นยนต์ต่าง ๆ ฉันไม่จำเป็นต้องซื้อจอภาพและคีย์บอร์ดแยกต่างหากสำหรับมัน แต่ฉันดูเล็กน้อยทำเช่นนั้น

จอภาพเดสก์ท็อปของฉันใช้ตัวเชื่อมต่อ VGA แต่อะแดปเตอร์ VGA-to-HDMI ที่ฉันได้รับพร้อมกับ PI ไม่ทำงาน นอกจากนี้แป้นพิมพ์ Keytronic โบราณของเดสก์ท็อปของฉันใช้ขั้วต่อ PS / 2 เพื่อไม่ให้ใช้งานได้เช่นกัน แม้ว่าอะแดปเตอร์ PS / 2 ต่อ USB จะมีอยู่การวิจัยของฉันแสดงให้เห็นว่าฉันต้องการคนที่มีสมาร์ท USB ในขณะที่แป้นพิมพ์ของฉันพนัน USB และไม่มีอุปกรณ์อิเล็กทรอนิกส์ของตัวเอง (แต่มันมีปุ่มสัมผัสที่หวานและสัมผัสที่หวาน!) PI ของฉันจะยังคงไม่มีหัวและฉันจะตั้งโปรแกรมโดยเชื่อมต่อกับคอมพิวเตอร์เดสก์ท็อปของฉัน

เชื่อมต่อโดยตรงกับสายเคเบิลอีเธอร์เน็ต

โมเด็มที่บ้านของฉันก็โบราณด้วยไม่มีไร้สาย นอกจากนี้ยังมีพอร์ตอีเธอร์เน็ตเดียวเท่านั้น ที่ระบุว่าฉันสามารถเชื่อมต่อคอมพิวเตอร์เดสก์ท็อปของฉันกับโมเด็มหรือ Raspberry Pi แต่ไม่ใช่ทั้งสองอย่างในเวลาเดียวกัน ดังนั้นในการปลดปล่อย PI วิธีเดียวที่จะเชื่อมต่อกับคอมพิวเตอร์ของฉันคือการถอดปลั๊กสายอีเธอร์เน็ตออกจากโมเด็มและเสียบเข้ากับ PI แทน ที่แสดงให้เห็นว่าไม่มีการเข้าถึงอินเทอร์เน็ตในขณะที่ทำงานกับ PI ซึ่งเหมาะอย่างยิ่ง แต่ดีพอที่จะดูว่า PI ทำงานได้เลย

แต่สำหรับคอมพิวเตอร์ของฉันที่จะพูดกับ PI ฉันต้องการที่อยู่ IP ของ PI สำหรับผู้ที่ไม่คุ้นเคยกับที่อยู่ IP พวกเขาประกอบด้วยตัวเลข 4 ตัวตั้งแต่ 0 ถึง 255 คั่นด้วยจุด ตัวอย่างเช่น:

169.254.95.208

มันเป็นหมายเลข 32 บิตจริงๆ แต่มันเขียนด้วยวิธีการอ่าน

ศูนย์เครือข่ายและการแชร์ใน Windows
ที่อยู่ IP และหน้ากากซับเน็ต

ไปที่แผงควบคุม Windows บนเดสก์ท็อปของฉันแล้วเครือข่ายและศูนย์แชร์ฉันจะเห็นว่าเครือข่ายมีอยู่ในขณะนี้

คลิกที่สถานะดูและลึกลึกฉันพบข้อมูลที่เป็นประโยชน์ ครั้งแรกคือที่อยู่ IP ของคอมพิวเตอร์เดสก์ท็อป 169.254.95.208 IPv4 บอกฉันว่าการใช้อินเทอร์เน็ตโปรโตคอลรุ่น 4. ที่อยู่ IP ใน IPv6 นั้นแตกต่างกันอย่างน้อยสี่เท่า

นอกจากนี้การปรากฏตัวของ Subnet Mask IPv4, 255.255.0.0 บอกฉันว่าซับเน็ตหรือ subnetwork ถูกสร้างขึ้นระหว่างเครื่องทั้งสอง Subnet เป็นกลุ่มของเครื่องจักรที่สร้างเครือข่ายที่เล็กลงซึ่งอาจเป็นส่วนหนึ่งของสิ่งที่ใหญ่กว่า ที่อยู่ IP ของพวกเขาทั้งหมดเริ่มต้นด้วยค่าไบนารีเดียวกันแม้ว่าจะมีจำนวนบิตจำนวนมากที่จุดเริ่มต้นที่มีอยู่เหมือนกัน คุณจะรู้ได้อย่างไรว่าบิตชนิดใดเป็นเรื่องธรรมดา?

ใช้หน้ากากซับเน็ต
นั่นคือที่ที่ Subnet Mask เข้ามาเพื่อค้นหาว่าบิตใดใช้ซับเน็ตมาสก์และทำที่อยู่ IP ของผู้ผลิตบนเครือข่ายย่อยนั้น ในฐานะที่เป็นแผนภาพแสดงผลลัพธ์ในกรณีของฉันคือ 169.254.0.0 ระบุว่าที่อยู่ IP ของ PI จะต้องเริ่มต้นด้วย 169.254 อีกวิธีหนึ่งในการเขียนซับเน็ตมาสก์อยู่ในสัญกรณ์ CIDR ในการระบุที่อยู่ของ CIDR ที่อยู่ IP ตามด้วย / จากนั้นจำนวนบิตที่แบ่งใช้ ในกรณีนี้มันจะเป็น 169.254.0.0/16 ตัวเลขสองตัวสุดท้ายคือศูนย์ แต่ไม่จำเป็นต้องพิจารณาว่า 16 บอกคุณว่าจะเก็บอะไรไว้ สัญกรณ์ CIDR นี้จะมีประโยชน์ในไม่ช้า

แม้ว่าจะมีการแบ่งปัน 169.254 ที่ยังคงเหลือการรวมกันที่เป็นไปได้ 65,536 (256 × 256) สำหรับตัวเลขที่เหลือทั้งสอง ในการสแกนเครือข่ายให้ผ่านการผสมผสานของตัวเลขทุกครั้งที่ฉันใช้ NMAP ดาวน์โหลดได้จาก NMAP.org

ผลการสแกน ‘NMAP -SN’
ดังที่แสดงในสแนปชอตฉันวิ่งไปในหน้าต่าง Cygwin แม้ว่าจะมีรุ่น GUI เช่นกัน ฉันใช้บรรทัดคำสั่งต่อไปนี้

nmap -sn 169.254.0.0/16

โปรดทราบว่าได้รับ Subnet Mask โดยใช้สัญกรณ์ CIDR ส่วนเกี่ยวกับราสเบอร์รี่ Pi ที่คุณเห็นในสแนปชอตปรากฏขึ้นหลังจากประมาณ 10 นาทีแสดงให้เห็นว่ามันใช้เวลานานในการสแกนจาก 169.254.0.0 เป็น 169.254.37.77 ที่อยู่ IP ของ PI แม้ว่านั่นคือสิ่งที่ฉันกำลังมองหาฉันทิ้งมันไปต่อไปและการสแกนแบบเต็มใช้เวลามากกว่าสี่สิบสี่นาที ในช่วงเวลานั้นยังพบคอมพิวเตอร์เดสก์ท็อปของฉันซึ่งเป็นเจ้าภาพที่ทำสแกน มีที่อยู่ IP ของ PI คือ 169.254.255.255 แล้วมันจะใช้เวลาสี่สิบสี่นาทีก่อนที่จะหามัน

ที่อยู่ IP ของ PI ยังคงอยู่ที่ 169.254.37.77 ข้ามการปิดเครื่องและการสแกนอีกครั้งไม่จำเป็น

เริ่มต้นเทอร์มินัลและเดสก์ท็อป VNCputty สำหรับ ssh terminal
VNC เดสก์ท็อป

ตอนนี้ฉันได้เชื่อมต่อแล้วฉันต้องการเทอร์มินัลที่ใช้เชลล์ปลอดภัย (SSH) ลงใน PI บนคอมพิวเตอร์เดสก์ท็อป การตั้งค่าเทอร์มินัลเป็นเพียงเรื่องของการดาวน์โหลดโปรแกรม putty ยอดนิยมและใช้งาน ในส่วนเซสชั่นฉันกรอกที่อยู่ IP ของ PI พอร์ต 22 และตรวจสอบให้แน่ใจว่าได้เลือก SSH ที่เปิดหน้าต่างเทอร์มินัลที่มีพรอมต์ล็อกอิน ชื่อผู้ใช้เริ่มต้นคือ PI และรหัสผ่านคือราสเบอร์รี่ แน่นอนสิ่งแรกที่ฉันทำคือเรียกใช้ยูทิลิตี้ Passwd เพื่อเปลี่ยนรหัสผ่าน

หรือคุณสามารถรับเทอร์มินัลกราฟิกแทนการใช้ VNC นี่เป็นเดสก์ท็อปแบบกราฟิกที่ทำงานในหน้าต่างบนคอมพิวเตอร์เดสก์ท็อปของคุณ แต่เป็นเทอร์มินัลใน PI จริงๆ

การเชื่อมต่อด้วย Ethernet โดยใช้เราเตอร์ไร้สาย

มันไม่นานหลังจากที่ได้รับ PI ที่ฉันตัดสินใจเปลี่ยนเป็นคอมโบเราเตอร์ไร้สาย / ไฟเบอร์โมเด็ม เป็นโบนัสการอัพเกรดนี้ยังมีพอร์ตอีเธอร์เน็ตหลายพอร์ต ฉันตั้งค่าคอมพิวเตอร์เดสก์ท็อปของฉันให้ใช้ Wireless แต่ฉันไม่สามารถทำเช่นเดียวกันกับ PI ได้ ฉันต้องทำการกำหนดค่าบางอย่างบน PI เพื่อตั้งค่าไร้สายดังนั้นฉันจึงต้องเชื่อมต่อโดยใช้อีเธอร์เน็ตก่อน

ข้อมูลเครือข่ายเราเตอร์ในเบราว์เซอร์
การเชื่อมต่อกับเราเตอร์กับอีเธอร์เน็ตนั้นง่ายกว่าวิธีการเชื่อมต่อโดยตรงที่ครอบคลุมข้างต้นเมื่อพิจารณาว่าไม่มีการสแกนที่เกี่ยวข้อง เมื่อฉันเชื่อมต่อ PI โดยใช้สายเคเบิลอีเธอร์เน็ตฉันเพียงแค่นำเบราว์เซอร์บนคอมพิวเตอร์เดสก์ท็อปของฉันและพิมพ์ที่อยู่ IP ของเราเตอร์ลงในแถบ URL ของเบราว์เซอร์ที่ด้านบน นี่คือที่อยู่เช่น 192.168.1.1 หรือ 192.168.2.1 แต่ด้วย http: // ด้านหน้าของมันแม้ว่าเบราว์เซอร์บางตัวไม่จำเป็นต้องใช้ HTTP: // ตรวจสอบคู่มือเราเตอร์ / โมเด็มของคุณ

สิ่งที่คุณเห็นขึ้นอยู่กับโมเด็มของคุณ แต่ฉันแสดงกราฟเครือข่ายที่ด้านล่างด้วยที่อยู่ IP ของ PI, 192.168.2.14 ด้วยที่ฉันสามารถสร้างเทอร์มินัลได้โดยใช้ผงสำหรับอุดรูตามที่อธิบายไว้ข้างต้น

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

เชื่อมต่อแบบไร้สาย

Raspberry Pi 3 รุ่น B มีแบบไร้สายในตัว แต่ถ้าคุณมีเวอร์ชั่นที่ไม่มีระบบไร้สายคุณสามารถรับดองเกิลไร้สายที่เสียบเข้ากับพอร์ต USB ของ PI ได้หนึ่งใน PI ก่อนที่คุณจะสามารถเชื่อมต่อกับหัวขาด PI แบบไร้สายคุณจะต้องเชื่อมต่อกับมันโดยใช้หนึ่งในวิธีการข้างต้นก่อนและทำการกำหนดค่าบางอย่างใน PI

ฉันนำเทอร์มินัลมาและลงชื่อเข้าใช้ตามที่อธิบายไว้ข้างต้น ฉันต้องการใส่ชื่อเครือข่ายไร้สายและรหัสผ่านเครือข่ายลงในไฟล์การกำหนดค่า /etc/wpa_supplicant/wpa_supplicant.conf แต่ด้วยเหตุผลด้านความปลอดภัยฉันไม่ต้องการให้รหัสผ่านเป็นข้อความธรรมดา

การใช้ wpa_passphrase และแก้ไข wpa_supplicant.conf
การแก้ไข wpa_supplicant.conf
ดังนั้นฉันจึงวิ่ง wpa_passphrase “bobsnetname” “bobsnetpassword” และไฮไลต์เอาต์พุตซึ่งในเทอร์มินัลนี้คัดลอกข้อความที่ไฮไลต์ไปยังคลิปบอร์ด “BobsNetname” และ “BobsNetPassword” แน่นอนว่าเป็นเรื่องโกหก

จากนั้นฉันแก้ไข /etc/wpa_supplicant/wpa_supplicant.conf และวางจากคลิปบอร์ดโดยคลิกขวา ข้อความที่วางยังคงรวมถึงบรรทัดที่มีรหัสผ่านในข้อความที่ชัดเจน มันแสดงความคิดเห็น แต่ยังมองเห็นได้ดังนั้นฉันจึงลบมัน

หลังจากบันทึกและออกจากบรรณาธิการฉันตัดการเชื่อมต่อสายเคเบิลอีเธอร์เน็ต โปรแกรมการทำงานที่เรียกว่า WPA SuppliCant ควรใช้เวลาเพียงไม่กี่วินาทีหลังจากที่ไฟล์ถูกเปลี่ยนเพื่อสังเกตและรับสายไร้สาย ดังนั้นหลังจากรอสองสามวินาทีฉันก็วิ่งปิง Google.com มันทำงานได้ PI เชื่อมต่อแบบไร้สาย

หากไม่เป็นเช่นนั้นฉันสามารถรีสตาร์ทได้ด้วยตนเองโดยใช้ Sudo WPA_CLI กำหนดค่าใหม่ นอกจากนี้ยังรายงานชื่ออินเทอร์เฟซ WLAN0 ในกรณีของฉัน

วิ่ง ‘IFCONFIG WLAN0’
หากต้องการทดสอบเพิ่มเติมและเพื่อรับที่อยู่ IP ของ PI ฉันวิ่ง IFCONFIG WLAN0 และค้นหาที่อยู่ IP ข้าง INET Addr มันอยู่ที่นั่นและกับมันฉันสามารถเชื่อมต่อกับ PI และเริ่มการเขียนโปรแกรมหุ่นยนต์

นั่นคือประสบการณ์ของฉันในการเชื่อมต่อกับราสเบอร์รี่ปี่ของฉัน แต่เรารู้ว่ามีผู้ใช้ราสเบอร์รี่ PI จำนวนมากใน Hackaday คุณใช้วิธีการใดบ้างคุณพบกับดักอะไรและคุณมีความคิดอะไรที่จะออกไปจากพวกเขา? แจ้งให้เราทราบในความคิดเห็นเพื่อให้คนอื่นไม่ตกอยู่ในพวกเขาเช่นกัน

Author: found

Leave a Reply

Your email address will not be published. Required fields are marked *