{"id":384,"date":"2010-07-06T23:59:20","date_gmt":"2010-07-06T22:59:20","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=384"},"modified":"2010-07-06T23:59:20","modified_gmt":"2010-07-06T22:59:20","slug":"motes-segunda-parte-configurando-el-xbee","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=384","title":{"rendered":"Motes: Segunda parte, configurando el Xbee"},"content":{"rendered":"<div class=\"mceTemp mceIEcenter\">\n<div class=\"mceTemp mceIEcenter\">\u00a0<\/div>\n<p>\u00a0<\/p><\/div>\n<p>Continuando con el art\u00edculo anterior ahora tenemos que configurar la radio Xbee.<\/p>\n<p>Las radios Xbee incorporan un chip de radio Zigbee y un microprocesador de Ember (a partir de la versi\u00f3n2,5). Aunque disponen de un header para poder programar el micro con los kits de desarrollo de Ember los firmwares que proporciona el fabricante proveen de unas funcionalidades b\u00e1sicas para construir motes con una circuiter\u00eda m\u00ednima, como el del art\u00edculo anterior.<\/p>\n<p>Configuramos el Xbee a trav\u00e9s de su UART, podemos comunicar de varias formas:<\/p>\n<ul>\n<li>Con un cable conversor USB UART de FTDI.<\/li>\n<li>Con una tarjeta Arduino duemilanove a la que le hemos sacado el micro y una Xbee Shield.<\/li>\n<li>Con una tarjeta serie o USB del kit de desarrollo de Digi.<\/li>\n<li>Con una tarjeta USB Explorer.<\/li>\n<\/ul>\n<p>El m\u00e9todo que he escogido en esta ocasi\u00f3n es el de la tarjeta\u00a0Xbee explorer:<\/p>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: center;\">\u00a0<\/div>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">\n<dl id=\"attachment_385\" class=\"wp-caption aligncenter\" style=\"width: 310px;\">\n<dt class=\"wp-caption-dt\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/07\/XbeeExplorer.jpg\"><img loading=\"lazy\" class=\"size-medium wp-image-385\" title=\"XbeeExplorer\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/07\/XbeeExplorer-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/07\/XbeeExplorer-300x300.jpg 300w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/07\/XbeeExplorer-150x150.jpg 150w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/07\/XbeeExplorer.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/dt>\n<dd class=\"wp-caption-dd\">Tarjeta Xbee Explorer<\/dd>\n<\/dl>\n<p>Los m\u00f3dulos Xbee funcionan a 3,3V, por lo que la tarjeta incorpora un regulador de tensi\u00f3n para reducir los 5V de la tensi\u00f3n del USB a la que utiliza la tarjeta, adem\u00e1s regula el valor de las tensiones de la se\u00f1al de comunicaciones. Para poder comunicar mediante USB incorpora un conversor de FTDI de USB a UART. Al final la tarjeta tiene un puerto USB y es capaz de comunicar con la UART de una radio Xbee conectada en su z\u00f3calo.<\/p><\/div>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">\u00a0<\/div>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">La instalaci\u00f3n de los drivers es sencilla, la tarjeta es reconocida por el ordenador como un puerto COM virtual<\/div>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">\u00a0<\/div>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">Para configurar el M\u00f3dulo Xbee el firmware dispone de unos registros (algunos de los cuales var\u00edan en funci\u00f3n.\u00a0de la versi\u00f3n de FW instalada). Los m\u00f3dulos Xbee tienen tres modos de funcionamiento:<\/div>\n<ul>\n<li>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">Modo AT, los par\u00e1metros se pasan como comandos AT (al modo cl\u00e1sico de los m\u00f3dems Hayes), la configuraci\u00f3n se puede hacer con un emulador de terminal.<\/div>\n<\/li>\n<li>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">Modo API, las comunicaciones con el m\u00f3dulo se hacen enviando unos paquetes con un formato definido en la API de Digi, en el receptor se reciben tambi\u00e9n con un formato definido en la API.<\/div>\n<\/li>\n<li>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">Modo API con secuencias de escape, la API de Digi tiene un car\u00e1cter concreto (la tilde -ASCII 126) que se utiliza para identificar el pincipio del paquete, como en el payload del paquete se puede enviar cualquier cosa hay determinadas secuencias que se \u00abescapan\u00bb para que no se confundan con el inicio de un paquete de datos.<\/div>\n<\/li>\n<\/ul>\n<p class=\"mceTemp mceIEcenter\" style=\"text-align: left;\">Digi tiene una aplicaci\u00f3n que se llama X-CTU que sirve para configurar sus m\u00f3dulos, actualizar\u00a0los firmwares, etc. en esta aplicaci\u00f3n se seleccionar\u00e1 el\u00a0puerto serie virtual que nos ha instalado\u00a0la tarjeta Xbee explorer, configuraremos los par\u00e1metros de la UART y el modo de configuraci\u00f3n, si todo es correcto en la solapa m\u00f3dem configuration podremos leer los\u00a0par\u00e1metros que tiene configurado el m\u00f3dem.\u00a0<\/p>\n<p>\u00a0No es mi objetivo dar la configuraci\u00f3n completa de todos los par\u00e1metros del m\u00f3dulo, pero resumo a continuaci\u00f3n los m\u00e1s importantes para lo que queremos conseguir (un mote que duerma, que se despierte cada cierto tiempo y que env\u00ede la lectura de dos entradas anal\u00f3gicas a intervalos fijos):<\/p>\n<ul>\n<li>SM- Sleep mode -&gt; 4 &#8211; CYCLIC SLEEP<\/li>\n<li>ST- Time before Sleep -&gt; 500 ms (el tiempo de inacividad despues del cual la radio empezar\u00e1 a dormir)<\/li>\n<li>SP- Cyclic Sleep Period -&gt; 400 (+10 ms)<\/li>\n<li>SN- Number os cycles to power down-&gt; 1<\/li>\n<li>SO- Sleep Options -&gt;0<\/li>\n<li>PO-Poll rate -&gt; 0<\/li>\n<li>DO- AD0\/DIO1 Configuration -&gt; 1 &#8211; COMMISSIONING BUTTON<\/li>\n<li>D1- AD1\/DIO2 Configuration -&gt; 2 &#8211; ADC (indicamos que es una entrada anal\u00f3gica)<\/li>\n<li>D2- AD2\/DIO3 Configuration -&gt; 2 &#8211; ADC (indicamos que es una entrada anal\u00f3gica)<\/li>\n<\/ul>\n<p>El resto de los par\u00e1metros no es muy significativo (directamente con la aplicaci\u00f3n que tenemos)<\/p>\n<p>Fijaros que hemos configurado el m\u00f3dulo para que: duerma y despierte ciclicamente para ahorrar energ\u00eda, el periodo de inactividad antes de dormirse sea de medio segundo, nos env\u00ede la lectura al coordinador cada 4 segundos, que esto lo haga cada ciclo (poniendo a dos el registro SN nos enviar\u00eda el dato cada 8 segundos). Adem\u00e1s le hemos dicho que en el puerto AD0 tenemos el bot\u00f3n de commisioning, el ep puerto AD1 una entrada anal\u00f3gica y en el puerto AD2 otra entrada anal\u00f3gica.<\/p>\n<p>\u00bfy a donde va a parar esto?, pues a la direcci\u00f3n configurada en los registros DH y DL (destination Hight y low), o en su defecto al coordinador. Lo importante es que ya tenemos el dato en la red Zigbee la red se ha constituido de forma transparente gracias el FW de los m\u00f3dulos Xbee.<\/p>\n<p>El Xbee Explorer lo podemos comprar en cualquier tienda de productos para Geeks como por ejemplo <a href=\"http:\/\/www.bricogeek.com\">http:\/\/www.bricogeek.com<\/a> o el <a href=\"http:\/\/www.libelium.com\">http:\/\/www.libelium.com<\/a> en Espa\u00f1a, no es dif\u00edcil de encontrar en caso cualquier parte del mundo.<\/p>\n<p>En proximos art\u00edculos veremos que hacemos con esta informaci\u00f3n que ya tenemos en la red Zigbee.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 Continuando con el art\u00edculo anterior ahora tenemos que configurar la radio Xbee. Las radios Xbee incorporan un chip de radio Zigbee y un microprocesador de Ember (a partir de la versi\u00f3n2,5). Aunque disponen de un header para poder&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=384\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[15,16,2,4,20,9],"tags":[56,62,99,109,110,111,173,197],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/384"}],"collection":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=384"}],"version-history":[{"count":0,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/384\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}