เชื่อมต่อ Raspberry Pi ผ่านอีเธอร์เน็ตไปยังแล็ปท็อปโดยไม่ใช้เราเตอร์หรือไม่? [ปิด]


99

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

หากไม่มีเราเตอร์หรือเครือข่ายใกล้ ๆ ฉันสงสัยว่ามีวิธีเชื่อมต่อ Raspberry Pi ด้วยสายอีเธอร์เน็ตเข้ากับแล็ปท็อปโดยตรงหรือไม่?


คุณคิดจะตั้งเป็นจุดเชื่อมต่อหรือไม่? นั่นคือสิ่งที่ฉันเคยทำในอดีต
Spencer

คำตอบ:


75

เป็นวิธีแก้ปัญหาสำหรับ Ubuntu (แนวคิดนี้ใช้ได้กับ Windows หรือ Mac) ฉันเพิ่งลองวันนี้และใช้งานได้ดี

วัสดุ

  1. สายเคเบิลอีเทอร์เน็ตแบบไขว้ (ชื่อนี้ดูหรูหรา แต่เป็นเพียงสายอีเทอร์เน็ตธรรมดา)
  2. แล็ปท็อป (อูบุนตู)
  3. Raspberry Pi (ฉันมี Pi2)

ข้อกำหนดเบื้องต้นบน Ubuntu ของคุณ

  1. ติดตั้ง Network-manager

    $sudo apt-get install network-manager

  2. ติดตั้ง nmap

    $sudo apt-get install nmap

แก้ไขการเชื่อมต่อแบบใช้สายบนแล็ปท็อปของคุณ (Ubuntu)

  1. เปลี่ยนการตั้งค่า IpV4 เป็น "แชร์ไปยังคอมพิวเตอร์เครื่องอื่น"
  2. บันทึกการตั้งค่า
  3. รีบูตแล็ปท็อปของคุณ

แชร์การเชื่อมต่อ WiFi ของแล็ปท็อปของคุณผ่านสายอีเทอร์เน็ตครอสโอเวอร์

  1. เชื่อมต่อ RPi กับแล็ปท็อปของคุณโดยใช้สายอีเธอร์เน็ต

  2. ค้นหาที่อยู่ออกอากาศของการเชื่อมต่ออีเธอร์เน็ต (แล็ปท็อป)

