Hubungkan Raspberry Pi melalui Ethernet ke laptop tanpa router? [Tutup]


99

Saya sedang mengerjakan proyek balon dengan Raspberry Pi. Ketika kami berpotensi memulihkan Pi Raspberry, kemungkinan besar akan berada di lokasi pedesaan dan saya ingin mematikan Pi pada saat itu dengan aman.

Tanpa router atau jaringan di dekatnya, saya bertanya-tanya apakah ada cara untuk menghubungkan Raspberry Pi dengan kabel Ethernet langsung ke laptop?


Apakah Anda mempertimbangkan untuk mengaturnya sebagai titik akses? Itulah yang saya lakukan di masa lalu.
Spencer

Jawaban:


75

Ini adalah solusi untuk Ubuntu (idenya juga berfungsi untuk Windows atau Mac) yang baru saja saya coba hari ini dan berfungsi dengan sangat baik.

Bahan

  1. kabel Ethernet cross-over (namanya mewah tapi itu hanya kabel Ethernet biasa)
  2. laptop (ubuntu)
  3. a Raspberry Pi (saya punya Pi2)

Prasyarat di ubuntu Anda

  1. Pasang pengelola jaringan

    $sudo apt-get install network-manager

  2. Instal nmap

    $sudo apt-get install nmap

Edit koneksi kabel di laptop Anda (Ubuntu)

  1. Ubah pengaturan IpV4 menjadi "Bagikan ke komputer lain"
  2. Simpan pengaturan
  3. Nyalakan ulang laptop Anda

Bagikan koneksi WiFi laptop Anda melalui kabel crossover Ethernet

  1. Hubungkan RPi Anda dengan laptop Anda menggunakan kabel Ethernet

  2. Cari alamat siaran dari koneksi Ethernet (Laptop),

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

  1. Gunakan alamat ini untuk mengetahui alamat IP RPi Anda, 10.42.0.96 dalam kasus saya karena 10.42.0.1 adalah laptop saya

    $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. Masuk ke RPi Anda dari laptop (-Y dengan X-forwarding)

    $ssh -Y pi@10.42.0.96

  2. Lihatlah! Sekarang RPi Anda terhubung ke laptop Anda dan RPi dapat berbagi koneksi WiFi.

    pi@raspberrypi ~ $

Bagikan tampilan & keyboard laptop Anda dengan RPi

  1. Instal vncserver di Raspberry Pi

    $ sudo apt-get update

    $ sudo apt-get install tightvncserver

  2. Instal vncviewer di laptop Anda dengan mengunduh RealVNC (mendukung banyak platform) http://www.realvnc.com/download/vnc/

  3. Untuk dapat menyalin & menempel dari server VNC <--> VNC viewer, Anda perlu menginstal autocutsel pada RPi Anda.

$sudo apt-get install autocutsel

Jika situs ini tidak berfungsi, coba unduh .deb langsung dari situs mirror, misalnya mirror.hmc.edu/debian/pool/main/a/autocutsel/autocutsel_0.10.0-1_armhf.deb
dan instal

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

  1. Mulai vncserver pada RPi Anda (Anda harus me-restart vncserver setelah menginstal autocutsel, Anda dapat mengeluarkan $vncserver -kill :1)

    $vncserver :1

  2. Tambahkan autocutsel -fork ke /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. Jalankan vncviewer di laptop Anda

    $vncviewer

  2. Jendela vncviewer akan muncul dan ketik alamat IP RPi Anda (diberikan oleh laptop Anda) diikuti oleh port 1, yang merupakan server VNC Anda. misalnya: 10.42.0.96:1 dalam kasus saya.

  3. Hubungkan ke vncserver yang dihosting di RPi Anda dengan mengetikkan kata sandi (buat sendiri kata sandi)

    12. Sekarang Anda dapat melihat desktop RPi di laptop Anda, dan saya membuka browser saya untuk menunjukkan bahwa koneksi WiFi bersama berfungsi juga.

Lihat desktop Raspberry Pi di ubuntu Anda


maaf, saya tidak dapat memposting lebih dari dua tautan karena saya seorang pemula di Stackoverflow, namun, ini adalah referensi saya: Berbagi Wifi melalui ethernet di ubuntu Berbagi tampilan dengan menginstal VNC di Raspberry untuk Linux Berbagi tampilan dengan menginstal VNC di Raspberry untuk Windows
Nicole Finnie

Referensi memperbaiki masalah copy & paste antara server VNC dan klien VNC copy / paste TightVNC antara OS lokal dan Raspberry Pi
Nicole Finnie

