Raspberry Piをイーサネット経由でルーターなしのラップトップに接続しますか?[閉まっている]


99

私はRaspberry Piでバルーンプロジェクトに取り組んでいます。Raspberry Piを回復する可能性がある場合、それはおそらく地方にあり、その時点で安全にPiをオフにしたいと思います。

近くにルーターやネットワークがないので、ラップトップに直接イーサネットケーブルでRaspberry Piを接続する方法があるかどうか疑問に思っていましたか?


アクセスポイントとして設定することを検討しましたか?それは私が過去にやったことです。
スペンサー

回答:


75

これはUbuntuのソリューションです(このアイデアはWindowsまたはMacでも機能します)。

素材

  1. クロスオーバーイーサネットケーブル(名前は豪華ですが、通常のイーサネットケーブルです)
  2. ラップトップ(ubuntu)
  3. ラズベリーパイ(私は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. このアドレスを使用してRPiのIPアドレスを確認します。私の場合10.24.0.1が私のラップトップなので、これは10.42.0.96です。

    $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転送)

    $ssh -Y pi@10.42.0.96

  2. 見よ!これでRPiがラップトップに接続され、RPiはWiFi接続を共有できます。

    pi@raspberrypi ~ $

ラップトップのディスプレイとキーボードをRPiで共有する

  1. Raspberry Piにvncserverをインストールする

    $ sudo apt-get update

    $ sudo apt-get install tightvncserver

  2. RealVNCをダウンロードしてラップトップにvncviewerをインストールします(複数のプラットフォームをサポートしています) http://www.realvnc.com/download/vnc/

  3. VNCサーバー<-> VNCビューアからコピー&ペーストできるようにするには、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. RPiでvncserverを起動します(autocutselのインストール後にvncserverを再起動する必要があります。発行できます$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ウィンドウがポップアップし、RPiのIPアドレス(ラップトップから提供)を入力し、続けてVNCサーバーであるポート1を入力します。たとえば、私の場合は10.42.0.96:1です。

  3. パスワードを入力して、RPiでホストされているvncserverに接続します(自分でパスワードを設定します)

    12.これで、ラップトップでRPiのデスクトップが表示され、ブラウザーを開いて共有WiFi接続も機能していることを確認できます。

あなたのubuntuでRaspberry Piデスクトップを見てください


私はStackoverflowの初心者なので、3つ以上のリンクを投稿することはできませんが、これらは私の参考文献です: LinuxのRaspberryにVNCをインストールしてubuntuの 共有ディスプレイで イーサネット経由でWifiを共有するRaspberry for WindowsにVNCをインストールして共有ディスプレイ
ニコールフィニー

VNCサーバーとVNCクライアントの間のコピーと貼り付けの問題を修正するためのリファレンスローカルOSとRaspberry Piの間のTightVNCコピー/貼り付け
Nicole Finnie

おかげで、私は将来の参考のためにあなたの答えをブックマークしました!
Mohd Shahril

ありがとうございました!これは素晴らしい答えです。私はインターネットのいたるところにそのような明確な手順を探していました!マイナーなコメントが1つあります。一部の人にとっては、(回答のコマンドの1つで)eth1の代わりにeth0を確認したい場合があります。
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

ルーターなし+画面なし+通常のイーサネットケーブル+ RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

まず、PiでSSHサーバーを有効にする必要があります。これは、セキュリティのためにデフォルトで無効になっています。

画面+キーボードまたはUART(以下を参照)などの非SSHメソッドを介してPiにシェルが既にある場合は、次のコマンドを実行します。

sudo systemctl enable ssh
sudo service sshd start

/raspberrypi/58478/ssh-not-working-with-fresh-installで説明されているように、これはブート間で持続します。

それ以外の場合は、ホストにSDカードを挿入sshし、boot/パーティションにfileという名前の魔法の空のファイルを作成します。

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

PiでSSHDデーモンを有効にしない場合、SSH接続は次のエラーで失敗します:

ssh: connect to host 10.42.0.160 port 22: Connection refused

後で試してみると

SSHサーバーを有効にした後

次に、Piを起動し、ラップトップからイーサネットケーブルを直接Piにリンクします。

ここに画像の説明を入力してください

Ubuntu 17.04では、この回答で述べたようにこのバグを回避するには、最初に次のものが必要です。

sudo apt-get install dnsmasq-base

ホストで、ネットワークマネージャーを開きます。

nm-connection-editor

じゃ、行け:

  1. + サイン(新しい接続を追加)
  2. イーサネット
  3. 作成する
  4. IPv4設定
  5. 方法:他のコンピューターと共有
  6. 良い名前をつけましょう
  7. 保存する

ここに画像の説明を入力してください

ホスト上のPiのIPを見つけます。

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を介してインターネットにも接続されています。

クロスケーブルがされていないホストのネットワークカードがサポートしている場合に必要な自動MDI-Xを。これは、2012年レノボT430私は、でテストたとえば含め、最新のハードウェアの場合の持っている「インテル®82579LMギガビット・ネットワーク・コネクション」の文書が自動MDI-Xのサポートを

これで、次のこともできます。

UARTシリアルUSBコンバーター

これは、Piでシェルを取得するだけの場合のSSHの代替手段です。https//en.wikipedia.org/wiki/Serial_port

これは、SSHやネットワーク自体を使用せず、むしろ、より古く、よりシンプルで、より直接的で、より信頼性が高く、帯域幅が狭く、距離の短いシリアルインターフェイスを使用します。この方法では、Piはインターネットにアクセスできません。

デスクトップコンピューターにはシリアルポートがまだあり、Piで直接ワイヤーツーワイヤーで接続できますが、これらはほとんどのラップトップに隠されているため、安価なUSBアダプターを購入する必要があります。ここで私は使用しました:https : //www.amazon.co.uk/gp/product/B072K3Z3TL参照:https : //unix.stackexchange.com/questions/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

この最初のパーティションには、ブートローダー、その構成ファイル、およびconfig.txtそれらの1つである(Linux / your)カーネルが含まれています。2番目のパーティションには、実際のLinuxルートファイルシステムが含まれています。

次に、コンピューターをPiに接続します。

ここに画像の説明を入力してください

3本のケーブルを接続するだけで済みます。

  • 地面から地面
  • USB toシリアルポートのPi to RxのTx
  • シリアルポート上のRxからUSB上のシリアルポート上のTx

これは、https//www.raspberrypi.org/documentation/usage/gpio/README.mdにも記載されています

グラウンドを5Vにリンクしないように注意してください。これにより、すでに2つのUARTを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に関する同様の質問:https : //raspberrypi.stackexchange.com/questions/3867/ssh-to-rpi-without-a-network-connection


1
私に有効な唯一の方法(約12の異なる戦略を試しました)(私はFedora 29を使っています)。ありがとう!
ダニエル・シュッテ

私の場合、/ var / lib /
misc

@Kirjainの報告に感謝します。あなたの設定は私のものと完全に同じですか(ホスト、ゲスト、ハードウェア)?そうでない場合、どのような違いがありますか?
Ciro Santilli郝海东冠状病六四事件法轮功

1
@CiroSantilli新疆改造中心996ICU六四事件戦車に手を差し伸べる。ハードウェアは同じですが、PIは最新(2019年6月)のraspbian busterリリースを実行しており、ホストはubuntu 18.04です。ホストとPIの静的IPアドレスを指定した後、ホストからPIにpingを送信しました。しかし、sshを実行すると、回答で述べた接続拒否エラーが表示されます。はい、PIのブートパーティションに空のsshファイルを作成しました。ただし、リリースノートのdownloads.raspberrypi.org/raspbian/release_notes.txtによると、これは有効なアプローチです。
borizzzzz

@AlexeyGyうーん、それは私が答えで最初に言うことではありませんか?:-)
Ciro Santilli郝海东冠状病六四事件法轮功

