Blog

1105/2014

AR Flight Controller – Contrôler l’AR Drone avec une manette de PS3 !

Par |11 mai 2014|Drones|2 Commentaires

Dans cet article nous vous proposons de découvrir notre logiciel de contrôle de l’AR Drone : AR Flight Controller ! Ce programme vous permet de contrôler l’AR Drone avec une manette de Playstation 3 (PS3) ! Voici une brève vidéo de présentation :

AR Flight Controller est compatible avec MAC OS X et Linux. Ou plus généralement avec les systèmes UNIX ! Nous détaillons dans les lignes qui suivent la procédure d’installation en trois étapes :

AR Flight Controller utilise la bibliothèque SDL (Simple DirectMedia Layer) afin de gérer la manette de PS3. Pour le moment nous utilisons la SDL mais nous envisageons d’utiliser la SDL2 à l’avenir afin d’exploiter les vibrations de la manette. Vous devez donc installer SDL sur votre machine pour compiler ce code source ! Vous pouvez installer SDL avec la plupart des gestionnaires de paquets. N’hésitez pas à nous contacter si vous rencontrez des problèmes pour installer la SDL. Par ailleurs vous aurez besoin d’une connexion Bluetooth pour utiliser les fonction sans-fil de la manette.

Nous utilisons également pkg-config afin de réaliser l’édition de lien. Veillez à ce que ce paquet soit bien installé sur votre machine ! Si vous ne pouvez pas – ou ne voulez pas – installer pkg-config nous vous indiquerons la marche à suivre.

  • Téléchargez le code source du programme avec Git :

  • Générer le fichier Makefile […]
2804/2014

AR Drone – Contrôler le drone à l’aide de commandes AT !

Par |28 avril 2014|Drones|6 Commentaires

Il y quelques semaines nous avons détaillé comment envoyer une commande AT à l’AR Drone à l’aide des paquets UDP (lire : AR Drone – Envoyer des commandes AT). Nous avons ensuite publié une liste complète des commandes AT compatibles avec le drone de Parrot (lire : AR Drone – Récapitulatif des commandes AT). La suite logique consistait donc à créer un programme permettant de contrôler l’AR Drone en lui envoyant des commandes AT !

Pour ce faire nous avons écrit un programme en C. Dans cet article nous vous proposons de découvrir notre programme de contrôle de l’AR Drone !

Le fonctionnement de ce programme est très simple. Certaines touches du clavier sont liées à une commande AT particulière. Chaque commande AT traduit un ordre de vol : avancer – reculer – prendre de la hauteur … Nous intégrons ces commandes AT dans des paquets UDP que nous envoyons à l’AR Drone sur le port 5556. Pour rappel l’adresse IP du Drone est 192.168.1.1. … Nous utilisons SDL (Simple DirectMedia Layer) afin de gérer les touches du clavier. Veillez donc à installer cette bibliothèque sur votre machine !

Dans un premier temps nous avons configuré ce programme afin d’envoyer une commande toutes les 30 ms. Nous avons ajusté cette valeur à 50 ms afin de ne […]

1404/2014

AR Drone – Récapitulatif des commandes AT

Par |14 avril 2014|Drones|1 Commentaire

Les commandes AT que vous souhaitez envoyer au drone doivent-être incluses dans des paquets UDP et respecter une syntaxe précise. Pour rappel les paquets UDP que vous envoyez ne doivent pas excéder 1024 caractères : au delà de cette limite les paquets seront ignorés. Les paquets UDP doivent-être envoyés à l’adresse IP 192.168.1.1 sur le port 5556. Nous avons publié il y a quelques semaines un tutoriel dans lequel nous expliquons en détail comment envoyez des commandes AT à l’AR Drone. Jetez y un coup d’oeil ! Lire : AR Drone – Envoyer des commandes AT.

Si vous souhaitez développer une application afin de contrôler l’AR Drone vous devrez apprendre à utiliser ces commandes. L’application enverra régulièrement des commandes AT – par exemple toutes les 50 ms – qui indiquent au drone les mouvements à suivre. Suivez le guide !