Terima kasih, saya telah menandai jawaban Anda untuk referensi saya di masa mendatang!
Mohd Shahril

Terima kasih! Ini adalah jawaban yang bagus, saya mencari prosedur yang begitu jelas di mana-mana di internet! Satu komentar kecil- untuk beberapa orang, Anda mungkin ingin memeriksa eth0, bukan eth1 (di salah satu perintah di jawaban).
Nishant Kelkar

3
Apakah Anda yakin bahwa kabel crossover adalah yang normal? Saya kira tidak, lihat: en.wikipedia.org/wiki/Ethernet_crossover_cable Yang normal berfungsi seperti yang Anda katakan di Ubuntu 16.04, RPI 2 Raspbian 2016.05. Pada 16.04, tidak perlu menginstal network-manager, cukup gunakan GUI "Pengaturan jaringan" default. Dan Anda sebaiknya mengklik "Tambahkan", bukan "Edit". Tidak perlu nmap, cukup cat /var/lib/misc/dnsmasq.leases. Lihat: interlockroc.org/2012/12/06/raspberry-pi-macgyver
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

21

Anda tidak membutuhkan kabel cross-over. Anda dapat menggunakan kabel jaringan normal karena chip Raspberry Pi LAN cukup pintar untuk mengkonfigurasi ulang sendiri untuk koneksi jaringan langsung. Bersulang


21

Tidak ada router + tidak ada layar + kabel Ethernet biasa + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

Pertama kita harus mengaktifkan server SSH di Pi, yang dinonaktifkan secara default untuk keamanan.

Jika Anda sudah memiliki shell di Pi melalui metode non-SSH seperti layar + keyboard atau UART (lihat di bawah), jalankan saja:

sudo systemctl enable ssh
sudo service sshd start

seperti yang dijelaskan di: /raspberrypi/58478/ssh-not-working-with-fresh-install Ini berlanjut di semua sepatu bot.

Jika tidak, masukkan kartu SD pada host Anda, dan buat file ajaib bernama sshfile di boot/partisi.

Pada host Ubuntu, itu dipasang secara otomatis dan Anda dapat melakukan hanya:

sudo touch /media/$USER/boot/ssh

yang dapat Anda konfirmasikan dengan:

lsblk

yang mengandung:

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

Jika Anda tidak mengaktifkan daemon SSHD di Pi maka koneksi SSH akan gagal dengan:

ssh: connect to host 10.42.0.160 port 22: Connection refused

ketika kita mencobanya nanti.

Setelah mengaktifkan server SSH

Selanjutnya, boot Pi, dan tautkan kabel Ethernet dari laptop Anda langsung ke Pi:

masukkan deskripsi gambar di sini

Di Ubuntu 17.04 untuk mengatasi bug ini seperti yang disebutkan pada jawaban ini, Anda perlu terlebih dahulu:

sudo apt-get install dnsmasq-base

Di host, buka manajer jaringan:

nm-connection-editor

Dan pergi:

  1. + tanda (Tambahkan koneksi baru)
  2. Ethernet
  3. Membuat
  4. Pengaturan IPv4
  5. Metode: Dibagikan ke komputer lain
  6. Tetapkan nama yang bagus untuk itu
  7. Menyimpan

masukkan deskripsi gambar di sini

Temukan IP dari Pi di host:

cat /var/lib/misc/dnsmasq.leases

menghasilkan sesuatu seperti:

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

10.42.0.160 adalah IP-nya, lalu seperti biasa:

ssh pi@10.42.0.160

Saya juga memiliki yang berikut di saya .bashrc:

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

Dari dalam Pi, perhatikan bahwa itu dapat mengakses internet secara normal melalui antarmuka lain host Anda:

ping google.com

Misalnya di laptop saya, Pi menggunakan Ethernet, tetapi host juga terhubung ke internet melalui WiFi.

Kabel saling silang tidak diperlukan jika kartu jaringan host mendukung Auto MDI-X . Ini adalah kasus untuk perangkat keras terbaru, termasuk misalnya Lenovo T430 2012 yang saya uji, yang memiliki "Intel® 82579LM Gigabit Network Connection" yang mendokumentasikan dukungan untuk Auto MDI-X .

Sekarang Anda juga dapat:

Konverter USB serial UART

Ini adalah alternatif untuk SSH jika Anda hanya ingin mendapatkan shell di Pi: https://en.wikipedia.org/wiki/Serial_port

