{"id":1155,"date":"2012-02-28T17:28:57","date_gmt":"2012-02-28T16:28:57","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=1155"},"modified":"2016-02-26T02:12:14","modified_gmt":"2016-02-26T01:12:14","slug":"bmotesgateway-para-opendomo","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=1155","title":{"rendered":"bMotesGateway para Opendomo"},"content":{"rendered":"<p>En los post anteriores habl\u00e1bamos de la integraci\u00f3n con la soluci\u00f3n de dom\u00f3tica de Opendomo, ayer podr\u00eda decir que despu\u00e9s de un mes de trabajo ten\u00eda un prototipo acabado y funcionando sin problemas. En este momento no lo puedo decir, aunque espero resolver los problemas que tengo en unas horas.<\/p>\n<p>El desarrollo inicial de este prototipo est\u00e1 basado en el Domino de Opendomo, partiendo de su sketch he ido a\u00f1adiendo la capa del Zigbee, cambiando cosas y eliminando otras para tener un tama\u00f1o razonable del programa. Al final del proceso tengo algo compatible con Opendomo, aprovecho la estructura y las buenas ideas, pero me han quedado muy pocas l\u00edneas del c\u00f3digo original.<\/p>\n<p>He aprendido mucho, algunas de las cosas que he aprendido son:<\/p>\n<ul>\n<li>Que el entorno Arduino no es adecuado para proyectos grandes o que est\u00e1n muy al l\u00edmite de la capacidad de la placa.<\/li>\n<li>Que me hace falta encontrar una soluci\u00f3n para poder depurar, especialmente para poder averiguar la RAM que consumo<\/li>\n<li>Que hay que hacer backup con m\u00e1s frecuencia.<\/li>\n<li>Que para resolver los problemas esot\u00e9ricos, hace falta estar despejado.<\/li>\n<\/ul>\n<p>Algunos problemas los he resuelto instalando el entorno de Arduino sobre Visual Studio 2012, el desarrollo en programas grandes se simplifica un poquito.<\/p>\n<p>En todo caso la intenci\u00f3n de este post era doble, por un lado mostrar como funciona el gateway internamente y por otro pedir ayuda, a ver si a alguien tiene una idea sobre que c&#8230; (la palabra es cojones, pero la omito por autocensura) que puede estar pasando.<\/p>\n<p>Primero la ayuda: como ten\u00eda serios problemas de RAM, para no centrarme en eso empec\u00e9 el desarrollo en una placa Mega, con la intenci\u00f3n de que, una vez estuviera funcionando, reducir el programa para meterlo en una placa m\u00e1s adecuada. Al final m\u00e1s de la mitad de tiempo del desarrollo lo he dedicado a reducirlo. Una vez reducido porto el sketch a la placa y el Xbee aparentemente no comunica (no env\u00eda ni recibe paquetes), en el montaje utilizo Ethernet, Xbee, \u00bfalguien tiene una idea brillante sobre lo que pueda estar pasando?. De hecho eso me ha provocado un problema, en las pruebas me he cargado el m\u00f3dulo Xbee que hace de coordinador y, los que sepan de Xbee, tendr\u00e1n una idea de lo dif\u00edciles que son de convencer los routers de que tienen que utilizar una nueva red.<\/p>\n<p>&nbsp;<\/p>\n<p>Ahora la informaci\u00f3n: He hecho un peque\u00f1o flowchart de como funciona el gateway, l\u00f3gicamente empieza por el Setup, que mira si hay una configuraci\u00f3n de red guardada para aprovechar el orden de los nodos, descubre la red para asegurarse de que est\u00e1n los mismos, recoge los identificadores de los nodos para saber que producto son y las puertas que deben de tener activadas, etc. Despu\u00e9s entramos en el loop (que adem\u00e1s de otras funciones propias del Domino) mira\u00a0peri\u00f3dicamente\u00a0si le llegan paquetes \u00a0y hace con ellos lo que tiene que hacer: dar de alta un nodo si es nuevo, escribir un valor en un puerto del Domino o activar desactivar una entrada f\u00edsica de un nodo. En todo caso aqui os dejo el flowchart.<\/p>\n<div id=\"attachment_1156\" style=\"width: 220px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2012\/02\/VisiobMotes.png\"><img aria-describedby=\"caption-attachment-1156\" loading=\"lazy\" class=\"size-medium wp-image-1156\" title=\"VisiobMotes\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2012\/02\/VisiobMotes-210x300.png\" alt=\"\" width=\"210\" height=\"300\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2012\/02\/VisiobMotes-210x300.png 210w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2012\/02\/VisiobMotes.png 682w\" sizes=\"(max-width: 210px) 100vw, 210px\" \/><\/a><p id=\"caption-attachment-1156\" class=\"wp-caption-text\">Flowchart de la parte Zigbee del Gateway (pulsa para alta resoluci\u00f3n)<\/p><\/div>\n<p>Solo me queda esperar a que me llegue la inspiraci\u00f3n y resolver mis problemas, una vez resuelto el problema os prometo:<\/p>\n<ul>\n<li>Un dimmer integrable con esto con m\u00e1s resoluci\u00f3n.<\/li>\n<li>Un control de accesos RFID<\/li>\n<li>Sensores PIR<\/li>\n<li>y mucho m\u00e1s&#8230;.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>En los post anteriores habl\u00e1bamos de la integraci\u00f3n con la soluci\u00f3n de dom\u00f3tica de Opendomo, ayer podr\u00eda decir que despu\u00e9s de un mes de trabajo ten\u00eda un prototipo acabado y funcionando sin problemas. En este momento no lo puedo decir,&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=1155\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":1156,"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":[14,16,2,20,21,9],"tags":[59,109,110,126,197],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/1155"}],"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=1155"}],"version-history":[{"count":1,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/1155\/revisions"}],"predecessor-version":[{"id":7588,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/1155\/revisions\/7588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/media\/1156"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}