Afin d’assurer un fonctionnement optimal vous devez instaurer un temps minimal de 30 ms entre deux commandes AT successives. Veuillez toutefois à ce que la durée qui sépare deux commandes AT n’excède pas 2 secondes auquel cas le drone considèrera qua la liaison WIFI est interrompue !

Toutes les commandes AT que vous envoyez doivent impérativement se terminer par un caractère de retour charriot (CR : Carriage Return). À titre informatif le retour chariot est indexé en ASCII comme le caractère 13 en notation décimale et 0D en notation […]

3003/2014

Ouverture du forum … Et bien plus encore !

Par |30 mars 2014|Inclassable|0 Commentaire

Un an déjà ! Il y a un an – le 1 avril 2013 – je créais Upsilon Audio à moins de deux semaines des concours d’entrée aux grandes écoles d’ingénieurs. Un an plus tard je me dois de faire un bilan ! J’en profiterai également pour vous annoncer les améliorations et les nouveautés à venir.

Vous êtes de plus en plus nombreux à m’envoyer vos questions ou vos exemples de programmes en utilisant les commentaires en fin d’article ou le formulaire de contact que j’ai mis en place. Je vous en remercie ! Afin de prolonger cette expérience j’ai décidé de créer un Forum dédié à l’électronique DIY et à la programmation ! Vous pouvez d’ores et déjà accéder au forum sur cette page : Forum.

N’hésitez pas à partager vos projets finis ou en cours de réalisation ! Qu’il soit question d’Arduino ou de TIPE nous avons créé ce Forum afin de vous offrir l’opportunité de participer – avec nous – au développement de l’électronique DIY en France.

Pour poster vos messages sur le Forum vous devrez d’abord créer un compte personnel. Pour ce faire suivez simplement les instructions qui figurent sur cette page ! Choisissez bien votre pseudo car vous ne pourrez pas le modifier par la suite !

Notre politique en matière de […]

2603/2014

Créer un signal pour un élément de menuBar d’une mainWindow avec Qt

Par |26 mars 2014|Inclassable|0 Commentaire

Dans cet article je vais vous montrer comment envoyer un signal depuis un élément d’un menuBar d’une fenêtre principale « mainWindow ». J’entends par élément d’un menuBar un objet de la classe QAction qui se présente graphiquement comme une des options cliquables dans le traditionnel menu Fichiers-Édition-Afficher-… que l’on voit à peu près partout. Vous l’avez compris quand sous Qt Designer vous réalisez un élément d’un menu – exemple typique : le « enregistrer » dans le menu fichier -, implicitement Qt construit un objet de type QAction qui réprésente cet objet. Qt Designer facilite les liaisons signaux-slots dans de nombreux cas comme le PushButton. Pour autant quand on travaille sur une fenêtre principale et que l’on veut modifier le signal d’une classe QAction, que ça soit par un clic (triggered) ou par un passage de souris (hovered) je n’ai pas réussi à m’en sortir sans en revenir au code. Il est en effet à ma connaissance impossible d’accéder à un élément de menu depuis Qt Designer pour le connecter au reste du code.

La solution est la suivante :

Tout d’abord commencez par créer votre élément de menu que vous appellerez « Exemple » dans Qt Designer. Vous obtenez un document .cpp qui contient un constructeur de votre classe « fenêtre principale » sous cette forme :

Il vous suffit d’ajouter la ligne suivante.

Notons qu’il n’est pas nécessaire de rajouter la ligne QOBject à la fonction connect. En effet la fenêtre principale […]

2603/2014

Réaliser un test de débit en ligne de commande

Par |26 mars 2014|Inclassable|1 Commentaire