8

これを実装してテストしたところ、私のプロジェクトでも同じ状況で、ルーターやWi-FiなしでRaspberry Piに接続したいと考えています。単純なイーサネットケーブル。

ssh puttyプログラムを使用して、アドレスを

raspberrypi.local

ログインしてログインすると、ターミナルにアクセスできます。

または、VNCサーバーがセットアップされている場合は、VNCサーバーを使用して

raspberrypi.local:1

サーバーアドレス。VNCサーバーのパスワードを入力すると、GUIにアクセスして必要な操作を実行できます。

場合によっては、リモートの場所でスクリプトが実行されていました。ポスターの状況では、Piを安全にシャットダウンします。シンプルなにきび。


1
「ssh pi@raspberrypi.local」は、Linuxミントターミナルでのrasberrianの単純な古いフレッシュインストールで機能します。
Elliot Robert

これはホスト名に依存することに注意してください。したがって、piのホスト名を変更した場合、次のようになる可能性がありますelderberryphi.local
lucidbrot '20

7

ラップトップとラズベリーpiの静的IPを構成します。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

ラズベリーpiで静的IPを構成します。

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

イーサネットケーブルとDHCPサーバーのみを使用してRPiに接続するWindowsユーザー向けの手順を以下に示します。RPiで処理できるため、クロスケーブルは不要です。私はこれをフォローしやすいかもしれないここの写真これを文書化するブログ記事を持っています。

ダウンロード

ダウンロードWindows用のDHCPサーバーを(ダウンロードリンクがあるここ)。zipファイルを解凍し、DHCPサーバーを構成するdhcpwizアプリケーションを開きます。

DHCPサーバーの構成

最初の画面で次を押します。

2番目の画面で、「ローカルエリア接続」行を探し、そのIPアドレスが0.0.0.0で、ステータスがであることを確認しますenabled。イーサネットケーブルをRPiからラップトップに接続し、Piをオンにします。IPアドレスがに変わるまで、この画面で更新を押してください169.254.*.*。それ以外の場合は、ローカルエリア接続のネットワーク設定を変更する必要があります(静的IP / DNSではないことを確認してください)。このローカルエリア接続の行をクリックして、次をクリックします。

確認してくださいHTTP (Web Server)。これにより、RPiのIPアドレスを簡単に見つけることができます。次へ。

