web-dev-qa-db-ja.com

ルーター経由でラップトップにイーサネット経由でRaspberry Piを接続しますか?

Raspberry Piでバルーンプロジェクトに取り組んでいます。 Raspberry Piを潜在的に回復する場合、Raspberry Piは農村部にある可能性が高いため、その時点でPiを安全にオフにしたいと思います。近くにルーターやネットワークがなければ、イーサネットケーブルでRaspberry Piを直接ラップトップに接続する方法があるのだろうかと思いましたか?

93
user2170780

これはUbuntuのソリューションです(このアイデアはWindowsまたはMacでも機能します)私が今日試したところ、それは魅力のように機能します。

素材

  1. クロスオーバーイーサネットケーブル(名前は派手ですが、通常のイーサネットケーブルです)
  2. ラップトップ(ubuntu)
  3. raspberry Pi(私はPi2を持っています)

ubuntuの前提条件

  1. ネットワークマネージャーをインストールする

    $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.42.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にログインします(Xフォワーディングで-Y)

    $ssh -Y [email protected]

  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にautocutselをインストールする必要があります。

$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接続も機能していることを確認しました。

buntuのRaspberry Piデスクトップを参照

72
Nicole Finnie

クロスケーブルは必要ありません。 Raspberry Pi LANチップは、直接ネットワーク接続用に再構成するのに十分なほどスマートなので、通常のネットワークケーブルを使用できます。乾杯

21
Vas

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

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

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

Sudo systemctl enable ssh
Sudo service sshd start

https://raspberrypi.stackexchange.com/questions/58478/ssh-not-working-with-fresh-install これはブート後も持続します。

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

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にリンクします。

enter image description here

Ubuntu 17.04で回避するには このバグ 前述のとおり この回答で 最初に必要なもの:

Sudo apt-get install dnsmasq-base

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

nm-connection-editor

じゃ、行け:

  1. + sign(新しい接続を追加)
  2. イーサネット
  3. 作成する
  4. IPv4設定
  5. 方法:他のコンピューターと共有
  6. 適切な名前を設定してください
  7. 保存する

enter image description here

ホスト上の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 [email protected]

.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 をサポートしている場合、クロスケーブルはnotが必要です。これは、たとえば、私がテストした2012 Lenovo T430など、最新のハードウェアの場合です がある 「Intel®82579LMギガビットネットワーク接続」 Auto 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 で説明されているとおり

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

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

enter image description here

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

  • 地面から地面
  • PiからTxへ、USBからシリアルポートへのRx
  • Piの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

これを実装してテストしました。私のプロジェクトと同じ状況で、ルーターや無線LANなしでRaspberry Piに接続したい。簡単なイーサネットケーブル。

Ssh PuTTYプログラムを使用して、アドレスを

raspberrypi.local

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

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

raspberrypi.local:1

サーバーのアドレス。 VNCサーバーのパスワードを入力すると、必要な操作を行うためのGUIアクセスが可能になります。

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

8

ラップトップとRaspberry 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
7
Don

raspberry 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 [email protected]
4
Queky

イーサネットケーブルとDHCPサーバーのみを使用してRPiに接続する場合のWindowsユーザー向けの手順を以下に示します。 RPiで処理できるため、クロスオーバーケーブルは必要ありません。これを写真で文書化したブログ投稿があります here のほうがわかりやすいかもしれません。

ダウンロード

Windows用DHCPサーバー をダウンロードします(ダウンロードリンクは こちら です)。 Zipファイルを解凍し、dhcpwizアプリケーションを開きます。これにより、DHCPサーバーが構成されます。

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を確認し、 `Finishを押します。

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にアクセスする方が簡単です。これにより、ホスト名がIPアドレスとともに「raspberrypi」としてリストされます。

これで、PuTTYまたはリモートデスクトップをRPiに組み込み、そのワイヤレス設定または任意の操作を構成できます。

トラブルシューティング

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

3
Matthew Moisen

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

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

2
MrDB

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

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

Rethberryon eth0:IP:192.168.1.10 SubNet: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経由でraspberryに接続できます。

別の簡単な方法は、GPIOにラズベリーをオフにするボタンを取り付けることです! こちらをご覧ください!

1
grausof

私のために働いたのは、ニコール・フィニーとチロ・サンティリの答えと他の場所からのいくつかの答えの組み合わせでした。

Piを設定する

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

Sshのアクティブ化

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

固定IP

PiのSDカードで/etc/dhcpcd.confを開き、静的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を使用)がインストールされていることを確認してください。次に、dnsmasqnotサービスとして実行されていることを確認します。
systemctl status dnsmasq
このコマンドでサービスが停止していることが表示されれば、問題ありません。

次に、networkmanagerを設定する必要があります。 /etc/NetworkManager/NetworkManager.confを開き、上部に次の2行を追加します。

[main]
DNS=dnsmasq

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

Raspberry Piを接続し、ラップトップがイーサネット接続として新しい接続を使用していることを確認します。もしそうなら、あなたのpiはあなたのpcからIPが与えられているはずです。これを見つけるには、最初にifconfigを実行します。これにより、ネットワークインターフェースごとに1つずつ、テキストのブロックがいくつか得られます。 enp0s25eth0のようなものに興味があります。次のような行が必要です。
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アドレスに変更します。パイの電源を入れ直して接続します。 ifconfigを再度実行して、アドレスが変更されていないことを確認します。

piにssh

ssh [email protected]
connection refusedを取得した場合、piはsshサーバーを実行していません。 Host unreachableを受け取ったら、ごめんなさい。

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

0
Froff