Framboesa Projetos PI: LEGO tijolo Alternate idioma

Precisa de um novo projeto Raspberry Pi? Você pode executar algumas linguagens de terceiros sobre o tijolo LEGO, mas ev3dev coloca uma versão reduzida do Linux no tijolo. Você não precisa mudar nada sobre o tijolo porque ev3dev foge um cartão micro SD inserido no tijolo. Você pode facilmente reverter o seu tijolo LEGO de volta ao estado original, basta desconectar o cartão SD.

A maior parte do trabalho de instalação envolve a criação do cartão SD com a distribuição Linux nele. É uma espécie de como criar o cartão SD para o próprio Raspberry Pi. em ev3dev.org, pode encontrar instruções sobre como criar o cartão SD sob o Mac, PC ou sistema operacional Linux.

Depois de criar o cartão SD, você pode conectar o tijolo para o Raspberry Pi. Você tem que ligar o tijolo diretamente em uma das portas USB do Raspberry Pi (em oposição a um hub USB) para que ele funcione.

Você se comunica com o tijolo LEGO do Raspberry Pi usando uma sessão Secure Shell (SSH). Abra uma janela de linha de comando e configurar uma sessão. Isto é o que você verá:

senha ssh root @ 192.168.2.3root @ de 192.168.2.3: _____ ______ _ | ___ / __ | | _____ __ / _ / / | _ / _` | / _ / / | __ / V / ___) | (_ | | __ / V / ___ | _ / | ____ / __, _ | ___ |! _ / Debian GNU / Linux Jessie em Lego Mindstorms EV3 Os programas incluídos com o Debian GNU / linuxsystem são livres software-os termos exactos de distribuição para cada programare descrito em arquivos theindividual em /usr/share/doc/*/copyright.Debian GNU / Linux vem com ABSOLUTAMENTE NENHUMA GARANTIA, até o limite permitido por login law.Last aplicável: Qua 05 de novembro 11 : 45: 33 2014 a partir 192.168.2.1root@ev3dev: ~ #

Para Linux, tudo é um arquivo, e os motores LEGO não são excepção. Você falar com eles por escrito para um arquivo, e você recebe de volta informações listando um arquivo. Porque este é o Linux, a linha de comando normal, ainda solicita funcionar e você vai encontrá-lo útil para usar CD para mudar diretório e ls para ver quais arquivos estão no nível do diretório atual.

Para utilizar este sistema a partir de dentro do Python, você tem que gerenciar uma sessão SSH a partir de um programa. A maioria das pessoas recomendam usar Pexpect, mas você pode ter mais sucesso com paramiko. Instalá-lo usando o seguinte:

pip instalar paramiko --upgrade

O código a seguir mostra como abrir, executar e fechar uma sessão SSH a partir de Python.

'' 'Ssh Sesson para EV3dev «importação paramikoimport sysimport math' ', tempo, OS # Criar um shell SSH clientssh = paramiko.SSHClient () =" "- debug = Truedef main (): print" Espere por tijolo para ser contatado " shellssh.load_system_host_keys globais: login () ( "ls n") # Linux lista directoryssh.close () print "Agora a encerrar" sys.exit) # funções (para acesso de login EV3devdef () print "Agora falando com tijolo" send_command () ssh.load_host_keys (os.path.expanduser ( "~ / .ssh / known_hosts")) # Certifique-se de que adicionar # chave SSH do servidor remoto automaticallyssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())paramiko.util.log_to_file("ev3brick.log")# Conectar-se à alteração de senha EV3 tijolos # à sua ownssh.connect ( "10.42.0.3", username = "root", password = "legobrick9") # Crie um wait_for_prompt shellshell = ssh.invoke_shell () cru () send_command ( "cd / sys / class / tacho-motor n ") # faz comandos shorterdef wait_for_prompt (): # Criar um novo receber bufferreceive_buffer =" "enquanto não" # "no receive_buffer: # Obter o receber bufferreceive_buffer + = shell.recv (1024) Se depuração: receive_bufferdef impressão send_command (comando): shell.send (comando) receive_buffer = "" enquanto não "#" no receive_buffer: receive_buffer + = shell.recv (1024), se depuração ou "-bash" em receive_buffer: imprimir receive_bufferif __name__ == '__main __': main ()

menu