$/sbin/ifconfig eth1 | grep "Bcast" | awk -F: '{print $3}' | awk '{print $1}' 10.42.0.255

  1. ใช้ที่อยู่นี้เพื่อค้นหาที่อยู่ IP ของ RPi ของคุณมันคือ 10.42.0.96 ในกรณีของฉันเพราะ 10.42.0.1 เป็นแล็ปท็อปของฉัน

    $nmap -n -sP 10.42.0.255/24

  Starting Nmap 6.40 ( http://nmap.org ) at 2016-02-20 23:07 CET
  Nmap scan report for 10.42.0.1
  Host is up (0.00031s latency).
  Nmap scan report for 10.42.0.96
  Host is up (0.0023s latency).
  Nmap done: 256 IP addresses (2 hosts up) scanned in 2.71 seconds
  1. เข้าสู่ระบบ RPi ของคุณจากแล็ปท็อปของคุณ (-Y ด้วย X-forwarding)

    $ssh -Y pi@10.42.0.96

  2. ดูเถิด! ตอนนี้ RPi ของคุณเชื่อมต่อกับแล็ปท็อปของคุณแล้วและ RPi สามารถแชร์การเชื่อมต่อ WiFi ได้

    pi@raspberrypi ~ $

แชร์หน้าจอและคีย์บอร์ดของแล็ปท็อปของคุณด้วย RPi

  1. ติดตั้งvncserverบน Raspberry Pi

    $ sudo apt-get update

    $ sudo apt-get install tightvncserver

  2. ติดตั้งvncviewerบนแล็ปท็อปของคุณโดยดาวน์โหลด RealVNC (รองรับหลายแพลตฟอร์ม) http://www.realvnc.com/download/vnc/

  3. เพื่อให้สามารถคัดลอกและวางจากเซิร์ฟเวอร์ VNC <--> VNC viewer คุณต้องติดตั้ง autocutsel บน RPi ของคุณ

$sudo apt-get install autocutsel

หากไซต์นี้ใช้งานไม่ได้ให้ลองดาวน์โหลด. deb จากไซต์มิเรอร์โดยตรงเช่น mirror.hmc.edu/debian/pool/main/a/autocutsel/autocutsel_0.10.0-1_armhf.deb
และติดตั้ง

$sudo dpkg -i autocutsel_0.10.0-1_armhf.deb

  1. เริ่ม vncserver บน RPi ของคุณ (คุณต้องรีสตาร์ท vncserver หลังจากติดตั้ง autocutsel คุณสามารถออกได้$vncserver -kill :1)

    $vncserver :1

  2. เพิ่ม autocutsel -fork ไปที่ /home/pi/.vnc/xstartup

 #!/bin/sh
 xrdb $HOME/.Xresources xsetroot -solid grey 
 autocutsel -fork
 #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 #x-window-manager &
 # Fix to make GNOME work 
 export XKL_XMODMAP_DISABLE=1 
 /etc/X11/Xsession
  1. เริ่ม vncviewer บนแล็ปท็อปของคุณ

    $vncviewer

  2. หน้าต่าง vncviewer จะปรากฏขึ้นและพิมพ์ที่อยู่ IP ของ RPi ของคุณ (กำหนดโดยแล็ปท็อปของคุณ) ตามด้วยพอร์ต 1 ซึ่งเป็นเซิร์ฟเวอร์ VNC ของคุณ ตัวอย่างเช่น: 10.42.0.96:1 ในกรณีของฉัน

  3. เชื่อมต่อกับ vncserver ที่โฮสต์บน RPi ของคุณโดยพิมพ์รหัสผ่าน (ตั้งรหัสผ่านด้วยตัวเอง)

    12. ตอนนี้คุณสามารถเห็นเดสก์ท็อปของ RPi บนแล็ปท็อปของคุณและฉันเปิดเบราว์เซอร์เพื่อแสดงการเชื่อมต่อ WiFi ที่ใช้ร่วมกันก็ใช้งานได้เช่นกัน

ดู Raspberry Pi desktop บน Ubuntu ของคุณ


ขออภัยฉันไม่สามารถโพสต์ลิงก์ได้มากกว่าสองลิงก์เนื่องจากฉันเป็นมือใหม่ใน Stackoverflow อย่างไรก็ตามนี่คือข้อมูลอ้างอิงของฉัน: การแชร์ Wifi ผ่านอีเธอร์เน็ตบน หน้าจอ Ubuntu Share โดยการติดตั้ง VNC บน Raspberry สำหรับ Linux Share display โดยติดตั้ง VNC บน Raspberry สำหรับ Windows
Nicole Finnie

การอ้างอิงของการแก้ไขปัญหาการคัดลอกและวางระหว่างเซิร์ฟเวอร์ VNC และไคลเอนต์ VNC TightVNC คัดลอก / วางระหว่างระบบปฏิบัติการท้องถิ่นและ Raspberry Pi
Nicole Finnie

ขอบคุณฉันบุ๊กมาร์กคำตอบของคุณเพื่อใช้อ้างอิงในอนาคต
Mohd Shahril

ขอบคุณ! นี่คือคำตอบที่ดีฉันกำลังมองหาขั้นตอนที่ชัดเจนเช่นนี้ทุกที่บนอินเทอร์เน็ต ความคิดเห็นเล็กน้อย - สำหรับบางคนคุณอาจต้องการตรวจสอบ eth0 แทน eth1 (ในหนึ่งในคำสั่งในคำตอบ)
Nishant Kelkar

3
คุณแน่ใจหรือว่าสายแบบไขว้เป็นสายปกติ? ฉันคิดว่าไม่ดู: en.wikipedia.org/wiki/Ethernet_crossover_cableคนปกติทำงานได้ตามที่คุณกล่าวไว้ใน Ubuntu 16.04, RPI 2 Raspbian 2016.05 ในวันที่ 16.04 ไม่จำเป็นต้องติดตั้งnetwork-managerเพียงใช้ GUI "การตั้งค่าเครือข่าย" เริ่มต้น และคุณควรคลิก "เพิ่ม" แทน "แก้ไข" ไม่จำเป็นnmapเพียงแค่cat /var/lib/misc/dnsmasq.leases. ดู: interlockroc.org/2012/12/06/raspberry-pi-macgyver
Ciro Santilli 郝海东冠状病六四事件法轮功

21

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


21

ไม่มีเราเตอร์ + ไม่มีหน้าจอ + สาย Ethernet ปกติ + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

ก่อนอื่นเราต้องเปิดใช้งานเซิร์ฟเวอร์ SSH บน Pi ซึ่งถูกปิดใช้งานโดยค่าเริ่มต้นเพื่อความปลอดภัย

หากคุณมีเชลล์บน Pi อยู่แล้วด้วยวิธีการที่ไม่ใช่ SSH เช่นหน้าจอ + แป้นพิมพ์หรือ UART (ดูด้านล่าง) ให้เรียกใช้:

sudo systemctl enable ssh
sudo service sshd start

ตามที่อธิบายไว้ที่: /raspberrypi/58478/ssh-not-working-with-fresh-installสิ่งนี้ยังคงมีอยู่ในรองเท้าบู๊ต

มิฉะนั้นให้ใส่การ์ด SD ของเขาบนโฮสต์ของคุณและสร้างไฟล์เปล่าวิเศษที่มีชื่อsshไฟล์ในboot/พาร์ติชัน

บนโฮสต์ Ubuntu มันจะติดตั้งโดยอัตโนมัติและคุณสามารถทำได้:

sudo touch /media/$USER/boot/ssh

ซึ่งคุณสามารถยืนยันได้ด้วย:

lsblk

ซึ่งประกอบด้วย:

mmcblk0     179:0    0  14.4G  0 disk
├─mmcblk0p1 179:1    0  43.9M  0 part /media/ciro/boot
└─mmcblk0p2 179:2    0  14.4G  0 part /media/ciro/rootfs

หากคุณไม่เปิดใช้ SSHD daemon บน Pi การเชื่อมต่อ SSH จะล้มเหลวด้วย:

ssh: connect to host 10.42.0.160 port 22: Connection refused

เมื่อเราลองใช้ในภายหลัง

หลังจากเปิดใช้งานเซิร์ฟเวอร์ SSH

จากนั้นบูต Pi และเชื่อมต่อสาย Ethernet จากแล็ปท็อปของคุณเข้ากับ Pi โดยตรง:

ป้อนคำอธิบายภาพที่นี่

บน Ubuntu 17.04 เพื่อแก้ไขข้อบกพร่องนี้ตามที่กล่าวไว้ในคำตอบนี้ก่อนอื่นคุณต้อง:

sudo apt-get install dnsmasq-base

บนโฮสต์เปิดตัวจัดการเครือข่าย:

nm-connection-editor

และไป:

  1. + ลงชื่อ (เพิ่มการเชื่อมต่อใหม่)
  2. อีเธอร์เน็ต
  3. สร้าง
  4. การตั้งค่า IPv4
  5. วิธีการ: แชร์กับคอมพิวเตอร์เครื่องอื่น
  6. ตั้งชื่อให้ดี
  7. บันทึก

ป้อนคำอธิบายภาพที่นี่

ค้นหา IP ของ Pi บนโฮสต์:

cat /var/lib/misc/dnsmasq.leases

ผลลัพธ์บางอย่างเช่น:

1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69

10.42.0.160 คือ IP จากนั้นตามปกติ:

ssh pi@10.42.0.160

ฉันยังมีสิ่งต่อไปนี้ใน.bashrc:

piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )

จากภายใน Pi สังเกตว่าสามารถเข้าถึงอินเทอร์เน็ตได้ตามปกติผ่านอินเทอร์เฟซอื่น ๆ ของโฮสต์ของคุณ:

ping google.com

ตัวอย่างเช่นบนแล็ปท็อปของฉัน Pi ใช้อีเทอร์เน็ต แต่โฮสต์ก็เชื่อมต่อกับอินเทอร์เน็ตผ่าน WiFi เช่นกัน

สายครอสโอเวอร์จะไม่จำเป็นต้องใช้ถ้าการ์ดเครือข่ายโฮสต์สนับสนุนAuto MDI-X เป็นกรณีนี้สำหรับฮาร์ดแวร์ล่าสุดรวมทั้งตัวอย่าง 2012 Lenovo T430 ผมทดสอบด้วยซึ่งมี "การเชื่อมต่อIntel® 82579LM Gigabit Network" ซึ่งเอกสารสนับสนุน Auto MDI-X

ตอนนี้คุณยังสามารถ:

ตัวแปลง USB แบบอนุกรม UART

นี่เป็นอีกทางเลือกหนึ่งสำหรับ SSH หากคุณต้องการรับเชลล์บน Pi: https://en.wikipedia.org/wiki/Serial_port

สิ่งนี้ไม่ได้ใช้ SSH หรือระบบเครือข่าย แต่เป็นรุ่นที่เก่ากว่าง่ายกว่าตรงกว่าเชื่อถือได้มากกว่าแบนด์วิธต่ำกว่าอินเตอร์เฟสแบบอนุกรมระยะทางที่ต่ำ Pi จะไม่สามารถเข้าถึงอินเทอร์เน็ตด้วยวิธีนี้