Ini tidak menggunakan SSH atau jaringan itu sendiri, tetapi lebih tua, lebih sederhana, lebih langsung, lebih dapat diandalkan, bandwidth yang lebih rendah, antarmuka serial jarak yang lebih rendah. Pi tidak akan memiliki akses ke Internet dengan metode ini.

Komputer desktop masih memiliki port serial yang dapat Anda sambungkan langsung ke kabel dengan Pi, tetapi ini tersembunyi di sebagian besar laptop, jadi kami perlu membeli adaptor USB yang murah. Di sini saya telah menggunakan: https://www.amazon.co.uk/gp/product/B072K3Z3TL Lihat juga: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-dan-ttyama0-di-linux / 367882 # 367882

Pertama pasang kartu SD pada host, dan edit config.txtfile yang ada di partisi pertama untuk menambahkan:

enable_uart=1

seperti dijelaskan di: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

Partisi pertama ini berisi bootloader, file konfigurasinya dan kernel (Linux / Anda), config.txtsebagai salah satunya. Partisi kedua berisi filesystem root Linux yang sebenarnya.

Sekarang hubungkan komputer Anda ke Pi sebagai:

masukkan deskripsi gambar di sini

Anda hanya perlu memasang 3 kabel:

  • Dari Ground ke Ground
  • Tx di Pi ke Rx di USB ke port serial
  • Rx pada Pi ke Tx pada tye USB ke port serial

Ini juga didokumentasikan di: https://www.raspberrypi.org/documentation/usage/gpio/README.md

Berhati-hatilah untuk tidak menautkan Ground ke 5V, saya sudah membakar 2 UART ke chip USB dan RPI UART dengan melakukan itu!

Anda tidak perlu menghubungkan 5V ke 5V sama sekali. Saya pikir Anda dapat memberi daya pada Pi Anda seperti itu, tetapi saya telah membaca bahwa ini adalah ide yang buruk, cukup gunakan sumber daya USB biasa.

Terakhir, colokkan sisi USB konektor ke komputer host Anda, dan dapatkan shell dengan:

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

Keluar dengan Ctrl-A \.

Ini adalah video oleh Adafruit yang menunjukkannya: https://www.youtube.com/watch?v=zUBPeoLW16Q

Lihat juga

Pertanyaan serupa tentang RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection


1
Satu-satunya metode (mencoba sekitar selusin strategi berbeda) yang berhasil untuk saya (saya menggunakan Fedora 29). Terima kasih!
Daniel Schütte

Dalam kasus saya, file
/var/lib/misc/dnsmasq.leases

@Jamur_kejang Apakah pengaturan Anda benar-benar identik dengan milik saya (host, tamu, perangkat keras)? Jika tidak, perbedaan apa yang Anda miliki?
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

1
@CiroSantilli 新疆 改造 中心 996ICU 六四 事件 tank untuk menjangkau. Saya memiliki perangkat keras yang sama tetapi PI saya menjalankan rilis buster raspbian terbaru (Juni 2019), dan host saya adalah ubuntu 18.04. Setelah memberikan alamat IP statis host dan PI saya, saya dapat melakukan ping PI dari host. Tetapi ketika saya mencoba ssh, saya mendapatkan kesalahan koneksi menolak yang Anda sebutkan dalam jawaban Anda. Dan ya, saya memang membuat file ssh kosong di partisi boot PI saya. Menurut catatan rilis downloads.raspberrypi.org/raspbian/release_notes.txt, ini masih harus menjadi pendekatan yang valid.
borizzzzz

@AlexeyGy hmm, bukankah itu hal pertama yang saya katakan dalam jawaban? :-)
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

8

Saya baru saja menerapkan dan menguji ini dengan sukses. Situasi yang sama dengan proyek saya, ingin terhubung ke Raspberry Pi tanpa router atau wifi. Hanya kabel ethernet sederhana.

Menggunakan program dempul ssh menempatkan alamat sebagai

raspberrypi.local

Masuk dan masuk dan Anda dapat mengakses terminal.

Atau jika server VNC sudah diatur, gunakan server VNC dan put

raspberrypi.local: 1

Di alamat server. masukkan kata sandi server VNC Anda dan Anda sekarang memiliki akses GUI untuk melakukan apa yang Anda inginkan.

Dalam kasus mungkin itu menjalankan skrip di lokasi yang jauh. Dalam situasi poster, matikan Pi dengan aman. Simples Jerawat.


1
"ssh pi@raspberrypi.local" berfungsi untuk instalasi baru rasberrian di terminal mint linux.
Elliot Robert

