<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/9 Mathieu AGOPIAN <span dir="ltr"><<a href="mailto:mathieu@agopian.info" target="_blank">mathieu@agopian.info</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<div dir="ltr"><div><div><div><div><br><br></div>Pour la lib python-xbee, est-ce qu'il faut donc au préalable configurer les XBees pour être en mode API ? Je pensais que c'était la lib elle-même qui s'en chargeait, du coup je comprends mieux que ça ne marche pas du tout ;)<br>


</div></div></div></div></blockquote><div>Oui, la lib python est purement pour la mode API, sinon il y a aussi miniterm.py qui est fourni avec python-serial qui marche trés bien. <br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<div dir="ltr"><div><div><div>
<br></div>Je vais continuer à fouiller un peu dans la lib python-xbee, voir par exemple si il y a un moyen "simple" d'envoyer des data sans se prendre la tête (sans avoir a définir le destinataire par exemple). Quand j'utilise le minicom, j'ai juste strictement rien à configurer (vu que les paramètres de configuration par défaut des XBee est d'avoir le même PAN ID pour tous, j'imagine que c'est pour ça que ça "juste marche", ça doit tout broadcaster).<br>



<br></div></div></div></blockquote><div><br></div><div>Pour que cela broadcast, il faut mettre en adresse SH=0x0000 et SL=0XFFFF d'aprés mes souvenirs. C'est la config par default. L'avant du mode API est d'avoir des fonctionnalité sympa comme la gestion du RSSI ou la gestion de la retransmission. Il est aussi possible de commander les pattes des xbee et de faire des acquisitions.<br>


<br>J'ai déjà eu quelques corruption en mode serie simple et le mode API s'occupe de détecter et de corriger cela.<br><br></div><div>Il y a un excellent manuel non officiel sur les xbee S1 (certaines choses s'appliquent sur les S2): <a href="http://www.science.smith.edu/~jcardell/Courses/EGR328/Readings/XBeeCookbook.pdf" target="_blank">http://www.science.smith.edu/~jcardell/Courses/EGR328/Readings/XBeeCookbook.pdf</a><br>


<br></div><div>Un des trucs sympa des series 1 est le I/O line passing qui permet de faire un pont wireless des entrée d'une XBEE vers une autre (les entrée de une sont reporté sur le sortie d'une autre).<br></div>


<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div></div>Bref, j'ai hâte de pouvoir en parler de vive voix. Pour le moment je reste peu convaincu : ça m'a l'air un brin trop complexe pour mes très modestes besoins, et surtout beaucoup trop cher à mon goût (16€ pour un XBee serie 1, +15€ pour le "support" et pour pouvoir communiquer facilement par usb). Je pense que c'est un brin trop pour mes idées toutes simples de "domotique" (piloter des prises télécommandées, envoyer/recevoir des données basiques genre capteur de conso, température...).<br>



<br></div>Mathieu<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">Le 9 décembre 2013 12:37, Etienne Guilluy <span dir="ltr"><<a href="mailto:Etienne.guilluy@gmail.com" target="_blank">Etienne.guilluy@gmail.com</a>></span> a écrit :<div>


<div><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/9 Mathieu AGOPIAN <span dir="ltr"><<a href="mailto:mathieu@agopian.info" target="_blank">mathieu@agopian.info</a>></span><br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div>Hello,<br></div></div>
<br></div><div>Deuxième soucis : toujours la même galère quand on démarre une RPi, on ne sait pas sur quelle adresse IP elle est allée se mettre, on ne sait pas quand elle a fini de démarrer, bref, un peu pénible, alors je me suis décidé à faire <a href="https://github.com/magopian/iplog" target="_blank">https://github.com/magopian/iplog</a>. C'est super pratique, je l'ai installé sur <a href="http://ip.agopian.info" target="_blank">http://ip.agopian.info</a> (vous pouvez l'utilisez si vous le souhaitez), et maintenant, dès que mes RPis démarrent, je vois une nouvelle entrée dans sur le site, avec l'adresse IP locale ;)<br>





</div></div></div></div></div></div></div></div></div></div></div></blockquote><div> </div><div>Il y a aussi la possibilité de rajouter une entrée dans le serveur DHCP pour avoir toujours la même adresse IP. <br><br></div>



<div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div dir="ltr"><div><div><div><div><div><div><div><div><div>
<br></div>J'ai ensuite pu faire joujou "pour de vrai" avec les deux XBee : déjà, il a fallut les reflasher (sous windows, avec XCTU, snirf). Ensuite, grâce à "minicom" (qu'on peut installer très facilement sous linux), j'ai pu envoyer des caractères de l'un (connecté en USB sur ma RPi) vers l'autre (connecté en USB sur mon laptop).<br>






<br></div></div></div></div></div></div></div></div></div></blockquote><div><br></div></div><div>X-CTU marche plustot bien sous wine, il y a seulement à télécharger l'update des firmware à la main car le systeme intégré ne marche pas (sa freeze et sa ne bouge plus aprés).<br>





<br></div><div>Sous wine, il faut mapper son port RS232 vers un port windows, cela sa fait grâce à un: ln -s /dev/ttyUSBX $HOME/.wine/dosdevices/com1 pour pouvoir mapper le /dev/ttyUSBX vers COM1.<br><br></div><div>Sous x-ctu il faut ensuite déclarer à la mano le port utilisé (COM1). Ensuite sa marche parfaitement (j'ai déjà updaté et reflashé une 10 aine de xbee sous linux)<br>





</div><div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div>

<br></div>J'ai ensuite essayé la librairie "python-xbee" (<a href="https://code.google.com/p/python-xbee/" target="_blank">https://code.google.com/p/python-xbee/</a>), et juste ça ne marche pas. Je n'arrive ni à envoyer, ni à recevoir, ni à exécuter des commandes AT (en sachant que pour python-xbee, si j'ai bien compris, il configure  les XBee en mode "API").<br>





</div></div></div></div></div></div></div></blockquote><div><br></div></div><div>La lib python-xbee ne marche qu'en mode API. Par defaut elle est configuré en mode API=1 (mode api sans escape), la lib xbee arduino utilise le mode API=2. Le param associé dans X-CTU est AP ou API si mes souvenirs sont bon<br>





<br></div><div>Pour pouvoir recevoir des trames, il faut faut passer un argument supplementaire au consutcteur: <b>escaped=True</b>.<br></div><div>Il faut aussi faire attention au type utilisé. Les xbee S1 utilisent la classe xbee.ieee.XBee, pour des S2 il faut utiliser  xbee.zigbee.ZigBee. Et dans le cas d'une xbee S1 flashé en digimesh, il faut utiliser les classes pour les S2 en python et lib arduino.<br>





</div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>
<br></div>Il faudra que je continue à investiguer là-dessus, voir si j'ai moyen de faire marcher le truc, sinon je poserai quelques lignes de code pour me simplifier la vie au lieu de travailler directement avec "pyserial" (<a href="http://pyserial.sourceforge.net/" target="_blank">http://pyserial.sourceforge.net/</a>) qui lui a l'air de fonctionner correctement.<br>






<br></div><br></div></div></div></div></div></blockquote></div></div></div></div>
</blockquote></div></div></div><br></div>
</blockquote></div><br></div></div>