คอมพิวเตอร์เดสก์ท็อปยังคงมีพอร์ตอนุกรมที่คุณสามารถเชื่อมต่อกับสายโดยตรงกับ Pi ได้ แต่สิ่งเหล่านี้ซ่อนอยู่ในแล็ปท็อปส่วนใหญ่ดังนั้นเราจึงจำเป็นต้องซื้ออะแดปเตอร์ USB ราคาถูก ที่นี่ฉันใช้: https://www.amazon.co.uk/gp/product/B072K3Z3TLดูเพิ่มเติมที่: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882

ก่อนอื่นให้เสียบการ์ด SD บนโฮสต์และแก้ไขconfig.txtไฟล์ที่มีอยู่ในพาร์ติชันแรกเพื่อเพิ่ม:

enable_uart=1

ตามคำอธิบายที่: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

พาร์ติชันแรกนี้มี bootloader ไฟล์คอนฟิกูเรชันและเคอร์เนล (Linux / your) ซึ่งconfig.txtเป็นหนึ่งในนั้น พาร์ติชันที่สองมีระบบไฟล์รูท Linux จริง

ตอนนี้เชื่อมต่อคอมพิวเตอร์ของคุณกับ Pi เป็น:

ป้อนคำอธิบายภาพที่นี่

คุณต้องต่อสายเคเบิล 3 เส้นเท่านั้น:

  • กราวด์สู่พื้นดิน
  • Tx บน Pi ถึง Rx บนพอร์ต USB เข้ากับพอร์ตอนุกรม
  • Rx บน Pi ถึง Tx บน tye USB เข้ากับพอร์ตอนุกรม

นอกจากนี้ยังมีบันทึกไว้ที่: https://www.raspberrypi.org/documentation/usage/gpio/README.md

ระวังอย่าเชื่อมกราวด์กับ 5V เพราะฉันได้เบิร์น UART 2 ตัวเป็นชิป USB และ RPI UART โดยทำเช่นนั้น!

คุณไม่จำเป็นต้องเชื่อมต่อ 5V กับ 5V เลย ฉันคิดว่าคุณสามารถเพิ่มพลังให้ Pi ของคุณได้เช่นนั้น แต่ฉันอ่านมาแล้วว่านี่เป็นความคิดที่ไม่ดีเพียงแค่ใช้แหล่งจ่ายไฟ USB ตามปกติ

