Projets Framboise pi: brique Lego autre langue

Besoin d'un nouveau projet Raspberry Pi? Vous pouvez exécuter un bon nombre de langues tierces sur la brique LEGO, mais ev3dev met une version allégée de Linux sur la brique. Vous ne devez rien changer sur la brique parce ev3dev fonctionne avec une carte micro SD insérée dans la brique. Vous pouvez facilement faire revenir votre brique LEGO retour à l'état initial en débranchant simplement la carte SD.

Le gros du travail d'installation consiste à créer la carte SD avec la distribution Linux. Il est un peu comme la création de la carte SD pour le Raspberry Pi lui-même. Au ev3dev.org, vous pouvez trouver des instructions sur la création de la carte SD dans le cadre du, PC ou système d'exploitation Linux Mac.

Après avoir créé la carte SD, vous pouvez brancher la brique dans le Raspberry Pi. Vous devez vous connecter la brique directement dans l'un des ports USB du Raspberry Pi (par opposition à un concentrateur USB) pour que cela fonctionne.




Vous communiquez avec la brique LEGO du Raspberry Pi en utilisant une session sécurisée Shell (SSH). Ouvrez une fenêtre de ligne de commande et mettre en place une session. Ceci est ce que vous verrez:

le mot de passe ssh root @ @ 192.168.2.3root 192.168.2.3: _____ ______ _ | ___ / __ | | _____ __ / _ / / | _ / _` | / _ / / | __ / V / ___) | (_ | | __ / V / ___ | _ / | ____ / __, _ | ___ |! Jessie _ / Debian GNU / Linux sur LEGO Mindstorms EV3 Les programmes inclus avec le Debian GNU / Linuxsystem sont libres termes exacts de distribution de chaque programare décrit dans les fichiers LeIndividu dans /usr/share/doc/*/copyright.Debian GNU / Linux les logiciels livré avec ABSOLUMENT AUCUNE GARANTIE dans la mesure permise par applicable law.Last connexion: Mer 5 novembre 11 : 45: 33 de 2014 192.168.2.1root@ev3dev: ~ #

Pour Linux, tout est fichier, et les moteurs de LEGO ne font pas exception. Vous leur parlez en écrivant à un fichier, et vous obtenez en retour des informations en énumérant un fichier. Parce que cela est Linux, la ligne de commande normale invites fonctionne toujours et vous verrez qu'il est utile d'utiliser CD changer de répertoire et ls pour voir quels fichiers sont au niveau du répertoire courant.

Pour utiliser ce système à partir de Python, vous avez à gérer une session SSH depuis un programme. La plupart des gens vous recommandons d'utiliser pexpect, mais vous pouvez avoir plus de succès avec Paramiko. Installez-le en utilisant les éléments suivants:

pip installer paramiko --upgrade

Le code suivant montre comment ouvrir, exécutez, et de fermer une session SSH à partir de Python.

'' 'ssh Sesson pour EV3dev' paramikoimport d'importation sysimport de mathématiques de ', le temps, OS # Créer un SSH clientssh = paramiko.SSHClient () shell = "" - debug = Truedef main (): print "Attendez brique pour être contacté" connexion () print "Maintenant parler à la brique" send_command ("ls n") # Linux liste directoryssh.close () print "Maintenant arrêter" sys.exit () # fonctions pour accéder EV3devdef connexion (): shellssh.load_system_host_keys mondiaux () ssh.load_host_keys (os.path.expanduser («~ / .ssh / known_hosts")) # Assurez-vous que nous ajoutons la clé SSH # du serveur distant automaticallyssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())paramiko.util.log_to_file("ev3brick.log")# Connectez-vous au EV3 brique # changement mot de passe pour votre ownssh.connect ("10.42.0.3», nom d'utilisateur = "root", le mot de passe = "legobrick9") # Créer une ShellShell = ssh.invoke_shell () wait_for_prompt brut () send_command ("cd / sys / class / tachymétrique moteur n ") # rend les commandes de la wait_for_prompt (): # Créer une nouvelle reçoivent bufferreceive_buffer =" "tout en ne" # "dans receive_buffer: # Obtenir l'bufferreceive_buffer + = shell.recv reçoivent (1024) si debug: print receive_bufferdef send_command (commande): shell.send (commande) receive_buffer = "" tout en ne "#" dans receive_buffer: receive_buffer + = shell.recv (1024) si debug ou "-bash" dans receive_buffer: imprimer receive_bufferif __name__ == '__main __': main ()

» » » » Projets Framboise pi: brique Lego autre langue