J’aimerais vous présenter dans cet article la méthode que j’utilise pour réaliser des tests de débits en ligne de commande avec un système UNIX. En effet je réalise actuellement plusieurs tests afin d’adjoindre un modem à un Beaglebone Black. Pour réaliser des tests de débits je n’ai pas d’autre choix que de me connecter avec SSH au BBB ! Je ne peux donc pas utiliser les outils classiques qui nécessitent une interface graphique.

Après avoir réalisé plusieurs recherches j’ai décidé d’utiliser pour mes systèmes embarqués l’outils speedtest-cli développé par Matt Martz. Ce programme est particulièrement intéressant puisqu’il intègre des outils de Speedtest.net ! J’ai ajouté un récapitulatif des commandes à exécutez en fin d’article pour les plus pressés d’entre-vous !

  • Se connecter au BeagleBone Black avec SSH

La première étape consiste à se connecter au Beaglebone Black avec SSH. Si vous n’utilisez pas un système UNIX vous pouvez utiliser un client SSH comme OpenSSH. Exécutez la commande suivante pour vous connecter au BBB avec SSH :

Si vous ne vous êtes jamais connectés à votre BBB suivez mon dernier tutoriel ! Vous trouverez celui-ci sur cette page : BeagleBone Black – Se connecter en USB avec SSH

  • Vérifiez votre version de Python

Le programme que nous allons utiliser pour tester votre débit est écrit en Python et est fonctionnera à partir […]

2003/2014

BeagleBone Black – Se connecter en USB avec SSH – Partie 2

Par |20 mars 2014|Tutoriels BeagleBone|0 Commentaire

Les instructions que nous avons donné dans le dernier article de cette série consacrée au BeagleBone Black ne fonctionnent pas toujours (lire : BeagleBone Black – Se connecter en USB avec SSH). Certains d’entre-vous obtiennent en effet systématiquement le message d’erreur « ssh_exchange_identification: read: Connection reset by peer » lorsqu’ils essaient de se connecter au BBB avec SSH. Vous trouverez sur les forums dédiés au sujet de nombreux utilisateurs qui partagent le même problème. La solution qui nécessite l’emploi de l’environnement de développement Cloud9 est fastidieuse et souvent mal-expliquée. C’est pourquoi nous reviendrons dans cet article sur notre dernier tutoriel afin d’apporter une solution aux  utilisateurs qui ne parviennent pas à se connecter au BeagleBone Black avec SSH. Suivez le guide ! Cette article s’inscrit dans notre série de tutoriel dédiée au BeagleBone que vous pouvez retrouvez en suivant ce lien.

Tout d’abord connectez votre BeagleBone à votre ordinateur avec un cable USB. L’appareil est détecté au bout de quelques secondes. Connectez vous au BBB en utilisant votre navigateur Web favori. Saisissez simplement l’adresse URL suivante : http://192.168.7.2. Nous admettons en postulat de base que votre navigateur favori ne provient pas des laboratoires de Microsoft … Préférez plutôt Chrome ou Firefox !

Ouvrez une session dans l’environnement de développement Web Cloud9. Vous pouvez également accéder à […]

1703/2014

EAGLE – Router une paire de signaux différentiels

Par |17 mars 2014|Électronique|0 Commentaire

Par ce que DIY ne signifie pas qualité au rabais voici un tutoriel très rapide afin de vous expliquer comment router une paire de signaux différentiels avec Eagle CAD.  En effet la transmission différentielle est utilisée pour les bus informatiques USB, Firewire, SATA ou encore HDMI. Si vous devez router l’un de ces bus avec Eagle CAD vous devrez  suivre scrupuleusement certaines règles que je vous propose de découvrir dans ce tutoriel.

J’ai moi même suivi ces règles afin de router un bus USB dans le cadre d’un projet relatif au BeagleBone Black. Je travaille sur ce projet depuis plusieurs semaines avec quelques amis. Je ne manquerai de vous partager ce projet sur ce blog !

La signalisation différentielle est une méthode de communication qui repose sur une ligne de transmission symétrique. En d’autres termes l’information à transmettre est véhiculée sur deux lignes au lieux d’une seule traditionnellement. Ces lignes de transmission sont généralement des fils. Ou des pistes de cuivre dans le cas qui nous intéresse !