perlu dicatat bahwa ini tergantung pada nama host. Jadi jika Anda mengubah nama host pi, mungkin sekarangelderberryphi.local
lucidbrot

7

Konfigurasikan ip statis untuk laptop dan raspberry pi Anda. Di rapberryPI konfigurasikan sebagai berikut.

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

Kemudian konfigurasikan berikut ini sebagaimana diperlukan untuk menghubungkan ke laptop Anda.

iface eth0 inet static

address 192.168.1.81

netmask 255.255.255.0

broadcast 192.168.1.255

4

konfigurasikan ip statis pada raspberry pi:

sudo nano /etc/network/interfaces

lalu tambahkan:

iface eth0 inet static
     address 169.254.0.2
     netmask 255.255.255.0
     broadcast 169.254.0.255

lalu Anda dapat mengakses raspberry Anda melalui ssh

ssh pi@169.254.0.2

3

Berikut adalah petunjuk untuk pengguna Windows tentang menyambung ke RPi hanya dengan menggunakan kabel Ethernet dan server DHCP. Tidak perlu kabel cross over, karena RPi dapat menanganinya. Saya memiliki entri blog yang mendokumentasikan ini dengan gambar di sini yang mungkin lebih mudah diikuti.

Download

Unduh Server DHCP untuk Windows (tautan unduh ada di sini ). Buka zip file zip dan buka aplikasi dhcpwiz, yang akan mengkonfigurasi server DHCP.

Konfigurasi Server DHCP

Tekan berikutnya di layar pertama.

Pada layar kedua, cari baris "Local Area Connection" dan verifikasi alamat IP 0.0.0.0-nya dan statusnya enabled. Hubungkan kabel Ethernet dari RPi ke laptop Anda, dan nyalakan Pi. Tekan segarkan pada layar ini sampai alamat IP berubah menjadi 169.254.*.*. Jika ada hal lain maka Anda harus mengubah pengaturan jaringan Anda untuk Local Area Connection (pastikan itu bukan IP / DNS statis). Klik pada baris Local Area Connection ini dan tekan next.

Periksa HTTP (Web Server). Ini membuatnya lebih mudah untuk menemukan alamat IP RPi. Tekan Berikutnya.

Ambil default dan tekan Next sampai Anda masuk ke Writing the INI filelayar. Periksa Overwrite existing filedan tekan Write INI filetombol. Lalu tekan Next.

Di layar terakhir, centang Run DHCP server immediatelydan tekan Selesai.

DHCP Server dan Mendapatkan Alamat IP Raspberry PI Anda

Ini meluncurkan server DHCP yang sebenarnya, menggunakan konfigurasi yang baru saja Anda buat di wizard sebelumnya. Klik Continue as tray apptombol tersebut, dan server DHCP akan diminimalkan ke baki sistem Anda.

Di mana saja dari 1 detik hingga 5 menit dari sekarang Anda akan melihat peringatan di baki sistem dengan laptop Anda dan alamat IP baru RPi Anda. Peringatan ini sangat cepat dan Anda mungkin akan melewatkannya. Biasanya IP RPi Anda adalah 169.254.0.2, tetapi bisa jadi *.01atau bahkan yang lain. Lebih mudah untuk mengakses UI web server DHCP di http: //localhost/dhcpstatus.xml . Ini akan mencantumkan nama host sebagai "raspberrypi" dengan alamat IP-nya.

Sekarang Anda dapat memasang atau remote desktop ke dalam RPi Anda, dan mengkonfigurasi pengaturan nirkabel atau apapun yang ingin Anda lakukan.

Penyelesaian masalah

Ini bisa jadi agak rewel. Sambungan saya tampak putus dan tidak dapat SSH kembali menggunakan alamat IP. Biasanya, saya dapat memulai ulang Pi dan mendapatkan alamat IP lagi. Terkadang saya harus memulai ulang RPi dan server DHCP. Terkadang saya harus melakukan ini berkali-kali. Pada satu titik ketika saya tidak mendapatkan koneksi selama 15 menit, saya menyalin semua file di folder dhcpsrv2.5.1 ke folder baru dan mencoba lagi; itu segera bekerja.


1
Turun pemilih tolong beri komentar atau suara Anda tidak berguna bagi kebanyakan orang.
byronyasgur

2

Anda dapat menggunakan kabel ethernet cross-over - http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Dengan asumsi RPi Anda adalah Klien DCHP, maka yang terbaik adalah menjalankan server DHCP sederhana di notebook Anda untuk menetapkan alamat IP RPi.