สุดท้ายเสียบด้าน USB ของขั้วต่อเข้ากับคอมพิวเตอร์โฮสต์ของคุณและรับเปลือกด้วย

sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200

ออกด้วยCtrl-A \.

นี่คือวิดีโอที่ Adafruit แสดง: https://www.youtube.com/watch?v=zUBPeoLW16Q

ดูสิ่งนี้ด้วย

คำถามที่คล้ายกันใน RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection


1
วิธีเดียว (ลองใช้กลยุทธ์ที่แตกต่างกันเป็นโหล) ที่เหมาะกับฉัน (ฉันใช้ Fedora 29) ขอบคุณ!
Daniel Schütte

ในกรณีของฉันไฟล์
/var/lib/misc/dnsmasq.leases

@ Kirjain ขอบคุณสำหรับรายงาน การตั้งค่าของคุณเหมือนกับของฉัน (โฮสต์แขกฮาร์ดแวร์) หรือไม่? ถ้าไม่คุณมีความแตกต่างอะไรบ้าง?
Ciro Santilli 郝海东冠状病六四事件法轮功

1
@CiroSantilli 新疆改造中心 996ICU 六四事件รถถังสำหรับการเข้าถึง ฉันมีฮาร์ดแวร์เหมือนกัน แต่ PI ของฉันใช้ raspbian buster รุ่นใหม่ล่าสุด (มิถุนายน 2019) และโฮสต์ของฉันคือ Ubuntu 18.04 หลังจากให้โฮสต์และที่อยู่ IP แบบคงที่ PI ของฉันแล้วฉันก็ไปไกลถึงการส่ง Ping PI จากโฮสต์ แต่เมื่อฉันลอง ssh ฉันได้รับข้อผิดพลาดที่ปฏิเสธการเชื่อมต่อที่คุณกล่าวถึงในคำตอบของคุณ และใช่ฉันได้สร้างไฟล์ ssh ว่างในพาร์ติชันสำหรับเริ่มระบบของ PI ของฉัน ตามบันทึกประจำรุ่นdownloads.raspberrypi.org/raspbian/release_notes.txtสิ่งนี้ยังคงเป็นแนวทางที่ถูกต้อง
borizzzzz

@AlexeyGy อืมนั่นเป็นสิ่งแรกที่ฉันพูดในคำตอบไม่ใช่เหรอ? :-)
Ciro Santilli 郝海东冠状病六四事件法轮功

8

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

การใช้โปรแกรม ssh putty ใส่ที่อยู่เป็น

raspberrypi.local

เข้าสู่ระบบและคุณสามารถเข้าถึงเทอร์มินัลได้

หรืออีกวิธีหนึ่งถ้าเซิร์ฟเวอร์ VNC ถูกตั้งค่าให้ใช้เซิร์ฟเวอร์ VNC และใส่

raspberrypi.local: 1

ในที่อยู่เซิร์ฟเวอร์ ป้อนรหัสผ่านเซิร์ฟเวอร์ VNC ของคุณและตอนนี้คุณมีสิทธิ์เข้าถึง GUI เพื่อทำสิ่งที่คุณต้องการ

ในกรณีนี้อาจเรียกใช้สคริปต์ในตำแหน่งระยะไกล ในสถานการณ์โปสเตอร์ปิด Pi อย่างปลอดภัย สิวเสี้ยน


1
"ssh pi@raspberrypi.local" ใช้สำหรับการติดตั้ง rasberrian แบบเก่า ๆ บนเทอร์มินัล linux mint
Elliot Robert

เป็นที่น่าสังเกตว่าขึ้นอยู่กับชื่อโฮสต์ ดังนั้นถ้าคุณเปลี่ยนชื่อโฮสต์ของ pi ตอนนี้อาจเป็นelderberryphi.local
lucidbrot

7

กำหนดค่า IP แบบคงที่สำหรับแล็ปท็อปและราสเบอร์รี่ pi ของคุณ บน rapberryPI กำหนดค่าดังต่อไปนี้

pi@rpi>sudo nano /etc/network/interfaces

