{"id":2614,"date":"2020-08-22T16:18:38","date_gmt":"2020-08-22T16:18:38","guid":{"rendered":"http:\/\/blog.rastersoft.com\/?p=2614"},"modified":"2020-10-21T12:14:06","modified_gmt":"2020-10-21T12:14:06","slug":"a-ritmo-de-conga-11","status":"publish","type":"post","link":"https:\/\/blog.rastersoft.com\/?p=2614","title":{"rendered":"A ritmo de Conga (11)"},"content":{"rendered":"\n<p>Estos d\u00edas de vacas estuve a\u00fan haciendo alguna que otra cosita con la aspiradora. Para empezar, he portado el c\u00f3digo a <em><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.python.org\/3\/library\/asyncio.html\" target=\"_blank\">asyncio<\/a><\/em>, adem\u00e1s de permitir rotar el mapa y limpiar un poco el c\u00f3digo JavaScript de la app web.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter meme\"><video height=\"124\" style=\"aspect-ratio: 208 \/ 124;\" width=\"208\" controls src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/07\/freddie_vacuum.mp4\"><\/video><\/figure>\n\n\n\n<p>Sin embargo, por accidente me encontr\u00e9 con un serio problema de mi aspiradora. Todo empez\u00f3 un d\u00eda que, al mandarla limpiar, se par\u00f3 a los diez minutos sin venir a cuento. Le daba a limpiar de nuevo, se mov\u00eda un poco y volv\u00eda a detenerse&#8230; muy raro. Entonces me di cuenta de que la bater\u00eda estaba bajo m\u00ednimos, por debajo del 30%. Eso era muy raro, pues llevaba m\u00e1s de un d\u00eda cargando, pero supuse que, a lo mejor, no hab\u00eda enganchado bien, y no le di mayor importancia. La puse a cargar, y cuando estuvo al 100% la puse a limpiar sin m\u00e1s problema.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter meme\"><video height=\"114\" style=\"aspect-ratio: 200 \/ 114;\" width=\"200\" controls src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/06\/dunno.mp4\"><\/video><\/figure>\n\n\n\n<p>Sin embargo, un par de d\u00edas despu\u00e9s me di cuenta de que la aspiradora estaba constantemente conmutando de \u00abcargando\u00bb a \u00abcargada\u00bb cada diez-quince segundos pero la carga de la bater\u00eda estaba muy baja&#8230; bastante raro. Prob\u00e9 a quitarla de la base y a ponerla de nuevo y el problema pareci\u00f3 corregirse, pues ahora s\u00ed se puso a cargar y el nivel de la bater\u00eda empez\u00f3 a subir. Sin embargo me ocurri\u00f3 lo mismo unos d\u00edas despu\u00e9s, as\u00ed que decid\u00ed echar un vistazo a los <em>logs<\/em> de mi webapp, en concreto al nivel de la bater\u00eda, y me encontr\u00e9 con algo muy raro:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_1.png\" rel=\"lightbox-0\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_1-1024x519.png\" alt=\"\" class=\"wp-image-2618\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_1-1024x519.png 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_1-300x152.png 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_1-768x390.png 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_1-1536x779.png 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Ah\u00ed arriba vemos el hist\u00f3rico de la carga de la bater\u00eda. En azul est\u00e1 cuando la aspiradora est\u00e1 en la base carg\u00e1ndose, en verde cuando est\u00e1 en la base ya cargada, y en rojo cuando est\u00e1 limpiando. Y esos bloques de carga-cargada son bastante raros&#8230; Probemos a ampliar uno, a ver&#8230;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_2.png\" rel=\"lightbox-1\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_2-1024x519.png\" alt=\"\" class=\"wp-image-2619\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_2-1024x519.png 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_2-300x152.png 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_2-768x390.png 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_2-1536x779.png 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_2.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Efectivamente, es lo que hab\u00eda notado: pasa constantemente de \u00abcargando\u00bb a \u00abcargado\u00bb y viceversa, pero la bater\u00eda no parece cargarse sino todo lo contrario&#8230; al menos hasta llegar al 30%, que parece haberse puesto a cargar por fin&#8230; Ampliemos ese trozo a ver&#8230;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_3.png\" rel=\"lightbox-2\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_3-1024x519.png\" alt=\"\" class=\"wp-image-2620\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_3-1024x519.png 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_3-300x152.png 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_3-768x390.png 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_3-1536x779.png 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_3.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Efectivamente, parece que va alternando entre carga y cargado, y de pronto empieza a cargar de nuevo. Pero parece que hay algo en el punto en el que se arregla. Ampliemos un poco m\u00e1s&#8230;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_4.png\" rel=\"lightbox-3\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_4-1024x519.png\" alt=\"\" class=\"wp-image-2622\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_4-1024x519.png 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_4-300x152.png 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_4-768x390.png 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_4-1536x779.png 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/Figure_4.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>\u00a1Bingo! No s\u00f3lo est\u00e1 alternando constantemente entre ambos estados, sin cargar realmente la bater\u00eda, sino que hasta que le di la orden de separarse de la base y volver a ella la bater\u00eda no empez\u00f3 a cargarse de nuevo correctamente.<\/p>\n\n\n\n<p>Obviamente esto es bastante raro, y suena a <em>bug<\/em>: si alguien utiliza la aspiradora todos los d\u00edas o cada dos d\u00edas nunca notar\u00e1 este problema, pero si, como yo, la pasas cada tres d\u00edas, entonces te encuentras con \u00e9l.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter meme\"><video height=\"184\" style=\"aspect-ratio: 320 \/ 184;\" width=\"320\" controls src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/bomb.mp4\"><\/video><\/figure>\n\n\n\n<p>Esto es un problema bastante serio, pues la aspiradora consume bastante bater\u00eda en reposo al estar la WiFi constantemente encendida, por lo que, cuando empieza a hacer esto, la bater\u00eda se consume relativamente r\u00e1pido. Adem\u00e1s, no parece haber un periodo exacto tras el que ocurre, sino que aparentemente empieza entre 24 y 48 horas despu\u00e9s de la \u00faltima vez que empez\u00f3 a cargar.<\/p>\n\n\n\n<p>Obviamente esto no me hac\u00eda ninguna gracia: no s\u00f3lo puede suponer que cuando quiera usar la aspiradora \u00e9sta no est\u00e9 lista, sino que, encima, descargarse tant\u00edsimo no es nada bueno para las bater\u00edas.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter meme\"><video height=\"164\" style=\"aspect-ratio: 220 \/ 164;\" width=\"220\" controls src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/06\/fuck.mp4\"><\/video><\/figure>\n\n\n\n<p>Pero, afortunadamente&#8230; \u00a1\u00a1\u00a1Tengo el poder!!! La aspiradora est\u00e1 conectada a MI servidor, lo que significa que puedo a\u00f1adir algo de c\u00f3digo para detectar esta situaci\u00f3n. Es m\u00e1s, puedo a\u00f1adir algo m\u00e1s de c\u00f3digo para que cuando ocurra, autom\u00e1ticamente separe la aspiradora de la base y la vuelva a conectar. Y ya puestos, para que no haga demasiado ruido, poner el ventilador al m\u00ednimo durante la operaci\u00f3n y restaurar el valor original justo despu\u00e9s. Y dicho y hecho: ahora, cada vez que el servidor detecta que la bater\u00eda pasa de \u00abcargando\u00bb con una carga del 80% o menos a \u00abcargado\u00bb tres veces seguidas, autom\u00e1ticamente da la orden de separarse de la base y conectarse de nuevo.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2020\/08\/sin-nombre.mp4\"><\/video><\/figure>\n\n\n\n<p>Ah, y el trozo de cart\u00f3n es porque esa parte del suelo est\u00e1 muy pulida y resbaladiza, y las ruedas no siempre consiguen hacer tracci\u00f3n a la hora de separarse de la base.<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.rastersoft.com\/?p=2632\">Parte 12<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estos d\u00edas de vacas estuve a\u00fan haciendo alguna que otra cosita con la aspiradora. Para empezar, he portado el c\u00f3digo a asyncio, adem\u00e1s de permitir rotar el mapa y limpiar un poco el c\u00f3digo JavaScript de la app web. Sin embargo, por accidente me encontr\u00e9 con un serio problema de mi aspiradora. Todo empez\u00f3 un &hellip; <a href=\"https:\/\/blog.rastersoft.com\/?p=2614\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">A ritmo de Conga (11)<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,16,5,7],"tags":[],"class_list":["post-2614","post","type-post","status-publish","format-standard","hentry","category-cacharreo","category-opendonita","category-programacion","category-tutoriales"],"_links":{"self":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/2614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2614"}],"version-history":[{"count":9,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/2614\/revisions"}],"predecessor-version":[{"id":2643,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/2614\/revisions\/2643"}],"wp:attachment":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}