デフォルトにして、Writing the INI file画面に到達するまで[次へ]をクリックします。ボタンをチェックOverwrite existing fileしてWrite INI file押してください。次に[次へ]をクリックします。

最後の画面で、チェックRun DHCP server immediatelyして[完了]をクリックします。

DHCPサーバーとRaspberry PIのIPアドレスの取得

これにより、前のウィザードで作成した構成を使用して、実際のDHCPサーバーが起動します。ボタンをクリックするContinue as tray appと、DHCPサーバーがシステムトレイに最小化されます。

1秒から5分後のどこでも、ラップトップとRPiの新しいIPアドレスを含むシステムトレイにアラートが表示されます。このアラートは非常に迅速であり、おそらく見逃してしまいます。通常、RPiのIPはですが169.254.0.2*.01それ以外の場合もあります。http://localhost/dhcpstatus.xmlでDHCPサーバーのWeb UIにアクセスする方が簡単です。これにより、ホスト名が「raspberrypi」としてIPアドレスとともにリストされます。

これで、RPTIにパテまたはリモートデスクトップを追加し、そのワイヤレス設定や必要な操作を構成できます。

トラブルシューティング

これはややこしいかもしれません。接続が切断されたように見え、IPアドレスを使用してSSHで戻すことができませんでした。通常、私はPiを再起動してIPアドレスを再度取得できます。RPiとDHCPサーバーの両方を再起動する必要がある場合があります。時々私はこれを複数回行わなければなりません。15分間接続が得られなかったある時点で、dhcpsrv2.5.1フォルダー内のすべてのファイルを新しいフォルダーにコピーして、再試行しました。それはすぐに機能しました。


1
反対票を投じた人はコメントしてください。そうしないと、投票がほとんどの人にとって役に立たなくなります。
byronyasgur 16

2

クロスオーバーイーサネットケーブルを使用できます-http://en.wikipedia.org/wiki/Ethernet_crossover_cable

RPiがDCHPクライアントであると仮定すると、ノートブックで単純なDHCPサーバーを実行して、RPiにIPアドレスを割り当てるのが最善です。


3
RPiには通常のイーサネットケーブルで動作するソフトウェアがあるため、クロスケーブルは必要ありません。
Matthew Moisen

1

はい、ルーターなしでラズベリーを直接PCに接続できます。これには、ラズベリーとコンピューターが同じサブネット上にあり、両方に静的IPが構成されている(および2つのデバイス間にイーサネットケーブルが接続されている)ことが必要です。

理想的な構成は次のとおりです。

eth0上のラズベリー:IP:192.168.1.10サブネット:255.255.255.0

PC: IP:192.168.1.11 SubNet 255.255.255.0

ラズベリーに手動IPを設定するには、このガイドに従ってください

PCでは、ネットワークアダプターの設定で手動IPを設定できます。手順はオペレーティングシステムによって異なります。

2つの静的IPを構成したら、IPセット(192.168.1.10)を使用してSSH経由でラズベリーに接続できます。

別の簡単な方法は、ラズベリーをオフにするボタンをGPIOに接続することです!ここを見てください!


1

私にとってうまくいったのは、Nicole FinnieとCiro Santilliからの回答と、他の場所からの回答の組み合わせでした。

パイのセットアップ

2つのことを行う必要があります:piでsshをアクティブ化し、静的IPを使用するようにpiを構成します。

SSHをアクティブにする

sdカードのsshブートパーティションで呼び出されるファイルを追加します(/bootルートパーティションのフォルダーではありません)。これは他の場所でも十分に文書化されています。

固定IP

/etc/dhcpcd.confpiのSDカードを開き、静的IPの例のコメントを外します(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次の2行を開いて上部に追加します。

[main]
DNS=dnsmasq

その後、再起動します。この手順は必要ない場合があります。NetworkManagerサービスを再起動するだけで十分な場合があります。次に、NetworkManagerGUI(通常は画面の隅にあるアイコンでアクセスします)Edit Connections...に移動し、ポップアップウィンドウで+アイコンをクリックして新しい接続を作成します。Ethernetタイプとして選択し、を押しCreate...ます。IPv4 Settingsタブに移動し、方法を選択しますShared to other computers。接続に適切な名前を付けて保存します。

Raspberry Piを接続し、ラップトップが新しい接続をイーサネット接続として使用していることを確認します。もしそうなら、あなたのpiはあなたのPCから与えられたipを持つはずです。最初にを実行すると、これを見つけることができますifconfig。これにより、ネットワークインターフェイスごとに1つずつ、複数のテキストブロックが表示されます。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、最初の3つの数値がブロードキャストアドレスと同じであるものに変更します。またstatic routers、最初のをdomain_name_serversラップトップのに変更しますinet住所。piの電源を入れ、接続します。ifconfig再度実行して、アドレスが変更されていないことを確認します。

piにssh

ssh pi@10.42.0.182
を取得したconnection refused場合、piはsshサーバーを実行していません。あなたが得るならhost unreachable、ごめんなさい。

これが誰かを助けることを願っています!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.