จากนั้นกำหนดค่าดังต่อไปนี้เพื่อเชื่อมต่อกับแล็ปท็อปของคุณ

iface eth0 inet static

address 192.168.1.81

netmask 255.255.255.0

broadcast 192.168.1.255

4

กำหนดค่า IP แบบคงที่บน raspberry pi:

sudo nano /etc/network/interfaces

จากนั้นเพิ่ม:

iface eth0 inet static
     address 169.254.0.2
     netmask 255.255.255.0
     broadcast 169.254.0.255

จากนั้นคุณสามารถเข้าถึงราสเบอร์รี่ของคุณผ่าน ssh

ssh pi@169.254.0.2

3

คำแนะนำสำหรับผู้ใช้ Windows ในการเชื่อมต่อกับ RPi โดยใช้เพียงสาย Ethernet และเซิร์ฟเวอร์ DHCP ไม่จำเป็นต้องใช้สายเคเบิลแบบไขว้เนื่องจาก RPi สามารถจัดการได้ ฉันมีบล็อกโพสต์ที่จัดทำเอกสารพร้อมรูปภาพที่นี่ซึ่งอาจติดตามได้ง่ายกว่า

ดาวน์โหลด

ดาวน์โหลดDHCP Server สำหรับ Windows (ลิงค์ดาวน์โหลดอยู่ที่นี่ ) แตกไฟล์ zip และเปิดแอปพลิเคชัน dhcpwiz ซึ่งจะกำหนดค่าเซิร์ฟเวอร์ DHCP

การกำหนดค่าเซิร์ฟเวอร์ DHCP

กดปุ่มถัดไปบนหน้าจอแรก

บนหน้าจอที่สองมองหา "ที่ Local Area Connection" แถวและยืนยันที่อยู่ IP ของเป็นและสถานะของมันคือ0.0.0.0 enabledเชื่อมต่อสายอีเทอร์เน็ตจาก RPi เข้ากับแล็ปท็อปของคุณและเปิด Pi รีเฟรชฮิตบนหน้าจอนี้จนกว่าที่อยู่ IP 169.254.*.*เปลี่ยนแปลงไป หากเป็นอย่างอื่นคุณควรเปลี่ยนการตั้งค่าเครือข่ายของคุณสำหรับ Local Area Connection (ตรวจสอบให้แน่ใจว่าไม่ใช่ IP / DNS แบบคงที่) คลิกที่แถวการเชื่อมต่อพื้นที่ท้องถิ่นนี้และกดปุ่มถัดไป

ตรวจสอบHTTP (Web Server). ทำให้ง่ายต่อการค้นหาที่อยู่ IP ของ RPi ตีถัดไป

ใช้ค่าเริ่มต้นและกด Next จนกว่าคุณจะไปที่Writing the INI fileหน้าจอ ตรวจสอบOverwrite existing fileและกดWrite INI fileปุ่ม จากนั้นกด Next

ในหน้าจอสุดท้ายให้เลือกRun DHCP server immediatelyและกดปุ่ม Finish

DHCP Server และการรับที่อยู่ IP ของ Raspberry PI ของคุณ

นี่เป็นการเปิดเซิร์ฟเวอร์ DHCP จริงโดยใช้การกำหนดค่าที่คุณเพิ่งสร้างในวิซาร์ดก่อนหน้านี้ คลิกContinue as tray appปุ่มจากนั้นเซิร์ฟเวอร์ DHCP จะถูกย่อขนาดลงในถาดระบบของคุณ

ทุกที่ตั้งแต่ 1 วินาทีถึง 5 นาทีจากนี้คุณจะเห็นการแจ้งเตือนบนถาดระบบพร้อมกับแล็ปท็อปและที่อยู่ IP ใหม่ของ RPi การแจ้งเตือนนี้รวดเร็วมากและคุณอาจพลาด โดยปกติ IP ของ RPi ของคุณคือ169.254.0.2แต่อาจเป็น*.01หรืออย่างอื่นก็ได้ มันง่ายที่จะเข้าถึงเซิร์ฟเวอร์ DHCP ของเว็บ UI ที่http: //localhost/dhcpstatus.xml ซึ่งจะแสดงชื่อโฮสต์เป็น "raspberrypi" พร้อมที่อยู่ IP

