私はRaspberry Piでバルーンプロジェクトに取り組んでいます。Raspberry Piを回復する可能性がある場合、それはおそらく地方にあり、その時点で安全にPiをオフにしたいと思います。
近くにルーターやネットワークがないので、ラップトップに直接イーサネットケーブルでRaspberry Piを接続する方法があるかどうか疑問に思っていましたか?
私はRaspberry Piでバルーンプロジェクトに取り組んでいます。Raspberry Piを回復する可能性がある場合、それはおそらく地方にあり、その時点で安全にPiをオフにしたいと思います。
近くにルーターやネットワークがないので、ラップトップに直接イーサネットケーブルでRaspberry Piを接続する方法があるかどうか疑問に思っていましたか?
回答:
これはUbuntuのソリューションです(このアイデアはWindowsまたはMacでも機能します)。
素材
Ubuntuの前提条件
network-managerをインストールする
$sudo apt-get install network-manager
nmapをインストールする
$sudo apt-get install nmap
ノートパソコンの有線接続を編集する(Ubuntu)
イーサネットクロスオーバーケーブルを介してラップトップのWiFi接続を共有する
イーサネットケーブルを使用して、ラップトップでRPiを接続します
イーサネット接続(ラップトップ)のブロードキャストアドレスを検索します。
$/sbin/ifconfig eth1 | grep "Bcast" | awk -F: '{print $3}' | awk '{print $1}'
10.42.0.255
このアドレスを使用して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
ラップトップからRPiにログイン(-YとX転送)
$ssh -Y pi@10.42.0.96
見よ!これでRPiがラップトップに接続され、RPiはWiFi接続を共有できます。
pi@raspberrypi ~ $
ラップトップのディスプレイとキーボードをRPiで共有する
Raspberry Piにvncserverをインストールする
$ sudo apt-get update
$ sudo apt-get install tightvncserver
RealVNCをダウンロードしてラップトップにvncviewerをインストールします(複数のプラットフォームをサポートしています) http://www.realvnc.com/download/vnc/
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
RPiでvncserverを起動します(autocutselのインストール後にvncserverを再起動する必要があります。発行できます$vncserver -kill :1
)
$vncserver :1
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
ノートパソコンでvncviewerを起動します
$vncviewer
vncviewerウィンドウがポップアップし、RPiのIPアドレス(ラップトップから提供)を入力し、続けてVNCサーバーであるポート1を入力します。たとえば、私の場合は10.42.0.96:1です。
パスワードを入力して、RPiでホストされているvncserverに接続します(自分でパスワードを設定します)
12.これで、ラップトップでRPiのデスクトップが表示され、ブラウザーを開いて共有WiFi接続も機能していることを確認できます。
network-manager
、デフォルトの「ネットワーク設定」GUIを使用するだけです。そして、おそらく「編集」の代わりに「追加」をクリックする必要があります。必要はありませんnmap
、ただcat /var/lib/misc/dnsmasq.leases
。参照:interlockroc.org/2012/12/06/raspberry-pi-macgyver
ルーターなし+画面なし+通常のイーサネットケーブル+ 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
じゃ、行け:
+
サイン(新しい接続を追加)ホスト上の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本のケーブルを接続するだけで済みます。
これは、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
これを実装してテストしたところ、私のプロジェクトでも同じ状況で、ルーターやWi-FiなしでRaspberry Piに接続したいと考えています。単純なイーサネットケーブル。
ssh puttyプログラムを使用して、アドレスを
raspberrypi.local
ログインしてログインすると、ターミナルにアクセスできます。
または、VNCサーバーがセットアップされている場合は、VNCサーバーを使用して
raspberrypi.local:1
サーバーアドレス。VNCサーバーのパスワードを入力すると、GUIにアクセスして必要な操作を実行できます。
場合によっては、リモートの場所でスクリプトが実行されていました。ポスターの状況では、Piを安全にシャットダウンします。シンプルなにきび。
elderberryphi.local
イーサネットケーブルと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フォルダー内のすべてのファイルを新しいフォルダーにコピーして、再試行しました。それはすぐに機能しました。
クロスオーバーイーサネットケーブルを使用できます-http://en.wikipedia.org/wiki/Ethernet_crossover_cable
RPiがDCHPクライアントであると仮定すると、ノートブックで単純なDHCPサーバーを実行して、RPiにIPアドレスを割り当てるのが最善です。
はい、ルーターなしでラズベリーを直接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に接続することです!ここを見てください!
私にとってうまくいったのは、Nicole FinnieとCiro Santilliからの回答と、他の場所からの回答の組み合わせでした。
2つのことを行う必要があります:piでsshをアクティブ化し、静的IPを使用するようにpiを構成します。
sdカードのssh
ブートパーティションで呼び出されるファイルを追加します(/boot
ルートパーティションのフォルダーではありません)。これは他の場所でも十分に文書化されています。
/etc/dhcpcd.conf
piの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
サービスを再起動するだけで十分な場合があります。次に、NetworkManager
GUI(通常は画面の隅にあるアイコンでアクセスします)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
再度実行して、アドレスが変更されていないことを確認します。
ssh pi@10.42.0.182
を取得したconnection refused
場合、piはssh
サーバーを実行していません。あなたが得るならhost unreachable
、ごめんなさい。
これが誰かを助けることを願っています!