La signalisation différentielle consiste à envoyer sur une ligne le signal à transmettre et son opposé sur la seconde ligne. Le signal est finalement reconstitué en réalisant la différence des signaux véhiculés par chaque ligne.

Vous vous demandez certainement pourquoi on utilise deux lignes (ou plus généralement deux fils) pour transmettre un unique signal. Et vous avez raison ! En […]

1603/2014

BeagleBone Black – Se connecter en USB avec SSH

Par |16 mars 2014|Tutoriels BeagleBone|0 Commentaire

Nous y voilà ! Voici le premier édifice d’une série d’articles dédiés au BeagleBone Black. En effet je travaille actuellement sur plusieurs projets DIY qui reposent sur le BeagleBone. Je ne vous en dis pas plus pour le moment. Vous en saurez bien assez d’ici quelques semaines ! Vous pouvez accéder à l’ensemble de nos articles dédiés au BeagleBone en suivant ce lien. Pour cette entrée en matière j’ai choisi un sujet à la fois simple et pratique : la connexion SSH. Nous verrons donc dans ce tutoriel comment se connecter au BeagleBone Black avec SSH lorsque celui-ci est connecté en USB.

N’hésitez pas à réagir au travers des commentaires si vous rencontre des problèmes pour vous connecter avec SSH.

  1. Qu’est-ce que le SSH ?
  2. Le matériel nécessaire
  3. Installation des pilotes
    1. Macintosh
    2. Linux
    3. Windows
  4. Se connecter au BeagleBone avec SSH
    1. UNIX
    2. Windows
  5. Conclusion

Le SSH est un protocole de communication qui permet d’instaurer une connexion sécurisée entre deux ordinateurs distants : un client et un serveur. SSH signifie littéralement Secure SHell. Ce protocole repose sur l’échange de clés de chiffrement en début de connexion. Ces clés permettent de chiffrer les données qui sont échangées au travers du réseau de telle sorte qu’il devient impossible de déchiffrer les données si celles-ci venaient à être interceptées.

Nous allons utiliser ce protocole afin de commander le BeagleBone Black (serveur) à partir […]

1103/2014

NFC – Copier une carte MIFARE avec LIBNFC

Par |11 mars 2014|Inclassable|9 Commentaires

Dans ce tutoriel nous verrons comment dupliquer une carte MIFARE Classic en utilisant LIBNFC. Pour cela nous utiliserons différents utilitaires tous construits autour de la bibliothèque LIBNFC. En effet vous avez été plusieurs à me demander des détails sur la duplication d’une carte MIFARE à la suite de la publication sur ce blog de ma chronique dédié au RFID (lire: Chronique Tech&More N°4 – Copier une carte RFID). Sans plus attendre voici le sommaire de ce tutoriel.

  1. Le RFID
  2. MIFARE Classic
    1. Organisation des données
    2. Sécurité
  3. Le materiel
  4. LIBNFC
    1. UID
    2. ATQA – SAQ
  5. MFOC
    1. Installation
  6. Copier et dupliquer une carte MIFARE
  7. Conclusion
  8. Pour aller plus loin …

Le RFID est une méthode de mémorisation et de récupération des données à distance utilisant des marqueurs appelés radio-étiquette. Ces marqueurs prennent le plus souvent la forme de puces électroniques. Celles-ci contiennent donc une minuscule antenne qui leur permet d’échanger des données avec le monde extérieur et d’être intégré dans divers objets du quotidien. Cette technologie est notamment utilisée pour identifier les personnes en étant par exemple intégrée dans les passeports, les cartes de transports ou encore les cartes de crédit.

Les cartes à puces sans contact qui utilisent le RFID existent sous différentes variantes. L’une de ces variantes les plus utilisées dans le monde est la carte MIFARE développée par Philips avec plus de 3,5 milliards […]