ตอนนี้คุณสามารถฉาบหรือเดสก์ท็อประยะไกลใน RPi ของคุณและกำหนดการตั้งค่าไร้สายหรืออะไรก็ได้ที่คุณต้องการทำ

การแก้ไขปัญหา

สิ่งนี้อาจเป็นเรื่องจู้จี้จุกจิก ดูเหมือนว่าการเชื่อมต่อของฉันจะหลุดและไม่สามารถ SSH กลับมาโดยใช้ที่อยู่ IP ได้ โดยปกติฉันสามารถรีสตาร์ท Pi และรับที่อยู่ IP อีกครั้ง บางครั้งฉันต้องรีสตาร์ททั้ง RPi และเซิร์ฟเวอร์ DHCP บางครั้งต้องทำหลาย ๆ ครั้ง จนถึงจุดหนึ่งเมื่อฉันไม่ได้รับการเชื่อมต่อเป็นเวลา 15 นาทีฉันคัดลอกไฟล์ทั้งหมดในโฟลเดอร์ dhcpsrv2.5.1 ไปยังโฟลเดอร์ใหม่และลองอีกครั้ง มันใช้งานได้ทันที


1
ผู้ลงคะแนนกรุณาแสดงความคิดเห็นมิฉะนั้นการโหวตของคุณจะไร้ประโยชน์สำหรับคนส่วนใหญ่
byronyasgur

2

คุณสามารถใช้สายเคเบิลอีเธอร์เน็ตแบบ cross-over - http://en.wikipedia.org/wiki/Ethernet_crossover_cable

สมมติว่า RPi ของคุณเป็นไคลเอ็นต์ DCHP ดังนั้นควรเรียกใช้เซิร์ฟเวอร์ DHCP แบบธรรมดาบนโน้ตบุ๊กของคุณเพื่อกำหนดที่อยู่ IP ของ RPi


3
คุณไม่จำเป็นต้องใช้สายเคเบิลแบบไขว้เนื่องจาก RPi มีซอฟต์แวร์ที่สามารถทำงานร่วมกับสายอีเธอร์เน็ตปกติได้
Matthew Moisen

1

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

การกำหนดค่าในอุดมคติจะเป็นดังต่อไปนี้:

Raspberryบน eth0: IP: 192.168.1.10 SubNet: 255.255.255.0

พีซีของคุณ: IP: 192.168.1.11 SubNet 255.255.255.0

ในการตั้งค่า IP ด้วยตนเองบนราสเบอร์รี่คุณสามารถทำตามคำแนะนำนี้

ในพีซีของคุณคุณสามารถตั้งค่า IP ด้วยตนเองได้ในการตั้งค่าอะแดปเตอร์เครือข่ายและขั้นตอนจะขึ้นอยู่กับระบบปฏิบัติการของคุณ

เมื่อคุณกำหนดค่า IP แบบคงที่สองตัวคุณสามารถเชื่อมต่อกับราสเบอร์รี่ผ่าน SSH โดยใช้ชุด IP (192.168.1.10)

อีกวิธีที่ง่ายกว่าคือติดปุ่ม GPIO เพื่อปิดราสเบอร์รี่! ดูที่นี่!


1

สิ่งที่ได้ผลสำหรับฉันคือการรวมกันของคำตอบจาก Nicole Finnie และ Ciro Santilli พร้อมกับคำตอบบางส่วนจากที่อื่น

การตั้งค่า pi

เราจะต้องทำสองสิ่ง: เปิดใช้งาน ssh บน pi และกำหนดค่า pi เพื่อใช้สแตติกไอพี

กำลังเปิดใช้งาน ssh

