<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Christophe Nowicki &#187; Robotics</title>
	<atom:link href="http://www.csquad.org/category/robotics/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.csquad.org</link>
	<description>Just for fun</description>
	<lastBuildDate>Thu, 29 Jul 2010 19:42:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Présentation du standard Zigbee</title>
		<link>http://www.csquad.org/2009/12/19/zigbee/</link>
		<comments>http://www.csquad.org/2009/12/19/zigbee/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 13:00:50 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Home automation]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[ZigBee]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=893</guid>
		<description><![CDATA[



Je reviens des mercredis de la RFID organisé par filrfid, le sujet de la présentation était le protocole ZigBee. 
Lors de la présentation faite par Véranith Ly de la société oRFIDée, j&#8217;ai appris beaucoup de choses sur ce protocole. 
J&#8217;aimerai donc vous en faire profiter et parler des domaines qui m&#8217;intéressent à savoir la domotique, [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr valign='top'>
<td valign='top'><img src="http://www.csquad.org/wp-content/uploads/2009/12/ZigBee_Network_Design-za-web.jpg" alt="ZigBee_Network_Design" title="ZigBee_Network_Design" width="257" height="200" class="alignleft size-full wp-image-936" /></td>
<td>
<p>Je reviens des <a href="http://www.filrfid.org/article-16-decembre-un-mercredi-special-zigbee-venez-nombreux--40848259.html">mercredis de la RFID</a> organisé par <a href="http://www.filrfid.org/">filrfid</a>, le sujet de la présentation était le protocole <a href="http://fr.wikipedia.org/wiki/Zigbee">ZigBee</a>. </p>
<p>Lors de la présentation faite par Véranith Ly de la société <a href="http://www.orfidee.com/">oRFIDée</a>, j&#8217;ai appris beaucoup de choses sur ce protocole. </p>
<p>J&#8217;aimerai donc vous en faire profiter et parler des domaines qui m&#8217;intéressent à savoir la domotique, la robotique et la topologie des réseaux maillés.
</p>
</td>
</tr>
</table>
<h3>Description rapide du standard</h3>
<p><a href="http://fr.wikipedia.org/wiki/Zigbee">ZigBee</a>, est un standard de communication sans-fils comme le <a href="http://fr.wikipedia.org/wiki/Wi-Fi">Wifi</a> ou le <a href="http://fr.wikipedia.org/wiki/Bluetooth">Bluetooth</a>.<br />
Les principaux avantages du standard sont :</p>
<ul>
<li>Autonomie de l&#8217;émetteur, il est possible de le faire fonctionner durant <strong>plusieurs années</strong> à l&#8217;aide d&#8217;une batterie ;</li>
<li>La possibilité de mettre en place une <a href="http://fr.wikipedia.org/wiki/Topologie_maill%C3%A9e">topologie de réseaux maillés</a> ;</li>
<li><strong>65535 nœuds</strong> sont <em>addressable</em> sur le réseau ; </li>
<li>le standard définie : les méthodes de communication sur le réseau, <strong>mais aussi</strong> les fonctionnement des applications ;</li>
<li>l&#8217;ensemble des produits sont certifiés par <a href="http://www.zigbee.org/">l&#8217;Alliance ZigBee</a> et soutenus par de <a href="http://www.zigbee.org/zigbee/About/OurMembers/tabid/191/Default.aspx">nombreuses entreprises industriels</a> ;</li>
</ul>
<p>Ce qui est intéressant, c&#8217;est que le standard définit un ensemble de caractéristiques pour un équipement.<br />
Regroupé sous forme de famille :</p>
<ul>
<li><a href="http://www.zigbee.org/Markets/ZigBeeSmartEnergy/ZigBeeSmartEnergyOverview/tabid/431/Default.aspx">ZigBee Smart Energy</a> ;</li>
<li><a href="http://www.zigbee.org/Markets/ZigBeeRemoteControl/ZigBeeRemoteControlOverview/tabid/475/Default.aspx">ZigBee Remote Control</a> ; </li>
<li><a href="http://www.zigbee.org/Markets/ZigBeeRemoteControl/ZigBeeRemoteControlOverview/tabid/475/Default.aspx">ZigBee Home Automation</a> ;</li>
<li><a href="http://www.zigbee.org/Markets/ZigBeeHealthCare/ZigBeeHealthCareOverview/tabid/426/Default.aspx">ZigBee Health Care</a>, non disponible;</li>
<li><a href="http://www.zigbee.org/Markets/ZigBeeBuildingAutomation/tabid/226/Default.aspx">ZigBee Building Automation</a>, pas encore définie ;</li>
<li>ZigBee Telecommunication Services, non encore définie.</li>
</ul>
<h3>Domaines d&#8217;application du protocole</h3>
<p>Les domaines d&#8217;applications du protocole sont les suivants :</p>
<ul>
<li>la gestion de l&#8217;énergie et les réseaux de <a href="http://fr.wikipedia.org/wiki/Smart_grid">distribution d&#8217;électricité « intelligent »</a> ;  </li>
<li>la médecine, avec le <a href="http://fr.wikipedia.org/wiki/WSN#Applications_m.C3.A9dicales_et_v.C3.A9t.C3.A9rinaire">suivi des indicateurs physiologiques</a> sur le long terme pour les maladies chroniques.</li>
<li>Les réseaux de capteurs en général : <a href="http://fr.wikipedia.org/wiki/R%C3%A9seau_de_capteurs_sans-fil">WSN</a> ; </li>
<li>Les télécommandes, le protocole est amené à remplacer les télécommandes infrarouge à moyen terme.</li>
<li>La domotique, pour le contrôle et la gestion des appareils dans une maison ;</li>
<li>La <a href="http://en.wikipedia.org/wiki/Real-time_locating_system">localisation en temps réel</a> ;</li>
<li>Et enfin la robotique, pour le contrôle à distance ;</li>
</ul>
<h3>La promesse du standard</h3>
<p>Les équipements qui respectent le standard et sont <a href="http://www.zigbee.org/Products/CertifiedProducts/CertifiedProductsOverview/tabid/463/Default.aspx">certifiés par l&#8217;Alliance ZigBee</a> sont théoriquement interchangeable et peuvent communiquer ensemble. </p>
<p>Cela signifie, qu&#8217;il est possible d&#8217;allumer à l&#8217;aide d&#8217;une télécommande de marque A, une douille d&#8217;ampoule de marque B et un lecteur de DVD de marque C. </p>
<p>Cela parait trivial dit comme cela, mais dans l&#8217;état actuel de développement de la domotique, cela releve du <strong>miracle</strong> &#8230;</p>
<p>Même, s&#8217;il existe des protocoles propriétaires pour faire cela, il est nécessaire de vendre <em>son âme</em> à un constructeur (<a href="http://fr.wikipedia.org/wiki/Enfermement_propri%C3%A9taire">Vendor lock-in</a> garantie sur facture <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) ou bien mettre en place des protocoles de <a href="http://fr.wikipedia.org/wiki/Middleware">Middleware</a> comme <a href="http://xplproject.org.uk/">xPL</a> et une belle galaxie de protocoles hétérogènes. (cf. le schéma de ma <a href="http://www.csquad.org/installation-domotique/">petite installation perso</a> <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<h3>La gestion des <em>binding</em></h3>
<p>La couche applicatif du standard ZigBee, inclut une possibilité très intéressante pour la domotique : le <em>binding</em>. </p>
<p>L&#8217;idée est de <strong>relier deux équipements</strong> du réseau de manière <strong>automatique et transparente</strong> pour l&#8217;utilisateur. </p>
<p>L&#8217;un des meilleur exemple pour comprendre est celui d&#8217;une ampoule et un d&#8217;un interrupteur.</p>
<p>Lorsque l&#8217;utilisateur active physiquement le <em>binding</em>, à l&#8217;aide d&#8217;un bouton par exemple. </p>
<p>Les deux <em>devices</em> se mettent en relation avec le coordinateur du réseau, qui détermine si oui ou non les profils applicatifs sont compatibles et de les lier. </p>
<p>Ce qui permet aux  équipements d&#8217;être liés automatiquement et il n&#8217;est pas nécessaire de configurer les adresses des équipements, etc&#8230;</p>
<h3>L&#8217;état actuel de la certification </h3>
<p>Pour l&#8217;instant, il y a peu d&#8217;équipements qui sont certifiés par l&#8217;Alliance :</p>
<ul>
<li><a href="http://www.zigbee.org/Products/CertifiedProducts/ZigBeeSmartEnergy/tabid/271/Default.aspx">ZigBee Smart Energy Certified Products</a> ;</li>
<li><a href="http://www.zigbee.org/Products/CertifiedProducts/ZigBeeHomeAutomation/tabid/455/Default.aspx">ZigBee Home Automation Certified Products</a>.</li>
</ul>
<p>Mais on trouve pas mal de vendeurs d&#8217;autres produits que ne sont pas forcement entièrement certifiés mais qui respectent la partie communication du standard. </p>
<h3>Problématique du sans-fils</h3>
<p>Comme toutes technologies sans-fils, elle présente quelques problématiques particulières : </p>
<h4>La source d&#8217;énergie</h4>
<p>Bien que le module ZigBee nécessite très peu d&#8217;énergie pour fonctionner (20mA pour émettre une trame sur le réseau), se pose la question de la source d&#8217;énergie. </p>
<p>Lorsque celle-ci est fournie par une pile cela pose de problématique de :</p>
<ul>
<li>fiabilité / qualité de la source d&#8217;énergie  ;</li>
<li>la nécessité de remplacer régulièrement la source d&#8217;énergie ; </li>
<li>la nécessité de mettre en place un dispositif pour notifier l&#8217;utilisateur du statut de la pile. </li>
</ul>
<h4>La sécurité</h4>
<p>La sécurité du standard ZigBee repose tout d’abord, sur la sécurité du protocole de communication IEEE 802.15.4. Pour mieux comprendre les méthodes de sécurisation mises en place par le protocole, vous pouvez lire cet article de vulgarisation : <a href="http://www.sensor-networks.org/index.php?page=0903503549">Security in 802.15.4 and ZigBee networks</a> ; ou bien cet excellent papier <a href="http://naveen.ksastry.com/papers/15.4-wise04.pdf">Security Considerations for IEEE 802.15.4 Networks</a>. Mais dans ce domaine, rien de nouveau, ce sont toujours les mêmes principes qui s’appliquent, à savoir :</p>
<ul>
<li>Plus la puce dispose de puissance et plus le niveau de chiffrement est fort (au maximum <a href="http://fr.wikipedia.org/wiki/Standard_de_chiffrement_avanc%C3%A9">AES128</a> pour ZigBee) ;</li>
<li>La qualité des composants et du générateur de nombre aléatoire ( <a href="http://digitaloffense.net/tools/debian-openssl/">merci de ne pas utiliser le PID du programme</a> <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) ;</li>
<li>La qualité de l’implémentation du code de chiffrement.</li>
</ul>
<p>Bref, vous vous doutez bien que les modules ZigBee qui seront vendus au grand publique ne seront pas d’un niveau de sécurité militaire et n’embarqueront sûrement pas <a href="http://enginova.com/radioactive_random_number_genera.htm">pas un compteur Geiger</a> comme source d&#8217;entropie <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>D&#8217;autant plus que le standard n&#8217;impose pas forcement un niveau de chiffrement fort à tous les profils applicatifs. </p>
<h3>Robotique</h3>
<p>Pour la robotique, il n&#8217;existe pas de profil dans le standard, mais la plupart des amateurs dans le domaine ont déjà compris les nombreux intérêts de ZigBee et on voit de plus en plus d&#8217;interfaces apparaître (<a href="http://www.trossenrobotics.com/bioloid-zigbee-wireless-module-set.aspx">Bioloid</a>, <a href="http://www.circuitcellar.com/library/print/0306/leland-188/leland-188.pdf">WowWee</a>, etc&#8230; )</p>
<h3>Logiciels libres</h3>
<p>Du coté des logiciels libres, nous avons :</p>
<ul>
<li>Un projet mort : <a href="http://zigbuzz.sourceforge.net/fr/index.html">ZigBuzz</a> ;</li>
<li>Le projet <a href="http://sourceforge.net/apps/trac/linux-zigbee/wiki">IEEE802.15.4/ZigBee Stack for Linux</a>, dont l&#8217;objectif est l&#8217;intégration de la pile ZigBee dans le noyau Linux, commiter dans la version 2.6.30-rc7 ;</li>
<li>Le projet <a href="http://freakz.sourceforge.net/">FreakZ</a>, dont l&#8217;objectif est l&#8217;implémentation du pile ZigBee libre pour l&#8217;embarque ;</li>
</ul>
<p>Malheureusement, il y a une incompatibilité entre la licence des spécifications du standard ZigBee et la licence <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>. en effet celle-ci ne prend pas en compte un usage non commercial. </p>
<p>Pour plus de détails sur ce point : <a href="http://freaklabs.org/index.php/Blog/Zigbee/Zigbee-Linux-and-the-GPL.html">Zigbee, Linux, and the GPL</a>.</p>
<p>Néanmoins, le code du protocole IEEE 802.15.4 est <a href="http://lwn.net/Articles/334666/">déjà le noyau</a> et bénéficie d&#8217;un niveau de protection <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Matériel</h3>
<p>Le matériel ZigBee disponible se découpe en plusieurs familles de la plus simple à la plus complexe :</p>
<h4>Émetteur-récepteur</h4>
<p>Les principaux constructeurs d&#8217;émetteur-récepteur sont <a href="http://www.ti.com/">Texas instruments</a> et <a href="http://www.freescale.com/">Freescale</a>.</p>
<h4>Puce</h4>
<p>Les puces prennent en charge la norme IEEE 802.15.4, elles sont produites par : <a href="http://www.ember.com/">Ember</a>, <a href="http://www.jennic.com/">Jennic</a>, <a href="http://www.ti.com/">Texas instruments</a> et <a href="http://www.freescale.com/">Freescale</a>.</p>
<h4>Modules</h4>
<p>Les modules prennent en charge le standard ZigBee et sont produites par : <a href="http://www.digi.com/">Digi</a>, <a href="http://www.one-rf.com/">One-RF</a>, <a href="http://www.telegesis.com/">Telegesis</a>, <a href="http://www.meshnetics.com/">Meshnetrics</a>, <a href="http://www.radiocrafts.com/">Radiocrafts</a>&#8230;</p>
<h4>Produit fini</h4>
<ul>
<li><a href="http://www.tritech.se/sv/start/tritech.php">Tritech</a> : dongles USB et routeurs Ethernet/Zigbee ;</li>
<li><a href="http://www.digi.com/">Digi</a> : passerelles RS232/485, USB, Ethernet, GPIO, routeurs autonomes</li>
<li><a href="http://www.telegesis.com/">Telegesis</a> : dongles USB et CF, routeurs autonomes et Ethernet</li>
<li><a href=""></a><a href="http://www.alektrona.com/">Alektrona</a> : gateway ethernet / zigbee;</li>
<li><a href="http://www.libelium.com/">Libelium</a> : capteurs et routeurs multi-protocoles Wifi, Bluetooth, GPRS et GPS ;</li>
<li>Des <em>shields</em> pour la carte <a href="http://www.arduino.cc/">Arduino</a> et ses dérivées.
</li>
</ul>
<h4>Offre packagée</h4>
<p>Pour les produits packagés, il existe les solutions suivantes :</p>
<ul>
<li><a href='http://www.control4.com/'>Control4</a> : gamme de produits domotiques ; </li>
<li><a href='http://www.alertme.com/'>AlerteMe</a> : système de suivi de la consommation électrique et  alarme.</li>
</ul>
<h3>Déploiements importants de ces technologies</h3>
<p>Il y a pas mal de déploiements de ces technologies aux USA dans le cadre des réseau de distribution d&#8217;électricité « intelligent » en Californie et au Texas principalement. </p>
<p>En Europe, le ville de <a href="http://www.openstreetmap.org/?mlat=57.706407&#038;mlon=11.968631&#038;zoom=10">Gothenburg en Suède</a> a déployé un réseau de <a href="http://tdworld.com/info_systems/highlights/gothenberg-ge-smart-meters-0609/">90 000 compteurs intelligents</a>. </p>
<p>En France, le déploiement est encore à l&#8217;état de recherche avec le projet <a href="http://www.senslab.info/index.php/Main_Page">SensLab</a>, le projet de localisation fait par <a href="http://www.orfidee.com/">Orfidée</a> pour la <a href="http://www.defense.gouv.fr/marine">Marine Nationale</a>.</p>
<p>Et d&#8217;autres projets couverts par des accords de non divulgation <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Références</h3>
<p>Voici quelques références pour approfondir le sujet :</p>
<ul>
<li>Le site de la <a href="http://www.zigbee.org/">ZigBee Alliance</a> ; </li>
<li>le site <a href="http://www.sensor-networks.org/">sensor-networks</a> ;</li>
<li>l’article de Sensor-networks sur les différence entre <a href="http://www.sensor-networks.org/index.php?page=0823123150">802.15.4 vs ZigBee</a> ;</li>
<li>le site du projet <a href="http://sourceforge.net/apps/trac/linux-zigbee/wiki">IEEE802.15.4/ZigBee Stack for Linux</a> ;</li>
</ul>
<h3>Conclusion</h3>
<p>Voilà, ceci est une petite présentation standard ZigBee, que j&#8217;ai voulu la plus succincte possible. Le sujet étant très vaste et passionnant. J&#8217;ai forcement fait des erreurs et oublié des références.  Merci de m&#8217;en faire part par mail ou via les commentaires.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/12/19/zigbee/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Reconnaissance vocale sous GNU/Linux et domotique</title>
		<link>http://www.csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/</link>
		<comments>http://www.csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 16:32:13 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Home automation]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[AIML]]></category>
		<category><![CDATA[eSpeak]]></category>
		<category><![CDATA[Julius]]></category>
		<category><![CDATA[Microphone array]]></category>
		<category><![CDATA[Voice Tracker]]></category>
		<category><![CDATA[VoxForge]]></category>
		<category><![CDATA[WAF]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=554</guid>
		<description><![CDATA[L&#8217;objectif de cet article est de décrire mon avancement sur le système de reconnaissance vocale dans mon installation domotique. En effet, pour mon usage personnel, j&#8217;ai mis au point un chatterbot pour contrôler de manière intuitive l&#8217;appartement.
Cette technologie permet de tenir une discutions intuitive avec une maison intelligente pour lui faire exécuter des ordres.  [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;objectif de cet article est de décrire mon avancement sur le système de <a href="http://fr.wikipedia.org/wiki/Reconnaissance_vocale">reconnaissance vocale</a> dans mon <a href="/installation-domotique/">installation domotique</a>. En effet, pour mon usage personnel, j&#8217;ai mis au point un <a href="http://en.wikipedia.org/wiki/Chatterbot">chatterbot</a> pour contrôler de manière intuitive l&#8217;appartement.<br />
Cette technologie permet de tenir une discutions intuitive avec une maison intelligente pour lui faire exécuter des ordres.   (allez <a href="http://www.imdb.com/title/tt0062622/">Stanley</a>, tu t&#8217;es seulement planter de 10 ans <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) :<br />
<code><br />
Moi>Alfred?<br />
Alfred>Oui, monsieur.<br />
Moi>Allume la lumière du salon.<br />
-- run xpl-sender -c x10.basic command=on device=a3<br />
Alfred>C'est fait.<br />
</code><br />
Le nom du bot est un hommage à <a href="http://en.wikipedia.org/wiki/Alfred_Pennyworth">Alfred Pennyworth</a>. Allons faire un petit tour dans les entrailles de la batcave <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Définition du besoin</h3>
<p>L&#8217;accumulation des télécommandes sur mon installation domotique, fait chuter mon <a href="http://en.wikipedia.org/wiki/Wife_acceptance_factor">WAF</a> de manière dramatique.<br />
 En effet, pour regarder une chaîne de télévision ou allumer la lumière.<br />
Il est nécessaire d&#8217;utiliser deux ou trois télécommandes différentes.<br />
Naviguer dans des interfaces, etc&#8230;<br />
Bref, pour des technologies donc l&#8217;objectif est d&#8217;améliorer la qualité de vie et rendre les taches quotidienne plus facile, j&#8217;avais un gros problème <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Après un petite discussion et une mise au point avec ma moitié, j&#8217;ai réussi à vendre la solution de contrôle par la voix.<br />
Belle connerie me voilà parti dans un domaine que je ne connais pas <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h4>Première Approche</h4>
<p>Je <a href="http://www.touteladomotique.com/forum/viewtopic.php?t=2112">lance une boue à la mer</a> sur le forum <em>&#8220;toute la domotique&#8221;</em>. </p>
<p>Visiblement, je ne suis pas le seul à chercher ce genre de fonctionnalité. Actuellement, nous avons dans le domaine :</p>
<ul>
<li>l&#8217;abominable <a href="http://www.homeseer.com/">HomeSeer</a> qui fonctionne très mal en Anglais à l&#8217;aide de l&#8217;interface de reconnaissance vocale inclue dans <a href="http://www.microsoft.com/enable/products/windowsvista/speech.aspx">Microsoft Windows</a> et la <a href="http://en.wikipedia.org/wiki/Speech_Application_Programming_Interface">SAPI</a> ;</li>
<li>Rien de spécifique à la domotique sous GNU/Linux, mais une belle galaxie de programmes dans le domaine.</li>
</ul>
<h3>Le choix du microphone</h3>
<p>Ma petite dame voulais parler librement sans aucune contrainte et il n&#8217;étais pas question de l&#8217;équiper d&#8217;un microphone.<br />
J&#8217;ai donc cherché une solution qui permet de capter la parole dans une pièce sans microphone sur la personne.<br />
La solution magique s&#8217;appelle la technique du <a href="http://en.wikipedia.org/wiki/Microphone_array">Microphone array</a>.<br />
Le principe est très simple, mettre en commun plusieurs microphones reliés à un <a href="http://en.wikipedia.org/wiki/Digital_signal_processor">DSP</a> qui permet de faire le traitement du signal en fonction de l&#8217;orientation physique des microphones.<br />
J&#8217;ai donc proposé de mettre en place chez moi le <a href="http://groups.csail.mit.edu/cag/mic-array/images/array_pics/tn/dscf0483.jpg.html">LOUD</a> (non ce n&#8217;est pas un radiateur <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).<br />
Bon vous vous doutez bien que lorsque j&#8217;ai proposé la solution du LOUD, j&#8217;ai faillit passer  par la fenêtre <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   </p>
<table>
<tr>
<td valign="top">
<img src="http://www.csquad.org/wp-content/uploads/2009/09/microphone_array.jpg" alt="microphone_array" title="microphone_array" width="275" height="142" class="alignnone size-full wp-image-582" />
</td>
<td>
Heureusement, il existe des solutions plus simples telles que le <a href="http://www.acousticmagic.com/">Voice Tracker</a> de chez Acoustic Magic. </p>
<p>Celui-ci permet de capter la parole dans une pièce, retraite le signal et permet d&#8217;obtenir sur une prise Jack classique la voix et rien que la voix dans une pièce.<br />
Magique <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </td>
</tr>
</table>
<p>Je peux parler le dos tourner au microphone dans une pièce de 20m^2 et l&#8217;ordinateur capte ma voix de manière impressionnante <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Le logiciel de reconnaissance vocale</h3>
<p>Il y a principalement deux solutions dans le domaine sous GNU/Linux :</p>
<ul>
<li>Le projet <a href="http://cmusphinx.sourceforge.net/html/cmusphinx.php">CMU Sphinx</a> avec PocketSphinx, Sphinx-[234], etc&#8230;</li>
<li><a href="http://julius.sourceforge.jp/en_index.php">Julius</a>, Open-Source Large Vocabulary CSR Engine Julius.</li>
</ul>
<p>Sur ces deux moteurs de reconnaissance vocale, reposent de nombreux <a href="http://www.voxforge.org/home/docs/faq/faq/what-is-a-dialog-manager">Dialog Manager</a>,  qui permettent d&#8217;exploiter le moteurs pour faire de la téléphonie, de contrôle vocale, etc&#8230; </p>
<h3>Ma méthode</h3>
<p>Soyons claire, je ne suis pas un expert en reconnaissance vocale et ce domaine est vraiment très difficile d&#8217;accès et nécessite la compréhension de nombreuses notions.<br />
J&#8217;ai donc adopté la technique <a href="http://www.epitech.eu/">EPITECH</a> : c&#8217;est à dire faire en sorte que cela fonctionne. ( sans comprendre tout le contexte <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<h3>Un bon informaticien est un informaticien feignant</h3>
<p>Pour faire fonctionner Julius, il est nécessaire de lire à haute voix de nombreux mots pour enregistrer les différents <a href="http://fr.wikipedia.org/wiki/Phon%C3%A8me">phonèmes</a> qui les composent. Afin de créer un <a href="http://fr.wikipedia.org/wiki/Mod%C3%A8le_de_Markov_cach%C3%A9">Modèle de Markov caché</a> exploitable par le logiciel.<br />
Voici donc comment je m&#8217;y suis pris pour éviter cette phase fastidieuse du projet.</p>
<h4>Utilisation d&#8217;un logiciel de synthèse vocale</h4>
<p>1 ère approche une solution assez &#8220;<em>laide</em>&#8220;,  qui consiste à faire lire ces mots par un logiciel de <a href="http://en.wikipedia.org/wiki/Speech_synthesis">synthèse vocale</a> comme <a href="http://espeak.sourceforge.net/">eSpeak</a>. Mais le résultat n&#8217;était pas très bon.</p>
<h4>Utilisation d&#8217;une collection d&#8217;enregistrement audio</h4>
<p>J&#8217;ai par la suite découvert le <a href="http://shtooka.net/fr/">projet Shtooka</a>, qui est une collection audio libre de mots français.<br />
Tous les termes liés à la domotique ne sont pas disponible dans le projet mais il est très facile d&#8217;ajouter ces termes à sa base de données locale.</p>
<h4>Conversion texte vers Phonème</h4>
<p>Une des étapes de l&#8217;apprentissage de Julius est la conversion du texte en <a href="http://fr.wikipedia.org/wiki/Phon%C3%A8me">Phonèmes</a>, pour résoudre ce problème, j&#8217;ai utilisé l&#8217;option -X de  <a href="http://espeak.sourceforge.net/">eSpeak</a> dont voici un exemple de sortie :</p>
<pre>$espeak -v fr -q -X "lumière"
Translate 'lumière'
  1     l        [l]

  1     u        [y]

  1     m        [m]

 21     i (A     [j]
  1     i        [i]

 43     è       [E]

  1     r        [r]

 22     e (_     []
  1     e        [@]

 lymj'Er</pre>
<h4>Un peu de glu</h4>
<p>Pour faire fonctionner tout ces éléments ensemble, je me suis fait un script Perl (très sale pour le moment) permettant de réaliser automatiquement toutes ces étapes :</p>
<ul>
<li>analyse des questions posées au robot ;</li>
<li>la conversion des mots en phonèmes ; </li>
<li>la diction des mots ;</li>
<li>la création du modèle accoustique.</li>
</ul>
<p>Il s&#8217;agit de l&#8217;automatisation de toutes les étapes de la création d&#8217;un modèle acoustique du projet <a href="http://www.voxforge.org/home/dev/acousticmodels/linux/create/htkjulius/tutorial">VoxForge</a>.</p>
<h3>Les travaux en cours</h3>
<p>Mon projet est disponible à cette adresse : <a href="http://alfred.csquad.org/">Alfred</a><br />
Il est en cours de développement mais pour l&#8217;instant il est possible de donner des ordres simples. </p>
<p>J&#8217;utilise <a href="http://www.rivescript.com/">RiveScript</a> pour la définition des tâches et de la conversation. Ce langage de chatbot est plus puissant que  <a href="http://en.wikipedia.org/wiki/AIML">AIML</a>. Car il permet d&#8217;inclure du code Perl assez puissant dans le code de la conversation. Voici un exemple :<br />
<code>$ more lib/Alfred/languages/en/x10.rs<br />
+ switch * on<br />
- do you want me to switch &lt;star&gt; on?<br />
+ yes<br />
% do you want me to switch * on<br />
- &lt;call&gt;xpl_x10_send_on &lt;botstar&gt;&lt;/botstar&gt;&lt;/call&gt;</code><br />
<code>$more lib/Alfred/modules/x10.rs<br />
> object xpl_x10_send_on perl<br />
    my ($obj,$method,@args) = @_;<br />
    $obj->{'xpl'}->send(<br />
        message_type => 'xpl-cmnd', class => 'x10.basic',<br />
        body => { command => 'on', device => 'a3'  });<br />
< object<br />
</code></p>
<h3>Un petit appel à contribution</h3>
<p>J'aurais gagné énormément de temps si le projet <a href="http://www.voxforge.org/">VoxForge</a> avait reçu plus de contribution de la part des utilisateurs francophones.</p>
<p>En effet, il n'y a pas assez de contribution pour pouvoir faire un modèle accoustique en Français.<br />
Cela permettra de <strong>disposer d'un système de reconnaissance vocale libre</strong> en Français.<br />
Ce qui intéresse beaucoup de monde à mon avis <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
C'est donc un petit appel à contribution aux projets VoxForge et <a href="http://shtooka.net/fr/">Shtooka</a>.</p>
<h3>Références intéressantes</h3>
<ul>
<li>Ensemble de <a href="http://cookerspot.tuxfamily.org/wikka.php?wakka=ReconnaissanceVocale">liens intéressants</a> sur le sujet de la reconnaissance vocale sous GNU/Linux.</li>
<li>Un exemple d'utilisation de Julius : <a href="http://www.linux.com/archive/feature/134671">Querying a database using open source voice control software</a> ; </li>
<li>Les <a href="http://www.voxforge.org/home/dev/acousticmodels/linux">tutoriels</a> du projet VoxForge ;</li>
<li>Le <a href="http://sourceforge.jp/projects/julius/downloads/37581/Juliusbook-part-4.1.2-en.pdf">Julius Book</a>. </li>
</ul>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Smart by &#8220;accident&#8221;</title>
		<link>http://www.csquad.org/2009/10/23/smart-by-accident/</link>
		<comments>http://www.csquad.org/2009/10/23/smart-by-accident/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 17:54:53 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Home automation]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Hadopi]]></category>
		<category><![CDATA[Internet of Things]]></category>
		<category><![CDATA[Nabaztag]]></category>
		<category><![CDATA[roomba]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=633</guid>
		<description><![CDATA[Despite The title, This weblog entry is in French. I&#8217;m deeply sorry for beening too lazy  
Je viens de finir la lecture de l&#8217;étude suivante :
A Spotlight on Security and Privacy Risks with Future Household Robots: Attacks and Lessons. 
Celui-ci parle des risques et de la sécurité liés aux robots ménagers (je crois que [...]]]></description>
			<content:encoded><![CDATA[<p>Despite The title, This weblog entry is in French. I&#8217;m deeply sorry for beening too lazy <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Je viens de finir la lecture de l&#8217;étude suivante :<br />
<a href="http://www.cs.washington.edu/homes/tdenning/files/papers/ubicomp_robots_authors_copy.pdf">A Spotlight on Security and Privacy Risks with Future Household Robots: Attacks and Lessons</a>. </p>
<p>Celui-ci parle des risques et de la sécurité liés aux <a href="http://www.pixmania.com/fr/fr/guide-d-achat-les-robots-menagers/ga25.html">robots ménagers</a> (je crois que c&#8217;est pas le bon lien <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p>Pour résumer rapidement l&#8217;article, celui-ci a évalué le niveau de sécurité des robots : <a href="http://www.wowwee.com/en/products/tech/telepresence/rovio/rovio">Rovio</a>, <a href="http://fr.wikipedia.org/wiki/Meccano_Spykee">Spykee</a> et <a href="http://fr.wikipedia.org/wiki/Robosapien">RoboSapien V2</a>.<br />
Le résultat est une véritable catastrophe d&#8217;un point de vue de la sécurité :</p>
<ul>
<li>des connexions sans fil, pas ou faiblement sécurisées ;</li>
<li>non chiffrement des informations d&#8217;authentification ;</li>
<li>apparition de nouvelles attaques.</li>
</ul>
<p>Mais ce dont j&#8217;aimerais vous parler est l&#8217;idée que soulève les auteurs au début du document:</p>
<blockquote><p>both thoses that we encountered and those that we foresee can be attributed partly to the fact that the home is becoming &#8220;accidentally&#8221; smart and that there is no dedicated, trained system administrator for the home environment.</p></blockquote>
<p>Je vais dans ce billet illustré cette idée et me permettre de réfléchir à haute voix.</p>
<h3>The incoming smart^Wobject</h3>
<p>Ils sont minions, petits ou grands, utiles ou futiles.<br />
ils s&#8217;appellent <a href="http://fr.wikipedia.org/wiki/Roomba">Roomba</a>,   <a href="http://fr.wikipedia.org/wiki/Nabaztag">Nabaztag</a> ou <a href="http://fr.wikipedia.org/wiki/Freebox">Freebox</a>.<br />
Ils sont arrivés dans nos maisons progressivement.<br />
Et <a href="http://fr.wikipedia.org/wiki/Nao(robotique)">les meilleurs</a> pointent bientôt leur nez <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Ils mettent en place progressivement le paradigme de <a href="http://fr.wikipedia.org/wiki/Internet_des_objets">l&#8217;Internet des objets</a> et de l&#8217;<a href="http://fr.wikipedia.org/wiki/Intelligence_ambiante">Intelligence ambiante</a>.</p>
<h3>Early adopters</h3>
<p>La cible 1ére de ses technologies sont les <a href="http://fr.wikipedia.org/wiki/Geek">Geek</a>, ce sont les seuls capables d&#8217;adopter ces technologies, d&#8217;accepter les problèmes liés à  leur jeune âge et de les exploiter.</p>
<p>Les Geeks ont généralement les compétences nécessaires pour comprendre le fonctionnement de ces nouveaux objets.  </p>
<h3>Mainstream and Mrs. Michu</h3>
<p>Ces objets arrivent progressivement chez <a href="http://www.dico-des-mots.com/definitions/madame-michu.html">Madame Michu</a> et c&#8217;est la que cela devient intéressant.  </p>
<h4>Freebox</h4>
<p>Commençons par la Freebox, voulez-vous.  Car je trouve que c&#8217;est l un des meilleurs exemples d&#8217;<em>intelligence accidentelle</em>. </p>
<p>Des millions de foyers français ont reçus avec leur abonnement Internet une <em>machin-box</em>.<br />
Celle-ci est équipée d&#8217;une liaison  <a href="http://fr.wikipedia.org/wiki/Wi-Fi">Wi-Fi</a> qui n&#8217;est pas sécurisée, que cela soit en <a href="http://www.isoc.org/isoc/conferences/ndss/02/papers/stubbl.pdf">WEP</a> ou WPA.<br />
Du coup ces milliers de foyer se retrouvent propulsés dans le rôle d&#8217;un administrateur réseau.<br />
Et s&#8217;ils n&#8217;ont pas les compétences nécessaires et que leur connexion est usurpée, ils se trouveront privé de leur droit d&#8217;accès Internet grâce à la loi <a href="http://fr.wikipedia.org/wiki/HADOPI">HADOPI</a>.  </p>
<h4>Roomba</h4>
<p>Le robot aspirateur Roomba, dispose d&#8217;une forte puissance et il est capable de faire des dégâts important dans une maison si la pièce n&#8217;est pas préparée pour son passage.<br />
Le mien dispose en plus d&#8217;une <a href="http://en.wikipedia.org/wiki/RooTooth">connexion Bluetooth</a> dont je doute sérieusement du niveau de sécurité compte-tenu de la complexité du protocole.<br />
Avec une bonne dose de <a href="http://fr.wikipedia.org/wiki/Fuzzing">Fuzzing</a>, je pense qu&#8217;il est tout à fait envisageable de  prendre le contrôle du robot à distance et de me ruiner le salon <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h4>Nabaztag</h4>
<p>Continuons avec le <a href="http://en.wikipedia.org/wiki/Nabaztag">Nabaztag</a>.<br />
J&#8217;aime beaucoup les lapins, mais je dois avouer que celui-ci me sort particulièrement par les oreilles compte-tenu des problèmes qu&#8217;il pose :</p>
<ul>
<li>La connexion Wifi qui pose les mêmes problèmes que la Freebox ;</li>
<li>La centralisation, l&#8217;ensemble de l&#8217;intelligence du lapin se trouve sur les serveurs de <a href="http://fr.wikipedia.org/wiki/Violet_(entreprise)">Violet</a>, ce qui signifie que si la société fait faillite, alors les lapins mourront ; </li>
<li>Ce dernier point soulève de nombreux problèmes liés à la vie privé ; </li>
</ul>
<h3>The rabbit is sad, he wants to hug you</h3>
<p>Je suis un des <em>early adopters</em> des ces technologies ( la domotique, la robotique, etc&#8230; ).<br />
Mais je trouve que les utilisateurs et les constructeurs ne font pas assez attention aux implications et aux risques liés à ces technologies. </p>
<h4>Est-ce que je ne vais pas un peu fort dans les accusations ?</h4>
<p>Je pense qu aujourd&#8217;hui les histoires de robots qui volent des clés ou qui saccagent une maison peuvent faire sourire.<br />
Mais imaginez les mêmes scénarios dans 5 à 10 ans et nous rigolerons un peu moins. </p>
<h4>Mais quel est le principal problème ?</h4>
<p>L&#8217;internet des objets va être déployé dans un nouvel environnement : votre maison.<br />
C&#8217;est à dire un lieu privé, ou la fuite d&#8217;information et/ou les risques encourus peuvent avoir des conséquences très importantes.</p>
<h3>We need Free hugs, free as software</h3>
<p>Je pense que la seule voix possible pour l&#8217;Internet des objets est le logiciel libre. </p>
<p>Les points évoqués dans les exemples précédents peuvent être résolu qu&#8217;à l&#8217;aide de deux méthodes :</p>
<ul>
<li>la formation des utilisateurs ;</li>
<li>et l&#8217;utilisation de logiciels libres.</li>
</ul>
<p>Le 1er point est évident, je vais donc développer le second.<br />
Comme le logiciel libre à largement prouvé sa supériorité en matière de sécurité  informatique.<br />
Il est donc le seul à pouvoir prétendre une place dans votre vie privé.<br />
C&#8217;est la seule solution pour faire adopter ces évolutions.</p>
<p>Il existe aussi une solution basée sur le logiciel propriétaire et des nombreuses lois semblables à HADOPI permettant de cacher ces lacunes en matière de sécurité, mais je n&#8217;ai vraiment pas envie d&#8217;essayer <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/10/23/smart-by-accident/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Communication à l&#8217;aide du protocole ZigBee entre un PC et une carte Arduino</title>
		<link>http://www.csquad.org/2009/09/06/communication-a-laide-du-protocole-zigbee-entre-un-pc-et-une-carte-arduino-2/</link>
		<comments>http://www.csquad.org/2009/09/06/communication-a-laide-du-protocole-zigbee-entre-un-pc-et-une-carte-arduino-2/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 18:43:49 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Do it yourself]]></category>
		<category><![CDATA[Home automation]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[xBee]]></category>
		<category><![CDATA[ZigBee]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=487</guid>
		<description><![CDATA[L&#8217;objectif de ce montage est de faire communiquer un PC avec une carte Arduino à l&#8217;aide du protocole ZigBee
Voici l&#8217;architecture de montage :

Cette article décrit la mise en place d&#8217;une topologie réseau simple, permettant de communiquer entre un PC et une carte Arduino à l&#8217;aide de modules XBee série 1 de chez Digi. 
Les composants
Le [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;objectif de ce montage est de faire communiquer un PC avec une carte Arduino à l&#8217;aide du protocole <a href="http://fr.wikipedia.org/wiki/ZigBee">ZigBee</a><br />
Voici l&#8217;architecture de montage :<br />
<img src='/wp-content/zigbee_pc_network.png' alt='' /></p>
<p>Cette article décrit la mise en place d&#8217;une topologie réseau simple, permettant de communiquer entre un PC et une carte Arduino à l&#8217;aide de modules <strong>XBee série 1</strong> de chez Digi. </p>
<h3>Les composants</h3>
<p>Le montage nécessite les composants suivants :</p>
<ul>
<li>un PC, fonctionnant sous Debian GNU/Linux pour ma part ;</li>
<li>une carte Arduino ou bien un adaptateur USB relié au PC ;</li>
<li>deux modules de communication XBee ;</li>
<li>une carte Arduino avec un adaptateur XBee.</li>
</ul>
<h3>A propos  du protocole ZigBee</h3>
<table>
<tr>
<td><img src='/wp-content/zigbee_logo.png' alt='' /></td>
<td valign='top'>
<p>ZigBee est un protocole de haut niveau permettant la communication de petites radios, à consommation réduite, basée sur la norme IEEE 802.15.4 pour les réseaux à dimension personnelle (WPANs).</p>
<p>C&#8217;est vraiment un très bon protocole, qui est bien plus simple à mettre en œuvre  que le protocole Bluetooth. Je ne sais pas si vous avez déjà vu la <a href="http://idebian.files.wordpress.com/2008/07/bluetooth_stack.png?w=460&#038;h=379">stack du protocole</a>. Il y a de quoi avoir peur <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
</td>
<td>
</td>
</tr>
</table>
<h4>xBee, ZigBee et beeee?</h4>
<p>Si vous êtes perdus avec tous ces sigles, c&#8217;est normal. Moi aussi <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Voici ce que j&#8217;ai compris  :</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/ZigBee">ZigBee</a> : est le nom du protocole ; </li>
<li><a href="http://www.digi.com/products/wireless/point-multipoint/xbee-series1-module.jsp">XBee</a> : est le nom du produit chez le constructeur <a href="http://www.digi.com/">Digi</a> ;</li>
<li><a href="http://en.wikipedia.org/wiki/IEEE_802.15.4-2006">IEEE 802.15.4</a> : c&#8217;est le nom du standard qui définit le communication dans un <a href="http://en.wikipedia.org/wiki/Personal_area_network">WPAN</a> ;</li>
</ul>
<p>Ok, c&#8217;est vraiment pas plus claire <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Mais c&#8217;est dit.</p>
<h3>Liste des composants</h3>
<p>Vous avez besoin des composants suivants :</p>
<table border='1' width='100%'>
<thead>
<tr>
<th>Nom du composant</th>
<th>Archeter chez </th>
<th>Quantité</th>
<th>Prix</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://www.lextronic.fr/P2901-platine-dinterface-usb-pour-modules-xbee.html">Platine d&#8217;interface USB pour modules &#8220;XBEE&#8221;</a></td>
<td>Lextronic</td>
<td>1 (optionnel)</td>
<td>23€ TTC</td>
</tr>
<tr>
<td><a href="http://www.premiumorange.com/matlog/ProdServ/Maxstream/home.php">Module xBee</a></td>
<td>Matlog</td>
<td>1 (optionnel)</td>
<td>20€ TTC</td>
</tr>
<tr>
<td><a href="http://www.libelium.com/tienda/catalog/product_info.php?cPath=21&#038;products_id=28">Arduino Duemilanove</a></td>
<td>Libelium</td>
<td>2</td>
<td>24€ TTC</td>
</tr>
<tr>
<td><a href="http://www.libelium.com/tienda/catalog/product_info.php?cPath=21&#038;products_id=45">Arduino Xbee ZB 2mW + UFL Antenna</a></td>
<td>Libelium</td>
<td>2</td>
<td>50€ TTC</td>
</tr>
</tbody>
</table>
<h3>Partie PC</h3>
<p>
La connexion entre le module Xbee et un PC peut se faire de deux manières :</p>
<ul>
<li>à l&#8217;aide d&#8217;un adaptateur USB ;</li>
<li>à l&#8217;aide d&#8217;une carte Arduino et d&#8217;un <em>Shield XBee</em> ;</li>
</ul>
<p>
L&#8217;objectif pour la partie PC du montage est de communiquer avec le module XBee,  à fin de lui envoyer des commandes.<br />
Cette communication se fait à l&#8217;aide d un convertisseur <em>USB-Serial</em>, ce rôle est joué par l&#8217;adaptateur USB ou bien par la carte Arduino + Shield.
</p>
<h4>Connexion à l&#8217;aide de l&#8217;adaptateur USB</h4>
<p>L&#8217;adaptateur XBee se connect directement sur le port USB du PC :<br />
<img src='/wp-content/usb_xbee.jpg' alt='' /><br />
Un fois branché, le module est visible à l&#8217;aide de la commande <em>lsusb</em> :<br />
<code><br />
Bus 002 Device 013: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC<br />
</code></p>
<h4>Communication à l&#8217;aide d&#8217;une carte Arduino + XBee Shield</h4>
<p>L&#8217;adaptateur XBee se connecte directement sur la carte Arduino :<br />
<img src='/wp-content/xbee_shield_with_antena.jpg' alt='' /><br />
Il est nécessaire de modifier la configuration par du <em>shield</em> pour mettre la carte en mode <em>USB-Serial</em>.<br />
Pour cela, il faut mettre les deux jumper à droite (éloigner du port USB), comme sur cette photo : <a href="/wp-content/xbee_arduino_usb_serial_jumper.jpg">Configuration mode USB-serial</a><br />
Vous pouvez ensuite brancher la carte Arduino et voir le module XBee à l&#8217;aide de la commande <em>lsusb</em> :<br />
<code><br />
Bus 002 Device 013: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC<br />
</code></p>
<h4>Connexion à l&#8217;aide d&#8217;un gestionnaire de terminal</h4>
<p>Une fois que le module XBee est connecté au PC, il doit être disponible sur <em>/dev/ttyUSB0</em> :<br />
<code><br />
[31016.280327] ftdi_sio 2-8.3:1.0: FTDI USB Serial Device converter detected<br />
[31016.280354] /build/buildd/linux-2.6.24/drivers/usb/serial/ftdi_sio.c: Detected FT232RL<br />
[31016.280449] usb 2-8.3: FTDI USB Serial Device converter now attached to ttyUSB0<br />
</code><br />
Pour communiquer avec le module, il faut utiliser un programme de gestion de terminal ( <em>gtkterm</em>, <em>minicom</em> ou bien l&#8217;IDE de la carte Arduino).<br />
Voici la configuration pour <em>gtkterm</em> :<br />
<a href="/wp-content/xbee_arduino_gtkterm_configuration.png"><img src='/wp-content/thumb-xbee_arduino_gtkterm_configuration.png' alt='' /></a></p>
<h4>Configuration du module XBee</h4>
<p>Une fois que vous etes connecté au module XBee, vous pouvez  lui envoyer des commandes à l&#8217;aide du gestionnaire de terminal.<br />
Le module dispose de deux mode de fonctionnement : normal et configuration.<br />
Pour passer en mode configuration, il faut saisir <em>+++</em> (sans CR, retour à la ligne).<br />
Si le module a compris la commande, alors il retourne  <em>OK</em>.<br />
Voici un exemple de session :<br />
<a href="/wp-content/xbee_arduino_gtkterm_session.png"><img src='/wp-content/thumb-xbee_arduino_gtkterm_session.png' alt='' /></a>.</p>
<h3>Configuration d&#8217;un réseau bidirectionnelle simple</h3>
<p>Voici les différentes instructions pour configurer un réseau simple, c&#8217;est à dire une communication bidirectionnelle entre deux cartes Arduino ou bien entre un PC et une carte Arduino </p>
<h4>Configuration sur la carte reliée au PC</h4>
<p><code><br />
<strong>+++</strong>OK<br />
<strong>ATMY1234</strong><br />
OK<br />
<strong>ATDL5678</strong><br />
OK<br />
<strong>ATDH0</strong><br />
OK<br />
<strong>ATID1111</strong><br />
OK</code></p>
<h4>Configuration du module Arduino</h4>
<p><code><br />
<strong>+++</strong>OK<br />
<strong>ATMY5678</strong><br />
OK<br />
<strong>ATDL1234</strong><br />
OK<br />
<strong>ATDH0</strong><br />
OK<br />
<strong>ATID1111</strong><br />
OK</code></p>
<p>Les commandes importantes sont :</p>
<ul>
<li><strong>ATMY</strong> : adresse source ; </li>
<li><strong>ATDL</strong> : adresse de destination (bite de poids faible) ;</li>
<li><strong>ATDH</strong> : adresse de destination (bite de poids fort) ;</li>
<li><strong>ATID</strong> : identifiant du réseau ;</li>
</ul>
<h3>Utilisation au niveau de la carte Arduino</h3>
<p>Il faut inscrire le programme suivant dans la mémoire de la carte :<br />
<code><br />
void setup() {<br />
  Serial.begin(9600);<br />
  Serial.print("+++");<br />
  Serial.print("ATDH0\r");<br />
  Serial.print("ATDL1234\r");<br />
  Serial.print("ATMY5678\r");<br />
  Serial.print("ATID1111\r");<br />
  Serial.print("ATCN\r");<br />
}<br />
void loop() {<br />
   delay(1000);<br />
   Serial.print("42\n");<br />
}<br />
</code><br />
La programmer et changer le sens des deux &#8220;jumper&#8221; pour faire communiquer le module avec la carte.</p>
<h3>Référence</h3>
<ul>
<li>Le <a href="http://www.libelium.com/squidbee/upload/3/31/Data-sheet-max-stream.pdf">Data sheet</a> du module ; </li>
<li>Le livre <a href="http://oreilly.com/catalog/9780596510510/">Making Things Talk</a>  de Tom Igoe chez O&#8217;reilly.</li>
</ul>
<p>Si vous voulez vous simplifier la vie, il existe une bibliothèque pour la programmation des modules xbee : <a href="http://code.google.com/p/xbee-arduino/">xbee-arduino</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/09/06/communication-a-laide-du-protocole-zigbee-entre-un-pc-et-une-carte-arduino-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bon plan pour l&#8217;achat de composants Lego Mindstorms</title>
		<link>http://www.csquad.org/2009/04/11/bon-plan-pour-lachat-de-composants-lego-mindstorms/</link>
		<comments>http://www.csquad.org/2009/04/11/bon-plan-pour-lachat-de-composants-lego-mindstorms/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 21:09:02 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Robotics]]></category>
		<category><![CDATA[LEGO]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=82</guid>
		<description><![CDATA[Si vous cherchez des composants pour vos créations Lego Mindstorms, je vous conseille de faire un petit tour sur le site d&#8217;Active Robots.
Il s&#8217;agit d&#8217;un revendeur spécialisé en matériel robotique, situé en Angleterre qui propose une large gamme de produits. 
Les principaux avantages de ce revendeur sont les suivants :

Très bon prix, à cause de [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous cherchez des composants pour vos créations Lego Mindstorms, je vous conseille de faire un petit tour sur le site d&#8217;<a href="http://www.active-robots.co.uk/">Active Robots</a>.</p>
<p>Il s&#8217;agit d&#8217;un revendeur spécialisé en matériel robotique, situé en Angleterre qui propose une large gamme de produits. </p>
<p>Les principaux avantages de ce revendeur sont les suivants :</p>
<ul>
<li>Très bon prix, à cause de la quasi parité monétaire entre l&#8217;euro et la livre, les <strong>prix sont infèrieurs de 30 à 40%</strong> par rapport aux magasins Francais ;</li>
<li><strong>Livraison ultra rapide </strong>(en deux jours en moyenne) pour 9,45 euros ;</li>
<li>Large choix de produits dont des composants de chez <a href="http://www.mindsensors.com/">Mindsensors</a> et <a href="http://www.hitechnic.com/">HiTechnic</a> ;</li>
<li>Pas de frais de douane.</li>
</ul>
<p>Voici un exemple pour illustrer mes propos, l&#8217;achat du couple classique Pile Rechargable + Transformateur pour NXT :</p>
<ul>
<li>En France : <a href="https://shop.lego.com/ByCategory/Product.aspx?p=9798&#038;cn=389&#038;d=292">Pile rechargeable</a> 50 euro et <a href="https://shop.lego.com/ByCategory/Product.aspx?p=9833&#038;cn=389&#038;d=292">Transformateur</a> 20 euro ; </li>
<li>En Angleterre : <a href="http://www.active-robots.co.uk/nxt-rechargeable-battery-p-942.html">Pile rechargeable</a> 33 pounds et <a href="http://www.active-robots.co.uk/transformer-charger-p-457.html">Transformateur</a> 11 pounds</li>
</ul>
<p>Soit au total 70 euros pour la France et 44 pounds (soit 46 euros) pour l&#8217;Angleterre. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/04/11/bon-plan-pour-lachat-de-composants-lego-mindstorms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Présentation de la plateforme de développement éléctronique Arduino</title>
		<link>http://www.csquad.org/2009/02/04/presentation-de-la-plateforme-de-developpement-electronique-arduino/</link>
		<comments>http://www.csquad.org/2009/02/04/presentation-de-la-plateforme-de-developpement-electronique-arduino/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 20:37:57 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Do it yourself]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Home automation]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=77</guid>
		<description><![CDATA[Un ami m&#8217;a fait découvrir la plate-forme de développement Arduino.
J&#8217;en cherchais justement une, un peu plus avancée que la plate-forme Mindstorms de LEGO pour la robotique.
Celle d&#8217;Arduino est composée d&#8217;une carte élétronique qui se branche à l&#8217;aide du port USB sur un PC et d&#8217;une suite de logiciels pour développer des programmes sur la carte.
L&#8217;ensemble [...]]]></description>
			<content:encoded><![CDATA[<p>Un ami m&#8217;a fait découvrir la plate-forme de développement <a href="http://www.arduino.cc/">Arduino</a>.<br />
J&#8217;en cherchais justement une, un peu plus avancée que la plate-forme <a href="http://mindstorms.lego.com/eng/Overview/default.aspx">Mindstorms</a> de LEGO pour la robotique.</p>
<p>Celle d&#8217;Arduino est composée d&#8217;une carte élétronique qui se branche à l&#8217;aide du port USB sur un PC et d&#8217;une suite de logiciels pour développer des programmes sur la carte.<br />
L&#8217;ensemble du matériel et des logiciels sont libres. (<a href="http://en.wikipedia.org/wiki/Open_hardware">OpenHardware</a>) </p>
<p>Lors des mes études, j&#8217;ai été introduit à la programmation sur <a href="http://fr.wikipedia.org/wiki/Microcontr%C3%B4leur_PIC">Microcontrôleur PIC</a>.<br />
J&#8217;en garde quelque mauvais souvenir lié à la manipulation d&#8217;un environnement de développement intégré propriètaire et d&#8217;une grande complexité. </p>
<p>Du coup lorsque, j&#8217;ai branché ma carte <a href="http://www.arduino.cc/en/Main/ArduinoBoardDiecimila">Arduino Diecimila</a>, compilé et éxécuté mon 1er programme en moins de 5 minutes, le tout sous Debian GNU/Linux.<br />
Ce fut un gros choc! <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Alors c&#8217;est vrai, je vais pouvoir faire des montages éléctroniques facilement ? <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   </p>
<p>Pour être honnête, non, je ne vais pas me transformer en éléctronicien de génie en 5 minutes, chacun son métier et si l&#8217;on ne comprend pas les fondamentaux de l&#8217;éléctronique tout ne va pas fonctionner comme par miracle. </p>
<p>Néanmoins, je trouve cette plate-forme très intéressante, car elle permet de réaliser beaucoup de choses et manière très simple.<br />
Je vous laisse juger par vous même :</p>
<h3>Caractèristiques techniques de la carte</h3>
<table>
<tr>
<td><a href='/wp-content/ArduinoDuemilanove.jpg'><img src='/wp-content/thumb-ArduinoDuemilanove.jpg' alt='Arduino Duemilanove' /></a></td>
<td>
<ul>
<li>Microcontroller : ATmega168</li>
<li>14 Entrées/ Sorties Digital (dont 6 capables de réaliser une Modulation de largeur d&#8217;impulsion)</li>
<li>6 Entrées Analogiques</li>
<li>16KB de mémoire Flash</li>
<li>1KB de SRAM</li>
<li>512 bytes EEPROM</li>
<li>Cadence de l&#8217;horloge : 16 MHz</li>
<li>Alimentation via le port USB ou par une alimentation externe. </li>
</ul>
</td>
</tr>
</table>
<h3>Cartes additionnelles</h3>
<p>Il existe de très nombreuses possiblités d&#8217;extensions :</p>
<ul>
<li>Bluetooth ;</li>
<li>Ethernet ; </li>
<li>Zigbee ;</li>
<li>GPRS ;</li>
<li>GPS ;</li>
<li>Carte MicroSD ;</li>
<li>Lecteur RDIF ;</li>
<li>Ećrans LCD ;</li>
<li>Accéléromètre ;</li>
<li>Gestion des servo moteurs ; </li>
<li>1-wire</li>
<li>etc&#8230;</li>
</ul>
<p>Les possiblités offertes par la carte sont très nombreuses, il y a une importante communauté de passionné autour de ce projet.</p>
<h3>Premiers pas</h3>
<p>Pour commencer, il existe une très bonne documentation en Français  : <a href="http://www.craslab.org/arduino/livrethtml/LivretArduinoCRAS.html">Initiation à la mise en oeuvre matérielle et logicielle de l’Arduino</a> (au format <a href="http://www.craslab.org/arduino/LivretArduinoFr06.pdf">PDF</a>).</p>
<p>Il y a de très nombreux <a href="http://arduino.cc/en/Main/Buy">revendeurs</a> pour la carte, ansi que pour les extensions dans le monde.<br />
Chaque magasin propose les cartes standards et parfois ses propres extensions.</p>
<p>Pour ma part, j&#8217;ai passé mes commandes de matériel  chez <a href="http://www.lextronic.fr/R2386-modules-arduino.html">Lextronic</a>,<a href="http://www.libelium.com/tienda/catalog/">Libelium</a> et <a href="http://www.inmotion.pt/store/index.php?cPath=10">InMotion</a>. </p>
<p>Je publierai bientôt quelques montages. </p>
<p>Enfin si mon chat est encore vivant <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/02/04/presentation-de-la-plateforme-de-developpement-electronique-arduino/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chiara, Ubuntu GNU/Linux avec des pieds</title>
		<link>http://www.csquad.org/2009/01/11/chiara-ubuntu-gnulinux-avec-des-pieds/</link>
		<comments>http://www.csquad.org/2009/01/11/chiara-ubuntu-gnulinux-avec-des-pieds/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 19:32:14 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Robot]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=74</guid>
		<description><![CDATA[Je viens de découvrir le robot Chiara (prononcé kee-AR-ah), dans le numèro 13 du magazine Robot.
D&#8217;après son auteur, David Touretzky c&#8217;est :
Basically, it'a latop with legs
En effet, l&#8217;architecture de ce robot est très proche de l&#8217;architecture d&#8217;un PC :

Ubuntu GNU/Linux ;
Architecture x86 CPU 1Ghz ; 
1G de RAM ;
Disque dur de 80Go ;
Webcam ;
Ports USB [...]]]></description>
			<content:encoded><![CDATA[<p>Je viens de découvrir le robot <a href="http://chiara-robot.org/">Chiara</a> (prononcé <em>kee-AR-ah</em>), dans le numèro 13 du magazine <a href="http://www.botmag.com/">Robot</a>.<br />
D&#8217;après son auteur, David Touretzky c&#8217;est :</p>
<pre>Basically, it'a latop with legs</pre>
<p>En effet, l&#8217;architecture de ce robot est très proche de l&#8217;architecture d&#8217;un PC :</p>
<ul>
<li>Ubuntu GNU/Linux ;</li>
<li>Architecture x86 CPU 1Ghz ; </li>
<li>1G de RAM ;</li>
<li>Disque dur de 80Go ;</li>
<li>Webcam ;</li>
<li>Ports USB ;</li>
<li>Ethernet et Wifi (b/g) ;</li>
<li>6 Pates et 1 Bras.</li>
</ul>
<p>L&#8217;architecture matériel repose sur :</p>
<ul>
<li>une carte mère <a href="http://www.via.com.tw/en/initiatives/spearhead/pico-itx/">VIA PICO ITX</a> ;</li>
<li>des servomoteurs issus du kit <a href="http://www.robotis.com/zbxe/main">Bioloid</a> ;</li>
<li>le controle des servomoteurs se fait via une <a href="http://www.huvrobotics.com/USB-01.html">interface</a> USB.</li>
</ul>
<p>Le robot est animé par les outils du projet <strong>libre</strong> <a href="http://tekkotsu.org/">Tekkotsu</a>.</p>
<p>Comme la plupart des projets de robotique reposent sur des architectures et des logiciels propriétaires spécifiques.<br />
J&#8217;aime donc beaucoup l&#8217;idée d&#8217;avoir à ma disposition une architecture connue et basé sur des logiciels libres.</p>
<p>Je dit donc bravo <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Et j&#8217;attends avec impatience la sortie de ce monstre. </p>
<p>Normalement prévu pour Décembre 2008, mais bon celui-ci à un peu de retard, en attendant je vous invite à lire/regarder<br />
les diffèrentes ressources du projet :</p>
<ul>
<li><a href="http://chiara-robot.org/archive/Robot-Magazine-NovDec-2008.pdf">L&#8217; article de présentation</a> ;</li>
<li>Vidéo <a href="http://www.youtube.com/watch?v=tmzVvGay5wg"> Chiara Robot at AAAI 2008</a> ;</li>
<li><a href="http://www.youtube.com/results?search_query=chiara+robot+tekkotsu">D&#8217;autres vidéos</a> sur Youtube ;</li>
<li>Une <a href="http://chiara-robot.org/chiara-brochure-july-2008.pdf">bochure</a> de présentation.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/01/11/chiara-ubuntu-gnulinux-avec-des-pieds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build NXC programs under Debian GNU/Linux</title>
		<link>http://www.csquad.org/2008/06/12/build-nxc-programs-under-debian-gnulinux/</link>
		<comments>http://www.csquad.org/2008/06/12/build-nxc-programs-under-debian-gnulinux/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 22:50:05 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NXC]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=59</guid>
		<description><![CDATA[This document explain how to build and load an Not eXactly C program for the Lego Mindstoms NXT Robot under Debian GNU/Linux.
Introduction
Lego does not provide tools for building programs for the NXT under Linux.
I don&#8217;t like Bricxcc, because :

It looks like Visual Studio ;
runs only on Microsoft Windows ;
I&#8217;m more familiar with VIM, make and [...]]]></description>
			<content:encoded><![CDATA[<p>This document explain how to build and load an <i>Not eXactly C</i> program for the <a href="http://mindstorms.lego.com/eng/Overview/default.aspx">Lego Mindstoms NXT</a> Robot under Debian GNU/Linux.</p>
<h3>Introduction</h3>
<p>Lego does not provide tools for building programs for the NXT under Linux.<br />
I don&#8217;t like <a href="http://bricxcc.sourceforge.net/">Bricxcc</a>, because :</p>
<ul>
<li>It looks like Visual Studio ;</li>
<li>runs only on Microsoft Windows ;</li>
<li>I&#8217;m more familiar with VIM, make and GCC ;0)</li>
</ul>
<h3>Install the compiler</h3>
<p>Ths NXC compiler can be downloaded on the <a href="http://bricxcc.sourceforge.net/nbc/beta/index.html">Bricxcc</a> web site. The compiler is writen in Pascal.</p>
<p>You need to install the <a href="http://www.freepascal.org/">FreePascal Compiler</a> and build the compiler :</p>
<p><code><br />
$ wget http://downloads.sourceforge.net/bricxcc/nbc-1.0.1.b34.src.tgz<br />
# apt-get install fp-compiler fp-units-fcl fp-units-base<br />
$ mkdir nbc<br />
$ tar xzf nbc-1.0.1.b34.src.tgz -C nbc<br />
$ cd nbc/nxt<br />
$ make -f nbclinux.mak<br />
$ ./nbc<br />
Next Byte Codes Compiler version 1.0.1.b34 (1.0.1.34, built Thu Jun 12 21:21:22 CEST 2008)<br />
     Copyright (c) 2006, John Hansen<br />
Use "nbc -help" for more information.<br />
# mv nbc /usr/local/bin/<br />
</code></p>
<h3>Hello world</h3>
<p>Let&#8217;s try to build and send a simple hello world program to the robot :</p>
<p><code><br />
$ cat > hello.nxc < <EOF<br />
task main() {<br />
        TextOut(0, 0, "Hello world!");<br />
        Wait(1000);<br />
}<br />
EOF<br />
$ nbc hello.nxc -O=hello.rxe<br />
</code></p>
<h3>USB Transfert</h3>
<p>In order to send the program to the robot, you need the Talk 2 NXT program : <a href="http://www-verimag.imag.fr/~raymond/edu/lego/t2n/"> T2N</a>.</p>
<p><strong>Warning</strong>: on amd64, you need to patch the source code.</p>
<p></code><code><br />
# apt-get install g++ libusb-dev<br />
$ wget http://www-verimag.imag.fr/~raymond/edu/lego/t2n/t2n-0.2.src.tgz<br />
$ wget http://www.csquad.org/wp-content/t2n_amd64.diff<br />
$ cd t2n-0.2.src<br />
$ patch -p1 < ../t2n_amd64.diff<br />
patching file src/usbmisc.cc<br />
patching file src/usbmisc.h<br />
$ make<br />
# mv obj/t2n /usr/local/bin/<br />
</code></p>
<p>Now you can plug, turn on your NXT and send the program via the USB port.</p>
<p></code><code><br />
# t2n -i<br />
#### NXT INFOS ###############<br />
protocol version=1.124 firmware version=1.1<br />
NXT Name: NXT<br />
Blutooth address: 16:53:06:37:ffffffbc:00<br />
Blutooth signal: 0<br />
Free user flash: 44416<br />
# t2n -v -put  hello.rxe<br />
nxt brick found, usb initialized<br />
testing for existing file "hello.rxe"<br />
deleting for existing file "hello.rxe"<br />
upload hello.rxe (376 bytes) from /goinfre<br />
that's all folks...<br />
</code></p>
<p>That&#8217;s all folks&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2008/06/12/build-nxc-programs-under-debian-gnulinux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
