{"id":646,"date":"2014-04-13T14:39:08","date_gmt":"2014-04-13T12:39:08","guid":{"rendered":"http:\/\/pila.fr\/wordpress\/?p=646"},"modified":"2018-05-29T11:36:00","modified_gmt":"2018-05-29T09:36:00","slug":"projet-wifibotberry-un-petit-robot-telecommande-a-base-de-raspberry-pi","status":"publish","type":"post","link":"https:\/\/pila.fr\/wordpress\/archives\/646","title":{"rendered":"Projet WifiBotBerry : un petit robot t\u00e9l\u00e9command\u00e9 \u00e0 base de Raspberry PI"},"content":{"rendered":"<p style=\"text-align: justify;\">Ayant, dans le cadre de mes \u00e9tudes, d\u00e9velopp\u00e9 un logiciel de contr\u00f4le pour la plateforme WifiBot, j&rsquo;ai r\u00e9alis\u00e9 que le concept \u00e9tait tr\u00e8s prometteur, et permettait de s&rsquo;initier facilement \u00e0 la robotique. Son prix \u00e9tant d\u00e9courageant pour un particulier, je me suis mis en t\u00eate de r\u00e9aliser une plateforme semblable, la moins on\u00e9reuse possible, \u00e0 base de Raspberry Pi :<\/p>\n<div id=\"attachment_660\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-660\" class=\" wp-image-660 \" src=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371.jpg\" alt=\"WifiBotBerry\" width=\"500\" height=\"500\" srcset=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371.jpg 1600w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371-150x150.jpg 150w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371-300x300.jpg 300w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371-1024x1024.jpg 1024w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><p id=\"caption-attachment-660\" class=\"wp-caption-text\">La plateforme WifiBotBerry<\/p><\/div>\n<p>L&rsquo;ensemble ne m&rsquo;aura cout\u00e9 que 80\u20ac (Raspberry Pi inclus).<\/p>\n<p>Cet article d\u00e9crit toute la construction du WifiBotBerry, et en particulier l&rsquo;installation et le param\u00e9trage des logiciels utilis\u00e9s&#8230;.<br \/>\n<!--more--><\/p>\n<h2>Hardware<\/h2>\n<p style=\"text-align: justify;\">\u00a0Le WifiBotBerry est un robot 3 roues : les 2 roues avant sont motrices, et mues par des servomoteurs de mod\u00e9lisme TowerPro MG995, modifi\u00e9s pour pouvoir effectuer une rotation continue (un servomoteur normal ne peut pivoter que sur 270\u00b0), comme un moteur normal, mais qui ne n\u00e9cessite pas d&rsquo;\u00e9lectronique de puissance, celle-ci \u00e9tant int\u00e9gr\u00e9e. Cette modification est d\u00e9crite sur le site du <a href=\"https:\/\/fablab.coagul.org\/index.php\/D%C3%A9tournement_d%27un_servomoteur\" target=\"_blank\">FABLAB de Dijon<\/a>. Les servomoteurs modifi\u00e9s sont fix\u00e9s au ch\u00e2ssis avec des colliers plastiques et du double face, mais une fixation plus s\u00e9rieuse ne ferait pas de mal ! Les roues des servomoteurs ont \u00e9t\u00e9 achet\u00e9es sur ebay.<\/p>\n<p style=\"text-align: justify;\">La roue arri\u00e8re est une roue folle, comme une roue de caddy, elle est capable de pivoter sur elle m\u00eame, et ne fait que suivre le mouvement impos\u00e9 par les roues motrices. Ce type de roues est vendu en magasin de bricolage.<\/p>\n<div id=\"attachment_666\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030341.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-666\" class=\" wp-image-666   \" src=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030341.jpg\" alt=\"Sous le WifiBotBerry, 2 roues mues par des servomoteurs, et une roue folle.\" width=\"500\" height=\"375\" srcset=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030341.jpg 1600w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030341-300x225.jpg 300w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030341-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><p id=\"caption-attachment-666\" class=\"wp-caption-text\">Sous le WifiBotBerry, 2 roues mues par des servomoteurs, et une roue folle.<\/p><\/div>\n<p style=\"text-align: justify;\">Le ch\u00e2ssis m\u00e9tallique et la coque utilis\u00e9s sont en fait un ancien boitier de disque dur externe <em>STOREX CLUB-U2350.\u00a0 <\/em>L&rsquo;ensemble mesure exactement 16cm de cot\u00e9 par 4 cm de haut et abrite le Raspberry Pi, cerveau du robot, ainsi qu&rsquo;une batterie pourvue de 2 ports USB, normalement pr\u00e9vue pour recharger un appareil USB :<\/p>\n<div id=\"attachment_725\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030340edited.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-725\" class=\" wp-image-725 \" src=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030340edited.jpg\" alt=\"l'anatomie du WifiBotBerry\" width=\"500\" height=\"375\" srcset=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030340edited.jpg 1600w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030340edited-300x225.jpg 300w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030340edited-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><p id=\"caption-attachment-725\" class=\"wp-caption-text\">l&rsquo;anatomie du WifiBotBerry<\/p><\/div>\n<p style=\"text-align: justify;\">La batterie est disponible sur ebay pour une dizaine d&rsquo;euros sous le nom <a href=\"http:\/\/www.ebay.fr\/sch\/i.html?_nkw=12000mAh+batterie+USB\" target=\"_blank\">12000mAh USB Batterie<\/a>. Elle pr\u00e9sente l&rsquo;avantage d&rsquo;offrir 2 ports USB capable de fournir simultan\u00e9ment 2.1A pour le premier, et 1.0A pour le second.<\/p>\n<p style=\"text-align: justify;\">Les fils d&rsquo;alimentation des servomoteurs (marron pour le -, rouge pour le +) sont reli\u00e9s \u00e0 une prise USB branch\u00e9e sur la batterie, tandis que les fils de commande (orange sur mes servos) des servomoteurs gauche et droit sont respectivement connect\u00e9s aux GPIO23 et 24 ( pins 16 et 18 du connecteur GPIO du Raspberry).<\/p>\n<p style=\"text-align: justify;\">Le Raspberry Pi utilis\u00e9 est un mod\u00e8le B, pour ses 2 ports USB : le premier re\u00e7oit un dongle Wifi TL-WN725N (avec le recul, je le d\u00e9conseille, il est pas cher, mais sa port\u00e9e est tr\u00e8s limit\u00e9e), tandis que le second port est utilis\u00e9 pour la webcam (une Microsoft Lifecam il me semble).<\/p>\n<h2>Software<\/h2>\n<p>Toute les actions d\u00e9crites ici ont \u00e9t\u00e9 r\u00e9alis\u00e9es avec la distribution Raspbian. M\u00eame si tout devrait fonctionner \u00e0 l&rsquo;identique sur une autre distribution, je ne peux pas le garantir.<\/p>\n<h3>Etape 0 : Installer le dongle wifi.<\/h3>\n<p>Si, comme moi, vous poss\u00e9dez un dongle TP-LINK TL-WN725N v2, vous \u00eates probablement \u00e9galement en grande difficult\u00e9 pour le faire fonctionner avec votre Raspberry Pi. La solution ( et par solution, j&rsquo;entends les bons drivers \ud83d\ude42 ) se trouve sur<a href=\"http:\/\/www.raspberrypi.org\/forums\/viewtopic.php?p=462982#p462982\" target=\"_blank\"> ce topic du forum Raspberry<\/a>. A la fin du premier post est propos\u00e9 un petit script shell, qui se charge de t\u00e9l\u00e9charger et d&rsquo;installer automatiquement le bon pilote.<\/p>\n<h3>Etape 1 : Contr\u00f4ler les servomoteurs.<\/h3>\n<p>Le logiciel ultime lorsqu&rsquo;il s&rsquo;agit de contr\u00f4ler des servomoteurs depuis un Raspberry Pi s&rsquo;intitule ServoBlaster. Sans rentrer dans les d\u00e9tails, il est capable de piloter plusieurs servomoteurs simultan\u00e9ment, de fa\u00e7on tr\u00e8s stable quelque soit l&rsquo;utilisation du CPU, en s&rsquo;appuyant sur le module DMA. Une page du <a href=\"https:\/\/fablab.coagul.org\/index.php\/Piloter_des_servomoteurs_avec_un_Raspberry_PI\" target=\"_blank\">FABLAB de Dijon<\/a> lui est consacr\u00e9e. Tout d&rsquo;abord, r\u00e9cup\u00e9rer l&rsquo;archive du projet PiBits (dont ServoBlaster fait partie) sur sa <a title=\"Github ServoBlaster\" href=\"https:\/\/github.com\/richardghirst\/PiBits\" target=\"_blank\">page github<\/a>. (bouton \u00ab\u00a0download ZIP\u00a0\u00bb) Une fois l&rsquo;archive extraite sur le raspberry, on s&rsquo;int\u00e9resse au dossier <em>ServoBlaster\/user<\/em>. Dans le fichier <em>init-script<\/em>, modifier la ligne suivante :<\/p>\n<pre parse=\"no\">OPTS=\"--idle-timeout=2000\"<\/pre>\n<p>pour obtenir :<\/p>\n<pre parse=\"no\">OPTS=\"--p1pins=16,18 --idle-timeout=1000 --step-size=5\"<\/pre>\n<p>Cela signifie que lorsque ServoBlaster d\u00e9marrera, il contr\u00f4lera les servomoteurs reli\u00e9s aux pins 16 et 18 du connecteur GPIO du Raspberry, les signaux seront g\u00e9n\u00e9r\u00e9s avec une pr\u00e9cision de 5 \u00b5s, et ServoBlaster arr\u00eatera automatiquement les servomoteurs si aucune commande ne lui est transmise pendant 1 seconde (pratique pour \u00e9viter de voir le robot foncer en ligne droite en cas de probl\u00e8me) Lancer la compilation puis l&rsquo;installation de ServoBlaster gr\u00e2ce aux commande suivante :<\/p>\n<pre parse=\"no\">$ make\r\n$ sudo make install<\/pre>\n<p>A cet instant, pour v\u00e9rifier que tout fonctionne bien, il suffit de saisir la commande suivante, et le servomoteur gauche doit tourner :<\/p>\n<pre parse=\"no\">$ echo 0=150&gt; \/dev\/servoblaster<\/pre>\n<p>Idem pour le droit :<\/p>\n<pre parse=\"no\">$ echo 1=150&gt; \/dev\/servoblaster<\/pre>\n<p>Si aucun des servomoteurs ne fonctionne, saisir la commande suivante :<\/p>\n<pre parse=\"no\">$ cat \/dev\/servoblaster-cfg<\/pre>\n<p>Le texte suivant doit alors s&rsquo;afficher :<\/p>\n<pre parse=\"&quot;no\">p1pins=16,18\r\np5pins=\r\n\r\nServo mapping:\r\n     0 on P1-16          GPIO-23\r\n     1 on P1-18          GPIO-24<\/pre>\n<p>Si c&rsquo;est le cas, ServoBlaster est bien d\u00e9marrer, il s&rsquo;agit vraisemblablement d&rsquo;un probl\u00e8me de branchement des servomoteurs. Sinon, reprendre cet \u00e9tape depuis le d\u00e9but. Si tout va bien, passer \u00e0 l&rsquo;\u00e9tape 2 \ud83d\ude42<\/p>\n<h3>Etape 2 : R\u00e9glage du points de repos.<\/h3>\n<p>Une fois que ServoBlaster est configur\u00e9, il faut identifier le point de repos des servomoteurs, c&rsquo;est-\u00e0-dire la valeur pour laquelle ils ne tournent pas. Commen\u00e7ons par le servomoteur gauche. Pour cela, il faut jouer avec la commande suivante, en faisant varier la valeur <em>val. <\/em>Le point de repos devrait se trouver entre 200 et 300.<\/p>\n<pre parse=\"no\">$ echo 0=val&gt; \/dev\/servoblaster<\/pre>\n<p>Recommencer pour le servomoteur droit, avec la commande suivante :<\/p>\n<pre parse=\"no\">$ echo 0=val&gt; \/dev\/servoblaster<\/pre>\n<p>Les deux valeurs sont normalement tr\u00e8s proches, mais pas n\u00e9cessairement identiques. Les noter soigneusement.<\/p>\n<h3>Etape 3 : Premier test avec termcontrol<\/h3>\n<p>R\u00e9cup\u00e9rer l&rsquo;archive du projet BotBerry, en cliquant sur le bouton download sur <a href=\"https:\/\/gitlab.com\/wifibotberry\/botberry\" target=\"_blank\">cette page<\/a>.<\/p>\n<p>Dans le fichier <em>servocommand.c<\/em>, modifier les lignes suivantes :<\/p>\n<pre lang=\"c\">#define IDLELEFT    253\r\n#define IDLERIGHT   249<\/pre>\n<p>en rempla\u00e7ant respectivement les valeurs 253 et 249 par les valeurs des points de repos des servomoteurs gauche et droit.<\/p>\n<p>Si vous utilisez un clavier querty, remplacer \u00e9galement les valeurs \u00ab\u00a0z\u00a0\u00bb,\u00a0\u00bbs\u00a0\u00bb,\u00a0\u00bbq\u00a0\u00bb et \u00ab\u00a0d\u00a0\u00bb dans le fichier <em>termcontrol.c<\/em> par \u00ab\u00a0w\u00a0\u00bb,\u00a0\u00bbs\u00a0\u00bb,a\u00a0\u00bb et \u00ab\u00a0d\u00a0\u00bb<\/p>\n<p>Compiler, et lancer l&rsquo;ex\u00e9cutable <em>termcontrol<\/em> g\u00e9n\u00e9r\u00e9 :<\/p>\n<pre parse=\"no\">$ make\r\n$ .\/termcontrol<\/pre>\n<p>Normalement, le robot devrait se piloter avec les touches Z,Q,S,D. Si les commandes semblent invers\u00e9es par rapport aux mouvement du robot, modifier la ligne suivante du fichier <em>servocommand.c<\/em> :<\/p>\n<pre lang=\"c\">\/\/#define INVERTDIRECTION<\/pre>\n<p>en<\/p>\n<pre lang=\"c\">#define INVERTDIRECTION<\/pre>\n<p>puis recompiler, et relancer le fichier <em>termcontrol<\/em>. Les commandes devraient maintenant \u00eatre correctes<\/p>\n<h3>Etape 4 : Mise en place du logiciel wifibotserver<\/h3>\n<p>Toujours dans le m\u00eame dossier, installer le programme <em>wifibotserver<\/em> :<\/p>\n<pre parse=\"no\">$ sudo make install<\/pre>\n<p>Ce programme permet au BerryBot de se comporter comme un robot WifiBot d&rsquo;ancienne g\u00e9n\u00e9ration. Le contr\u00f4le du robot se fait en transmettant les commande sur le port 15020 TCP. 2 octets doivent \u00eatre transmis, le premier correspondant \u00e0 la roue gauche, et l&rsquo;autre \u00e0 la route droite, sous la forme 1SVVVVVVV ou S indique le sens de rotation ( 1 = vers l&rsquo;avant, 0 = vers l&rsquo;arri\u00e8re ) et les 6 bits VVVVVV correspondent \u00e0 la vitesse de rotation, 0 signifiant l&rsquo;arr\u00eat, et 63 la vitesse maximale.<\/p>\n<p>Le protocole de commande \u00e9tant le m\u00eame que l&rsquo;ancienne g\u00e9n\u00e9ration de WifiBot, il est possible de tester les programmes de pilotage sur <a href=\"http:\/\/www.wifibot.com\/download\/WifibotLabSim.rar\" target=\"_blank\">l&rsquo;ancien logiciel de simulation WifiBot<\/a>.<\/p>\n<h3>Etape 5 : Pilotage avec le logiciel WifiBot Control<\/h3>\n<p>Ce logiciel est disponible <a href=\"https:\/\/gitlab.com\/wifibotberry\/wifibotcontrol\" target=\"_blank\">ici<\/a>, et permet de contr\u00f4ler tout WifiBot, d&rsquo;ancienne ou de nouvelle g\u00e9n\u00e9ration, d&rsquo;afficher le flux video du robot, et la valeur de ses capteurs (inutilis\u00e9 sur le BerryBot).<\/p>\n<div id=\"attachment_711\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/WifiBotControl.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-711\" class=\" wp-image-711 \" src=\"http:\/\/pila.fr\/wordpress\/wp-content\/uploads\/WifiBotControl.jpg\" alt=\"le logiciel WifiBot Control\" width=\"500\" height=\"299\" srcset=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/WifiBotControl.jpg 745w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/WifiBotControl-300x179.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><p id=\"caption-attachment-711\" class=\"wp-caption-text\">le logiciel WifiBot Control<\/p><\/div>\n<p>Il doit \u00eatre compil\u00e9 avec Qt 5, et a \u00e9t\u00e9 test\u00e9 avec succ\u00e8s sous Windows 7, Linux (Ubuntu), et Android. Une fois lanc\u00e9, il suffit de saisir l&rsquo;adresse IP du Raspberry, de s\u00e9lectionner \u00ab\u00a0Simple protocole\u00a0\u00bb et de cliquer sur <em>connect<\/em>. Le BerryBot peut alors \u00eatre contr\u00f4l\u00e9 au clavier (avec Z,Q,S,D), \u00e0 la souris, ou avec une manette de Xbox360 lorsque le programme s&rsquo;ex\u00e9cute sous Windows.<\/p>\n<p>Les boutons de gauche permettent le contr\u00f4le du robot \u00e0 la souris, tandis que les boutons de droite permettant le contr\u00f4le d&rsquo;une webcam motoris\u00e9e.<\/p>\n<h3>Etape 6 : Ajout de la video, avec MJPG-Streamer<\/h3>\n<p>Toute la proc\u00e9dure \u00e0 suivre est d\u00e9crite sur le <a href=\"https:\/\/fablab.coagul.org\/index.php\/Installer_MJPG-Streamer_sur_Raspberry_Pi\" target=\"_blank\">site du FABLAB de Dijon<\/a>.<\/p>\n<p>Une fois l&rsquo;installation termin\u00e9e, il est possible d&rsquo;acc\u00e9der \u00e0 l&rsquo;interface web de MJPG-Streamer en saisissant l&rsquo;adresse suivante dans un navigateur web : http:\/\/ADRESSE_IP_RASPBERRY:8080<\/p>\n<h3>Etape 7 : Enjoy<\/h3>\n<h2>Conclusion<\/h2>\n<p>Si vous avez surv\u00e9cu jusqu&rsquo;\u00e0 l&rsquo;\u00e9tape 7, c&rsquo;est fini, votre BerryBot devrait \u00eatre pleinement op\u00e9rationnel. N&rsquo;h\u00e9sitez pas \u00e0 le customiser, \u00e0 modifier mon code, etc&#8230;, je serai plus que ravi de publier vos am\u00e9liorations.<\/p>\n<p>Toutes les images du projet WifiBotBerry :<\/p>\n\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 25%;\n\t\t\t}\n\t\t\t#gallery-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-1' class='gallery galleryid-646 gallery-columns-4 gallery-size-thumbnail'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/wifibotcontrol'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/WifiBotControl-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"le logiciel WifiBot Control\" aria-describedby=\"gallery-1-711\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-711'>\n\t\t\t\tle logiciel WifiBot Control\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/p1030340edited'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030340edited-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-725\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-725'>\n\t\t\t\tl&rsquo;anatomie du WifiBotBerry\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/p1030340'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030340-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-665\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-665'>\n\t\t\t\tLe WifiBotBerry sans sa coque.\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/p1030342-2'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303422-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-719\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-719'>\n\t\t\t\tLe wifibot pilot\u00e9 par une tablette Android, et une photo de moi.\n\t\t\t\t<\/dd><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/p1030337-2'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"WifiBotBerry\" aria-describedby=\"gallery-1-660\" srcset=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371-150x150.jpg 150w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371-300x300.jpg 300w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371-1024x1024.jpg 1024w, https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P10303371.jpg 1600w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-660'>\n\t\t\t\tLa plateforme WifiBotBerry\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/p1030339'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030339-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-668\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-668'>\n\t\t\t\tVue de 3 quarts\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/p1030338'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030338-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-667\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-667'>\n\t\t\t\tLe WifiBotBerry de face. Terrifiant, n&rsquo;est-ce pas ?\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/pila.fr\/wordpress\/archives\/646\/p1030341'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/pila.fr\/wordpress\/wp-content\/uploads\/P1030341-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-666\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-666'>\n\t\t\t\tSous le WifiBotBerry, 2 roues mues par des servomoteurs, et une roue folle.\n\t\t\t\t<\/dd><\/dl><br style=\"clear: both\" \/>\n\t\t<\/div>\n\n<p>Et pour finir, une petite vid\u00e9o du monstre :<\/p>\n<p style=\"text-align: center;\"><iframe loading=\"lazy\" src=\"\/\/www.youtube-nocookie.com\/embed\/TZ8xnMx364o\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Au final, je suis plut\u00f4t satisfait du r\u00e9sultat, le BerryBot fonctionne bien, le seul point noir est le dongle wifi actuel, qui offre une port\u00e9e et un d\u00e9bit trop limit\u00e9s. Si l&rsquo;occasion se pr\u00e9sente, je le remplacerai par un dongle avec une antenne d\u00e9port\u00e9e, fix\u00e9e sur la coque.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ayant, dans le cadre de mes \u00e9tudes, d\u00e9velopp\u00e9 un logiciel de contr\u00f4le pour la plateforme WifiBot, j&rsquo;ai r\u00e9alis\u00e9 que le concept \u00e9tait tr\u00e8s prometteur, et permettait de s&rsquo;initier facilement \u00e0 la robotique. Son prix \u00e9tant d\u00e9courageant pour un particulier, je me suis mis en t\u00eate de r\u00e9aliser une plateforme semblable, la moins on\u00e9reuse possible, \u00e0 &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/pila.fr\/wordpress\/archives\/646\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,69,8,151],"tags":[85,82,83,86,87,84,88],"class_list":["post-646","post","type-post","status-publish","format-standard","hentry","category-electronique","category-linux-2","category-prog","category-raspberry","tag-batterie","tag-raspberry-pi","tag-robot","tag-servomoteur","tag-webcam","tag-wifi","tag-wifibot","item-wrap"],"_links":{"self":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts\/646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/comments?post=646"}],"version-history":[{"count":62,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts\/646\/revisions"}],"predecessor-version":[{"id":924,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts\/646\/revisions\/924"}],"wp:attachment":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/media?parent=646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/categories?post=646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/tags?post=646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}