เพิ่มไฟล์ที่เรียกsshในพาร์ติชันสำหรับเริ่มระบบของการ์ด sd (ไม่ใช่/bootโฟลเดอร์ในพาร์ติชันรูท) สถานที่อื่น ๆ ได้รับการบันทึกไว้เป็นอย่างดี

IP แบบคงที่

เปิด/etc/dhcpcd.confบนการ์ด SD ของ pi และยกเลิกการใส่เครื่องหมายตัวอย่างสำหรับสแตติกไอพี (เริ่มต้นประมาณบรรทัดที่ 40) ตั้งค่าที่อยู่เป็น

# Example static IP configuration:
interface eth0
static ip_address=10.42.0.182/24
static routers=10.42.0.1
static domain_name_servers=10.42.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

การตั้งค่าแล็ปท็อปของคุณ

ขั้นแรกตรวจสอบให้แน่ใจว่าคุณได้networkmanagerติดตั้ง (พร้อม GUI) บนแล็ปท็อปของคุณ จากนั้นให้แน่ใจว่าdnsmasqจะไม่ได้ทำงานเป็นบริการ:
systemctl status dnsmasq
หากพิมพ์คำสั่งนี้ว่าบริการจะหยุดการทำงานแล้วคุณจะดี

ต่อไปเราต้องnetworkmanagerกำหนดค่า เปิด/etc/NetworkManager/NetworkManager.confและเพิ่มสองบรรทัดต่อไปนี้ที่ด้านบน:

[main]
DNS=dnsmasq

จากนั้นรีบูต ขั้นตอนนี้อาจไม่จำเป็น อาจเพียงพอที่จะเริ่มNetworkManagerบริการใหม่ ตอนนี้ไปที่NetworkManagerGUI (โดยปกติจะเข้าถึงโดยไอคอนที่มุมของหน้าจอ) แล้วเลือกEdit Connections...ในหน้าต่างที่ปรากฏขึ้นให้คลิก+ไอคอนเพื่อสร้างการเชื่อมต่อใหม่ เลือกเป็นชนิดและกดEthernet Create...ไปที่แท็บและเลือกวิธีการIPv4 Settings Shared to other computersตั้งชื่อการเชื่อมต่อที่ดีและบันทึก

เชื่อมต่อ Raspberry Pi และตรวจสอบให้แน่ใจว่าแล็ปท็อปของคุณใช้การเชื่อมต่อใหม่เป็นการเชื่อมต่ออีเธอร์เน็ต ถ้าเป็นเช่นนั้น pi ของคุณควรมี ip ที่พีซีของคุณมอบให้ ifconfigคุณสามารถค้นหานี้โดยการทำงานครั้งแรก สิ่งนี้จะทำให้คุณมีข้อความหลายบล็อกสำหรับแต่ละอินเทอร์เฟซเครือข่าย คุณสนใจในหนึ่งที่เป็นสิ่งที่ต้องการหรือenp0s25 eth0ควรมีบรรทัดที่อ่านสิ่งที่คล้ายกันเพื่อ
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
ดูที่อยู่ออกอากาศ (ในกรณีนี้10.42.0.255) ถ้ามันแตกต่างจากของฉันให้ปิด pi และใส่การ์ด SD กลับเข้าไปในแล็ปท็อปของคุณเพื่อเปลี่ยนเป็นstatic ip_addressบางอย่างที่ตัวเลขสามตัวแรกเหมือนกับในที่อยู่ออกอากาศของคุณ เปลี่ยนเครื่องstatic routersแรกเป็นdomain_name_serversแล็ปท็อปของคุณด้วยinetที่อยู่. เปิดเครื่องปี่อีกครั้งและเชื่อมต่อ เรียกใช้ifconfigอีกครั้งเพื่อดูว่าที่อยู่ไม่มีการเปลี่ยนแปลง

ssh เป็น pi

ssh pi@10.42.0.182
ถ้าคุณได้รับconnection refusedpi ไม่ได้ใช้งานsshเซิร์ฟเวอร์ ถ้าคุณได้รับhost unreachableฉันขอโทษ

หวังว่านี่จะช่วยใครสักคน!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.