{"id":104,"date":"2010-05-02T23:33:45","date_gmt":"2010-05-02T23:33:45","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=104"},"modified":"2010-05-02T23:33:45","modified_gmt":"2010-05-02T23:33:45","slug":"recuperando-el-hilo-de-la-publicacion-en-pachube","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=104","title":{"rendered":"Recuperando el hilo de la publicaci\u00f3n en Pachube"},"content":{"rendered":"<p style=\"text-align: justify;\">En un art\u00edculo anterior abandon\u00e9 el intento de publicar la informaci\u00f3n recogida en pachube en formato EEML. Despu\u00e9s de un par de d\u00edas de intentos infructuosos aparqu\u00e9 temporalmente el tema, estaba seguro de que comet\u00eda un error \u00abtonto\u00bb.<\/p>\n<p style=\"text-align: justify;\">Tal como pensaba se trataba de un error bastante tonto, haciendo unas pruebas de publicar desde un gateway de Digi me he dado cuenta.<\/p>\n<p style=\"text-align: justify;\">La informaci\u00f3n enviada por el microprocesador a trav\u00e9s de ethernet era la siguiente:<\/p>\n<blockquote style=\"text-align: justify;\"><p>PUT \/api\/feeds\/6900.xml HTTP\/1.1<br \/>\nUser-Agent: Fluffy Arduino Ver 0.01<br \/>\nHost: <a href=\"http:\/\/www.pachube.com\/\">www.pachube.com<\/a><br \/>\nAccept: *\/*<br \/>\nX-PachubeApiKey: 2f06b6065c164ffa2c237b2979e648782236892244d3a7304a68d3965836a817<br \/>\nContent-Length: 323<br \/>\nContent-Type: application\/xml; charset=utf-8<\/p>\n<p>&lt;?xml version=\u00bb1.0&#8243; encoding=\u00bbUTF-8&#8243;?&gt;<br \/>\n&lt;eeml xmlns=\u00bb<a href=\"http:\/\/www.eeml.org\/xsd\/005\">http:\/\/www.eeml.org\/xsd\/005<\/a>\u00bb xmlns:xsi=\u00bb<a href=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\">http:\/\/www.w3.org\/2001\/XMLSchema-instance<\/a>\u00bb version=\u00bb5&#8243; xsi:schemaLocation=\u00bb<a href=\"http:\/\/www.eeml.org\/xsd\/005\">http:\/\/www.eeml.org\/xsd\/005<\/a> <a href=\"http:\/\/www.eeml.org\/xsd\/005\/005.xsd\">http:\/\/www.eeml.org\/xsd\/005\/005.xsd<\/a>\u00ab&gt;<br \/>\n&lt;environment&gt;<br \/>\n&lt;data id=\u00bb0\u00bb&gt;<br \/>\n&lt;value&gt;22.50&lt;\/value&gt;<br \/>\n&lt;\/data&gt;<br \/>\n&lt;\/environment&gt;<br \/>\n&lt;\/eeml&gt;<\/p><\/blockquote>\n<p style=\"text-align: justify;\">En la cabecera Content-Length se le pasa al pachube el n\u00famero de bytes enviados, el m\u00e9todo que he utilizado para contarlos es pegar el texto en un documento de word y mirar en las propiedades el n\u00famero de car\u00e1cteres.<\/p>\n<p style=\"text-align: justify;\">Ese ha sido el problema, al final de cada l\u00ednea hay un retorno de carro y un salto de l\u00ednea, por lo que hay que sumar al n\u00famero de car\u00e1cteres el n\u00famero de l\u00edneas multiplicado por dos.<\/p>\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: justify;\">\u00a0<\/div>\n<p style=\"text-align: justify;\">La respuesta del servidor ahora es:<\/p>\n<blockquote style=\"text-align: justify;\"><p>HTTP\/1.1 200 OK<\/p>\n<div class=\"mceTemp mceIEcenter\">\u00a0<\/div>\n<p>Server: nginx\/0.6.34<br \/>\nDate: Sun, 02 May 2010 22:03:15 GMT<br \/>\nContent-Type: application\/xml; charset=utf-8<br \/>\nConnection: keep-alive<br \/>\nX-Runtime: 96<br \/>\nCache-Control: private, max-age=0, must-revalidate<br \/>\nContent-Length: 1<br \/>\nSet-Cookie: _pachube_app_session=53fd7ebfd466997621d24f108aa465e0; path=\/; expires=Sun, 02 May 2010 23:03:15 GMT; HttpOnly<br \/>\nVary: Accept-Encoding<\/p><\/blockquote>\n<p style=\"text-align: justify;\">\u00a0En la depuraci\u00f3n del problema intent\u00e9 utlizar el Telnet de Windosw para diagnosticar, mi objetivo era hacer un telnet por el puerto 80 a <a href=\"http:\/\/www.pachube.com\">www.pachube.com<\/a>, pegar el texto y ver la respuesta, pero tampoco funcionaba. El telnet de Windows intenta hacer un \u00abhello\u00bb por el puerto, con lo que la respuesta del servicio web de pachube es inv\u00e1lida. La soluci\u00f3n es utilizar un cliente de Telnet que permita hacer conexiones RAW, como el PuTTY.<\/p>\n<p style=\"text-align: justify;\">\n<div id=\"attachment_105\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/putty.jpg\"><img aria-describedby=\"caption-attachment-105\" loading=\"lazy\" class=\"size-medium wp-image-105\" title=\"putty\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/putty-300x290.jpg\" alt=\"\" width=\"300\" height=\"290\" \/><\/a><p id=\"caption-attachment-105\" class=\"wp-caption-text\">Pantalla de configuraci\u00f3n del cliente tennet PuTTY<\/p><\/div>\n<p style=\"text-align: justify;\">Ahora ya tenemos al micro enviando los resultados a Pachube\u00a0por Ethernet:<\/p>\n<p style=\"text-align: justify;\">\n<div id=\"attachment_106\" style=\"width: 327px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/grafPachube.jpg\"><img aria-describedby=\"caption-attachment-106\" loading=\"lazy\" class=\"size-full wp-image-106\" title=\"grafPachube\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/grafPachube.jpg\" alt=\"\" width=\"317\" height=\"162\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/grafPachube.jpg 317w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/grafPachube-300x153.jpg 300w\" sizes=\"(max-width: 317px) 100vw, 317px\" \/><\/a><p id=\"caption-attachment-106\" class=\"wp-caption-text\">Gr\u00e1fico generado en la p\u00e1gina de Pachube<\/p><\/div>\n<p style=\"text-align: justify;\">Una vez m\u00e1s se confirma mi teor\u00eda, cuando te \u00abatascas\u00bb y has agotado todos los recursos \u00abrazonables\u00bb, lo mejor es dejar de pensar unos d\u00edas. Puedes trabajar en otras cosas, al final la soluci\u00f3n viene como por arte de magia&#8230;..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intent\u00e1ba hace unos d\u00edas publicar la informaci\u00f3n capturada por un microprocesador en la web de Pachube. Despues de un par de d\u00edas llegu\u00e9 a la conclusi\u00f3n de que se me escapaba alg\u00fan problema \u00abtonto\u00bb y decid\u00ed aparcarlo temporalmente. Este art\u00edculo confirma que, tal y como pensaba, se trataba de un problema \u00abtonto\u00bb.<\/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":[4,20,11],"tags":[109,128],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/104"}],"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=104"}],"version-history":[{"count":0,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/104\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}