{"id":456,"date":"2010-09-16T00:37:54","date_gmt":"2010-09-15T23:37:54","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=456"},"modified":"2010-09-16T00:37:54","modified_gmt":"2010-09-15T23:37:54","slug":"gestion-fuera-de-banda-primera-parte-la-idea","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=456","title":{"rendered":"Gesti\u00f3n fuera de banda: primera parte (La idea)"},"content":{"rendered":"<p>En el art\u00edculo anterior habl\u00e1bamos de crear una soluci\u00f3n para la gesti\u00f3n y monitorizaci\u00f3n de CPD&#8217;s compuesta por una serie de elementos sencillos y su integraci\u00f3n posterior.<\/p>\n<p>El primer elemento de la lista es un mote que nos permita conetar con la c\u00f3nsola serie de los dispositivos (supongamos un router) incluso en condiciones de caida de la red para gestionarlos de forma remota, los requerimientos inciales deben de ser los siguientes:<\/p>\n<ul>\n<li>Una unidad de radio Zigbee que tenga una conexi\u00f3n RS232 deseablemente con formato DB9<\/li>\n<li>Un mecanismo para crear un t\u00fanel que vaya desde la UART de la radio del mote hasta un socket en la red Ethernet<\/li>\n<li>Un mecanismo para poder utilizarlo incluso en condiciones de caida de la red (recordemos que una posibilidad es la monitorizaci\u00f3n o el reinicio de un dispositivo de red que puede estar \u00abcolgado\u00bb, hay situaciones en las que puede resultar absurda la conexi\u00f3n desde la misma red de la que pretendemos reiniciar un equipo porque no funciona.<\/li>\n<\/ul>\n<p>El dise\u00f1o del HW del mote es muy sencillo, necesitamos la radio Xbee, un conversor de RS232 a TTL (como por ejemplo el integrado MAX232) y los elementos necesarios para alimentarlo. La intenci\u00f3n es dise\u00f1ar un mote compacto y resolver la forma de alimentarlo de forma aut\u00f3noma, en pr\u00f3ximos art\u00edculos publicaremos el esquema y el dise\u00f1o de la placa, de momento para hacer las pruebas podemos utilizar algo ya construido, como por ejemplo el <a href=\"http:\/\/www.sparkfun.com\/commerce\/product_info.php?products_id=9111\" target=\"_blank\">Xbee explorer serial de Sparkfun<\/a><\/p>\n<div id=\"attachment_457\" style=\"width: 310px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/09\/Xbee-serial.jpg\"><img aria-describedby=\"caption-attachment-457\" loading=\"lazy\" class=\"size-medium wp-image-457\" title=\"Xbee-serial\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/09\/Xbee-serial-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/09\/Xbee-serial-300x300.jpg 300w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/09\/Xbee-serial-150x150.jpg 150w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/09\/Xbee-serial.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-457\" class=\"wp-caption-text\">Conversor Xbee Serial<\/p><\/div>\n<p>\u00a0Como lo que queremos es simplemente emular una conexi\u00f3n serie configuraremos la radio de Digi en modo AT.<\/p>\n<p>En nuestra red Zigbe tenemos un gateway X4 o X2, que actua como coordinador de la red Zigbee, gateway con la Ethernet (primer punto de acceso) y con un m\u00f3dem HDSPA como acceso alternativo en caso de fallo de la red.<\/p>\n<p>Los par\u00e1metros de configuraci\u00f3n de la radio (m\u00e1s significativos) son:<\/p>\n<ul>\n<li>Function Set -&gt; Zigbee end device AT (posteriormente intentaremos que duerma, por eso es un end device)<\/li>\n<li>Zigbee Stack profile -&gt; 2<\/li>\n<li>Zigbee Cluster ID -&gt; 11 (el de Digi)<\/li>\n<li>Zigbee Destination End Point -&gt; 0xE8<\/li>\n<\/ul>\n<p>(los otros mil par\u00e1metros los podemos dejar por defecto de momento)<\/p>\n<p>Una vez configurada la radio con el X-CTU podemos conectarla a la placa, alimentar la placa y verificar en el Gateway que esta radio forma parte de la red Zigbee.<\/p>\n<p>En el Gateway subimos los ficheros xbee_generator.py y xbee_transport.py\u00a0 (los a\u00f1adir\u00e9 a una pr\u00f3xima entrada). Ahora arrancamos la aplicaci\u00f3n, para ello abrimos una sesi\u00f3n telnet contra el gateway, y ejecutamos \u00abPython xbee_generator.py\u00bb. El gateway crear\u00e1 un fichero de texto bind_table.py en el que aparecen todos los nodos de la red y a cada uno se asigna un puerto ethernet comenzando por el 4000.<\/p>\n<p>En una segunda fase habr\u00eda que trabajarse alg\u00fan interfaz para poder generar y subir este fichero de una forma m\u00e1s amigable, tambi\u00e9n lo veremos m\u00e1s adelante. Ahora, aprovechando la sesi\u00f3n abierta ejecutamos \u00abPython xbee_transport.py\u00bb en el gateway, con lo que pondremos al gateway a escuchar en cada uno de los puertos asignados.<\/p>\n<p>Suponiendo que el generador le haya asignado a nuestro nodo el puerto 4002 podemos hacer un telnet a la Ip del Gateway en el puerto 4002, en nuestra sesi\u00f3n del telnet tendremos el puerto serie del dispositivo, as\u00ed de f\u00e1cil.<\/p>\n<p>Esto es extensible a un puerto USB, utilizando por ejemplo un USB stick y es igual de f\u00e1cil.<\/p>\n<p>Soy perfectamente consciente de que el art\u00edculo no describe exactamente y paso por paso la soluci\u00f3n, pero quedar\u00eda infinito y espeso, si necesitais ayuda publicar un comentario, si teneis buenas ideas para mejorarlo daros de alta en la p\u00e1gina y publicar un art\u00edculo, seguro que con vuestras aportaciones construimos algo mejor.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el art\u00edculo anterior habl\u00e1bamos de crear una soluci\u00f3n para la gesti\u00f3n y monitorizaci\u00f3n de CPD&#8217;s compuesta por una serie de elementos sencillos y su integraci\u00f3n posterior. El primer elemento de la lista es un mote que nos permita conetar&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=456\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":6,"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":[16,19,2,10],"tags":[56,75,76,110,111,127,197],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/456"}],"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\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=456"}],"version-history":[{"count":0,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/456\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}