Proyectos pi Frambuesa: ladrillo lego idioma alternativo
¿Necesita un nuevo proyecto Raspberry Pi? Puede ejecutar un buen número de idiomas de terceros en el ladrillo LEGO, pero ev3dev pone una versión reducida de Linux en el ladrillo. Usted no tiene que cambiar nada en el ladrillo porque ev3dev funciona con una tarjeta micro SD insertada en el ladrillo. Puede volver fácilmente su ladrillo LEGO volver al estado original simplemente desconectar la tarjeta SD.
La mayor parte de los trabajos de instalación implica la creación de la tarjeta SD con la distribución de Linux en él. Es algo así como la creación de la tarjeta SD para el propio Raspberry Pi. En ev3dev.org, puede encontrar instrucciones sobre cómo crear la tarjeta SD bajo el, PC o sistema operativo Linux Mac.
Después de crear la tarjeta SD, puede conectar el ladrillo en el Raspberry Pi. Usted tiene que conectar el ladrillo directamente en uno de los puertos USB del Raspberry Pi (en oposición a un concentrador USB) con el fin de que funcione.
Usted se comunica con el ladrillo LEGO de la Raspberry Pi utilizando un Shell (SSH) sesión segura. Abra una ventana de línea de comandos y establecer una sesión. Esto es lo que verás:
contraseña de root ssh @ 192.168.2.3root @ de 192.168.2.3: _____ ______ _ | ___ / __ | | _____ __ / _ / / | _ / _` | / _ / / | __ / V / ___) | (_ | | __ / V / ___ | _ / | ____ / __, _ | ___ |! _ / Debian GNU / Linux jessie en LEGO MINDSTORMS EV3 Los programas incluidos con Debian GNU / Linuxsystem son gratis términos de distribución exactas para cada programare descrito en archivos theindividual en /usr/share/doc/*/copyright.Debian GNU / Linux los software viene con ABSOLUTAMENTE NINGUNA GARANTÍA, en la medida permitida por la aplicación law.Last entrada: Mié 05 de noviembre 11 : 45: 33 2014 de 192.168.2.1root@ev3dev: ~ #
Para Linux, todo es un archivo, y los motores de LEGO no son una excepción. Usted habla con ellos por escrito a un archivo y te devuelven información haciendo una lista de un archivo. Porque esto es Linux, la línea de comandos normales indicaciones todavía funciona y lo encontrará útil el uso de disco compacto para cambiar de directorio y ls para ver qué archivos se encuentran en el nivel de directorio actual.
Para utilizar este sistema desde dentro de Python, usted tiene que manejar una sesión SSH desde un programa. La mayoría de la gente recomendaría usar Pexpect, pero puede tener más éxito con paramiko. Instálelo usando lo siguiente:
PIP instalar paramiko --upgrade
El siguiente código muestra cómo abrir, ejecutar, y cerrar una sesión SSH desde Python.
'' 'ssh Sesson para EV3dev' '' paramikoimport importación sysimport matemáticas, tiempo, os # Crear una SSH clientssh = paramiko.SSHClient () shell = "" - debug = Truedef main (): print "Espere a ladrillo para contactarse" login () print "Ahora habla con ladrillo" send_command ("ls n") # Linux lista directoryssh.close () print "Ahora apagar" sys.exit) # funciones (para acceder EV3devdef login (): shellssh.load_system_host_keys globales () ssh.load_host_keys (os.path.expanduser ("~ / .ssh / known_hosts")) # Asegúrese de que añadimos clave SSH del servidor remoto # automaticallyssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())paramiko.util.log_to_file("ev3brick.log")# Conectar con el ladrillo # cambio de contraseña EV3 a tu ownssh.connect ("10.42.0.3", nombre de usuario = "root", contraseña = "legobrick9") # Crear una ShellShell = ssh.invoke_shell () wait_for_prompt prima () send_command ("cd / sys / class / motor tacho n ") # hace comandos shorterdef wait_for_prompt (): # Crear un nuevo reciben bufferreceive_buffer =" "aunque no" # "en receive_buffer: # Obtener el recibir bufferreceive_buffer + = shell.recv (1024) si depuración: receive_bufferdef impresión send_command (comando): shell.send (comandos) receive_buffer = "" aunque no "#" en receive_buffer: receive_buffer + = shell.recv (1024) en caso de depuración o "-bash" en receive_buffer: imprimir receive_bufferif __name__ == '__main __': main ()