3
Anda tidak memerlukan kabel cross over, karena RPi memiliki perangkat lunak yang dapat bekerja dengan kabel Ethernet normal.
Matthew Moisen

1

Ya, Anda dapat menghubungkan raspberry langsung ke PC Anda tanpa router. Untuk ini perlu bahwa raspberry dan komputer Anda berada di subnet yang sama, dan keduanya memiliki ip statis yang dikonfigurasi (Dan kabel Ethernet terhubung di antara kedua perangkat).

Konfigurasi yang ideal adalah sebagai berikut:

Raspberry di eth0: IP: 192.168.1.10 SubNet: 255.255.255.0

PC Anda: IP: 192.168.1.11 SubNet 255.255.255.0

Untuk mengatur IP manual pada raspberry Anda dapat mengikuti panduan ini

Di PC Anda, Anda dapat mengatur IP manual di pengaturan adaptor jaringan, dan prosedurnya tergantung pada sistem operasi Anda.

Ketika Anda telah mengkonfigurasi dua IP statis, Anda dapat terhubung ke raspberry melalui SSH menggunakan set IP (192.168.1.10).

Metode lain yang lebih sederhana adalah dengan memasang pada GPIO sebuah tombol untuk mematikan raspberry! Coba lihat di sini!


1

Yang berhasil bagi saya adalah kombinasi jawaban dari Nicole Finnie dan Ciro Santilli bersama dengan beberapa jawaban dari tempat lain.

Menyiapkan pi

Kita perlu melakukan dua hal: mengaktifkan ssh pada pi, dan mengkonfigurasi pi untuk menggunakan ip statis.

Mengaktifkan ssh

Tambahkan file bernama sshdi partisi boot dari kartu sd (bukan /bootfolder di partisi root). Ini didokumentasikan dengan baik di tempat lain.

IP statis

Buka /etc/dhcpcd.confdi SD-card pi, dan hapus komentar pada contoh untuk ip statis (dimulai di sekitar baris 40). Setel alamat ke

# 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

Menyiapkan laptop Anda

Pertama, pastikan Anda telah menginstal networkmanager(dengan GUI) di laptop Anda. Kemudian, make yakin dnsmasqini tidak berjalan sebagai layanan:
systemctl status dnsmasq
Jika perintah ini mencetak bahwa layanan ini dihentikan, maka Anda baik sedang.

Selanjutnya kita harus mengkonfigurasi networkmanager. Buka /etc/NetworkManager/NetworkManager.confdan tambahkan dua baris berikut di atas:

[main]
DNS=dnsmasq

Kemudian reboot. Langkah ini mungkin tidak diperlukan. Mungkin cukup untuk memulai ulang NetworkManagerlayanan. Sekarang masuk ke NetworkManagerGUI (biasanya diakses oleh ikon di sudut layar) dan pilih Edit Connections...Di jendela yang muncul, klik +ikon untuk membuat koneksi baru. Pilih Ethernetsebagai jenis dan tekan Create.... Buka IPv4 Settingstab dan pilih metode Shared to other computers. Beri koneksi nama yang bagus dan simpan.

Hubungkan Raspberry Pi dan pastikan laptop Anda menggunakan koneksi baru Anda sebagai koneksi ethernet-nya. Jika ya, pi Anda sekarang harus memiliki ip yang diberikan oleh pc Anda. Anda dapat menemukannya dengan menjalankannya terlebih dahulu ifconfig. Ini akan memberi Anda beberapa blok teks, satu untuk setiap antarmuka jaringan. Anda tertarik pada salah satu yang seperti enp0s25atau eth0. Ini harus memiliki baris yang membaca sesuatu yang mirip untuk
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
melihat alamat siaran (dalam kasus ini 10.42.0.255). Jika berbeda dengan milik saya, matikan pi dan masukkan kembali kartu SD ke laptop Anda untuk mengubahnya static ip_addressmenjadi sesuatu di mana tiga angka pertama sama dengan alamat siaran Anda. Juga ubah yang static routerspertama dan yang pertama domain_name_serverske laptop Andainetalamat. Nyalakan kembali pi dan hubungkan. Jalankan ifconfiglagi untuk melihat bahwa alamat tidak berubah.

ssh ke dalam pi

ssh pi@10.42.0.182
Jika Anda mendapatkannya connection refused, pi tidak menjalankan sshserver. Jika Anda mendapatkan host unreachable, saya minta maaf.

Semoga ini bisa membantu seseorang!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.