Estou trabalhando em um projeto de balão com um Raspberry Pi. Quando potencialmente recuperarmos o Raspberry Pi, provavelmente será em uma localização rural e eu gostaria de desligar o Pi nesse ponto com segurança.
Sem um roteador ou rede por perto, eu queria saber se há uma maneira de conectar um Raspberry Pi com um cabo Ethernet diretamente a um laptop.
ssh
raspberry-pi
ethernet
user2170780
fonte
fonte
Respostas:
É uma solução para Ubuntu (a ideia também funciona para Windows ou Mac) que experimentei hoje e funciona perfeitamente.
Material
Pré-requisitos em seu ubuntu
Instale o gerenciador de rede
$sudo apt-get install network-manager
Instale o nmap
$sudo apt-get install nmap
Edite a conexão com fio em seu laptop (Ubuntu)
Compartilhe a conexão WiFi do seu laptop via cabo cruzado Ethernet
Conecte seu RPi com seu laptop usando o cabo Ethernet
Procure o endereço de transmissão da conexão Ethernet (laptop),
$/sbin/ifconfig eth1 | grep "Bcast" | awk -F: '{print $3}' | awk '{print $1}'
10.42.0.255Use este endereço para descobrir o endereço IP do seu RPi, é 10.42.0.96 no meu caso porque 10.42.0.1 é meu laptop
$nmap -n -sP 10.42.0.255/24
Faça login em seu RPi de seu laptop (-Y com X-forwarding)
$ssh -Y [email protected]
Vejam só! Agora seu RPi está conectado ao seu laptop e RPi pode compartilhar a conexão WiFi.
pi@raspberrypi ~ $
Compartilhe a tela e o teclado do seu laptop com RPi
Instale o vncserver no Raspberry Pi
$ sudo apt-get update
$ sudo apt-get install tightvncserver
Instale o vncviewer em seu laptop baixando o RealVNC (ele suporta múltiplas plataformas) http://www.realvnc.com/download/vnc/
Para poder copiar e colar do servidor VNC <--> VNC viewer, você precisa instalar o autocutsel em seu RPi.
$sudo apt-get install autocutsel
Se este site não funcionar, tente baixar o .deb diretamente de um site espelho, por exemplo, mirror.hmc.edu/debian/pool/main/a/autocutsel/autocutsel_0.10.0-1_armhf.deb
e instale-o
$sudo dpkg -i autocutsel_0.10.0-1_armhf.deb
Inicie o vncserver em seu RPi (você deve reiniciar o vncserver após instalar o autocutsel, você pode emitir
$vncserver -kill :1
)$vncserver :1
Adicione autocutsel -fork a /home/pi/.vnc/xstartup
Inicie o vncviewer em seu laptop
$vncviewer
Uma janela vncviewer aparecerá e digite o endereço IP do seu RPi (fornecido pelo seu laptop) seguido pela porta 1, que é o seu servidor VNC. por exemplo: 10.42.0.96:1 no meu caso.
Conecte-o ao vncserver hospedado em seu RPi digitando uma senha (configure uma senha você mesmo)
12.Agora você pode ver a área de trabalho do RPi em seu laptop, e abri meu navegador para mostrar que a conexão WiFi compartilhada também está funcionando.
Veja a área de trabalho Raspberry Pi em seu ubuntu
fonte
network-manager
, basta usar a GUI padrão "Configurações de rede". E você provavelmente deve clicar em "Adicionar" em vez de "Editar". Não há necessidadenmap
, apenascat /var/lib/misc/dnsmasq.leases
. Ver: interlockroc.org/2012/12/06/raspberry-pi-macgyverVocê não precisa de um cabo cruzado. Você pode usar um cabo de rede normal, pois o chip Raspberry Pi LAN é inteligente o suficiente para se reconfigurar para conexões diretas de rede. Felicidades
fonte
Sem roteador + sem tela + cabo Ethernet normal + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10
Primeiro, devemos habilitar o servidor SSH no Pi, que é desabilitado por padrão para segurança.
Se você já tem um shell no Pi por meio de um método não SSH, como tela + teclado ou UART (veja abaixo), basta executar:
conforme explicado em: /raspberrypi/58478/ssh-not-working-with-fresh-install Isso persiste nas inicializações.
Caso contrário, insira o cartão SD em seu host e crie um arquivo vazio mágico chamado
ssh
arquivo naboot/
partição.Em hosts Ubuntu, ele é montado automaticamente e você pode fazer apenas:
que você pode confirmar com:
que contém:
Se você não habilitar o daemon SSHD no Pi, a conexão SSH falhará com:
quando tentamos mais tarde.
Depois de habilitar o servidor SSH
Em seguida, inicialize o Pi e conecte um cabo Ethernet do seu laptop diretamente ao Pi:
No Ubuntu 17.04, para contornar esse bug, conforme mencionado nesta resposta, você precisa primeiro:
No host, abra o gerenciador de rede:
E ir:
+
assinar (adicionar uma nova conexão)Encontre o IP do Pi no host:
produz algo como:
10.42.0.160
é o IP, então, como de costume:Eu também tenho o seguinte no meu
.bashrc
:De dentro do Pi, observe que ele pode acessar a Internet normalmente por meio de outras interfaces do seu host:
Por exemplo, no meu laptop, o Pi assume a Ethernet, mas o host também está conectado à Internet por WiFi.
O cabo crossover não é necessário se a placa de rede do host suportar Auto MDI-X . Este é o caso do hardware mais recente, incluindo, por exemplo, o Lenovo T430 de 2012 com o qual testei, que possui uma "Conexão de rede Gigabit Intel® 82579LM" que documenta suporte para MDI-X automático .
Agora você também pode:
Conversor serial USB UART
Esta é uma alternativa ao SSH se você deseja apenas obter um shell no Pi: https://en.wikipedia.org/wiki/Serial_port
Isso não usa SSH ou rede em si, mas sim a interface serial mais antiga, mais simples, mais direta, mais confiável, largura de banda menor e menor distância. O Pi não terá acesso à Internet com este método.
Os computadores desktop ainda têm uma porta serial que você pode conectar diretamente com fio a fio com o Pi, mas elas estão escondidas na maioria dos laptops, então precisamos comprar um adaptador USB barato. Aqui eu usei: https://www.amazon.co.uk/gp/product/B072K3Z3TL Veja também: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882
Primeiro, conecte o cartão SD no host e edite o
config.txt
arquivo presente na primeira partição para adicionar:conforme explicado em: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Esta primeira partição contém o bootloader, seus arquivos de configuração e o kernel (Linux / seu),
config.txt
sendo um deles. A segunda partição contém o sistema de arquivos raiz Linux real.Agora conecte seu computador ao Pi como:
Você só precisa conectar 3 cabos:
Isso também está documentado em: https://www.raspberrypi.org/documentation/usage/gpio/README.md
Tenha cuidado para não conectar o aterramento ao 5V, já queimei 2 UART para chips USB e um RPI UART fazendo isso!
Você não precisa conectar o 5V ao 5V. Eu acho que você pode energizar seu Pi assim, mas li que isso é uma má ideia, basta usar a fonte de alimentação USB usual.
Por fim, conecte o lado USB do conector ao computador host e obtenha um shell com:
Saia com
Ctrl-A \
.Aqui está um vídeo de Adafruit mostrando isso: https://www.youtube.com/watch?v=zUBPeoLW16Q
Veja também
Pergunta semelhante no RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection
fonte
Acabei de implementar e testar com sucesso. Mesma situação com meu projeto, quero me conectar a um Raspberry Pi sem roteador ou wi-fi. Apenas um simples cabo Ethernet.
Usando o programa ssh putty coloque o endereço como
raspberrypi.local
Faça o login e você pode acessar o terminal.
Alternativamente, se o servidor VNC estiver configurado, use o servidor VNC e coloque
raspberrypi.local: 1
No endereço do servidor. insira sua senha do servidor VNC e agora você tem acesso GUI para fazer o que quiser.
Em alguns casos, foram executados scripts em local remoto. Na situação dos pôsteres, desligue o Pi com segurança. Simples Pimples.
fonte
elderberryphi.local
Configure o ip estático para o seu laptop e o raspberry pi. No rapberryPI configure da seguinte forma.
Em seguida, configure o seguinte conforme necessário para conectar ao seu laptop.
fonte
configure o ip estático no raspberry pi:
e depois adicione:
então você pode acessar sua framboesa via ssh
fonte
Aqui estão as instruções para usuários do Windows sobre como conectar-se a um RPi usando apenas um cabo Ethernet e um servidor DHCP. Não há necessidade de um cabo cruzado, pois o RPi pode lidar com isso. Eu tenho uma postagem no blog que documenta isso com fotos aqui que podem ser mais fáceis de seguir.
Transferências
Baixe o servidor DHCP para Windows (o link para download está aqui ). Descompacte o arquivo zip e abra o aplicativo dhcpwiz, que configurará o servidor DHCP.
Configuração do servidor DHCP
Clique em próximo na primeira tela.
Na segunda tela, procure a linha "Conexão de área local" e verifique se o endereço IP
0.0.0.0
e o status sãoenabled
. Conecte o cabo Ethernet do RPi ao seu laptop e ligue o Pi. Clique em atualizar nesta tela até que o endereço IP mude para169.254.*.*
. Se for qualquer outra coisa, você deve alterar as configurações de rede para a Conexão de área local (certifique-se de que não seja um IP / DNS estático). Clique nesta linha de conexão de área local e clique em próximo.Verifique
HTTP (Web Server)
. Isso torna muito mais fácil localizar o endereço IP do RPi. Clique em Avançar.Pegue os padrões e clique em Avançar até chegar à
Writing the INI file
tela. VerifiqueOverwrite existing file
e aperte oWrite INI file
botão. Em seguida, clique em Avançar.Na tela final, verifique
Run DHCP server immediately
e clique em `Concluir.Servidor DHCP e obtenção do endereço IP do Raspberry PI
Isso inicia o servidor DHCP real, usando a configuração que você acabou de criar no assistente anterior. Clique no
Continue as tray app
botão e o servidor DHCP será minimizado na bandeja do sistema.Em qualquer lugar de 1 segundo a 5 minutos a partir de agora, você verá um alerta na bandeja do sistema com seu laptop e o novo endereço IP de seu RPi. Este alerta é muito rápido e provavelmente você o perderá. Normalmente o IP do seu RPi é
169.254.0.2
, mas pode ser*.01
ou até outra coisa. É mais fácil acessar a IU da web do servidor DHCP em http: //localhost/dhcpstatus.xml . Isso listará o nome do host como "raspberrypi" com seu endereço IP.Agora você pode colocar massa ou área de trabalho remota em seu RPi e definir suas configurações sem fio ou o que quiser.
Solução de problemas
Isso pode ser um pouco enjoado. Minha conexão parece ter caído e não consigo retornar ao SSH usando o endereço IP. Normalmente, posso reiniciar o Pi e obter o endereço IP novamente. Às vezes preciso reiniciar o RPi e o servidor DHCP. Às vezes, preciso fazer isso várias vezes. A certa altura, quando eu não conseguia uma conexão por 15 minutos, copiei todos os arquivos da pasta dhcpsrv2.5.1 para uma nova pasta e tentei novamente; funcionou imediatamente.
fonte
Você pode usar um cabo Ethernet cruzado - http://en.wikipedia.org/wiki/Ethernet_crossover_cable
Supondo que seu RPi seja um cliente DCHP, é melhor executar um servidor DHCP simples em seu notebook para atribuir um endereço IP ao RPi.
fonte
Sim, você pode conectar o raspberry direto ao seu PC sem roteador. Para isso é necessário que o raspberry e o seu computador estejam na mesma sub-rede, e ambos tenham um ip estático configurado (e um cabo Ethernet conectado entre os dois dispositivos).
Uma configuração ideal seria a seguinte:
Raspberry na eth0: IP: 192.168.1.10 Subnet: 255.255.255.0
Seu PC: IP: 192.168.1.11 SubNet 255.255.255.0
Para definir um IP manual no raspberry, você pode seguir este guia
No seu PC, você pode definir um IP manual nas configurações do adaptador de rede e o procedimento depende do seu sistema operacional.
Quando você configurou os dois IP estáticos, você pode se conectar ao raspberry via SSH usando o conjunto de IP (192.168.1.10).
Outro método mais simples é colocar no GPIO um botão para desligar o framboesa! Dê uma olhada aqui!
fonte
O que funcionou para mim foi uma combinação das respostas de Nicole Finnie e Ciro Santilli junto com algumas respostas de outros lugares.
Configurando o pi
Precisamos fazer duas coisas: ativar o ssh no pi e configurar o pi para usar um ip estático.
Ativando ssh
Adicione um arquivo chamado
ssh
na partição de inicialização do cartão SD (não a/boot
pasta na partição raiz). Isso está bem documentado em outros lugares.I.P. estático
Abra
/etc/dhcpcd.conf
no cartão SD do pi e descomente o exemplo de um ip estático (começa em torno da linha 40). Defina os endereços paraConfigurando seu laptop
Primeiro, certifique-se de ter
networkmanager
(com GUI) instalado em seu laptop. Em seguida, certifique-dnsmasq
se de que não está executando como um serviço:systemctl status dnsmasq
se este comando imprimir que o serviço foi interrompido, você está bem.
Em seguida, temos que configurar
networkmanager
. Abra/etc/NetworkManager/NetworkManager.conf
e adicione as duas linhas a seguir na parte superior:Em seguida, reinicie. Esta etapa pode não ser necessária. Pode ser suficiente reiniciar o
NetworkManager
serviço. Agora vá para aNetworkManager
GUI (geralmente acessada por um ícone no canto da tela) e escolhaEdit Connections...
Na janela que aparece, clique no+
ícone para criar uma nova conexão. EscolhaEthernet
como o tipo e pressioneCreate...
. Vá para aIPv4 Settings
guia e selecione o métodoShared to other computers
. Dê um bom nome à conexão e salve.Conecte o Raspberry Pi e certifique-se de que seu laptop está usando sua nova conexão como conexão Ethernet. Se for, seu pi agora deve ter um ip fornecido pelo seu pc. Você pode encontrar isso executando primeiro
ifconfig
. Isso deve fornecer vários blocos de texto, um para cada interface de rede. Você está interessado naquele que é algo comoenp0s25
oueth0
. Ele deve ter uma linha que leia algo semelhante aoinet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
olhar para o endereço de broadcast (neste caso
10.42.0.255
). Se for diferente do meu, desligue o pi e coloque o cartão SD de volta no seu laptop para mudar ostatic ip_address
para algo onde os três primeiros números sejam iguais aos do seu endereço de transmissão. Altere também ostatic routers
e o primeiro dodomain_name_servers
para o do seu laptopinet
endereço. Ligue o pi novamente e conecte-o. Executeifconfig
novamente para ver se os endereços não mudaram.ssh no pi
ssh [email protected]
Se você obtiver
connection refused
, o pi não está executando umssh
servidor. Se você conseguirhost unreachable
, sinto muito.Espero que isso ajude alguém!
fonte