{"id":3934,"date":"2021-10-24T12:20:49","date_gmt":"2021-10-24T17:20:49","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/girni\/?p=3934"},"modified":"2026-08-04T10:33:13","modified_gmt":"2026-08-04T15:33:13","slug":"lorawan-registro-lectura-datos-sensor","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/lorawan-registro-lectura-datos-sensor\/","title":{"rendered":"2. Registros.db - Obtener desde Home Assistant"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#registro\">Registro<\/a><\/p>\n\n\n\n<p><a href=\"#copiaremota\">copia remota<\/a><\/p>\n\n\n\n<p><a href=\"#dbjson\">.db a .json<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"registro\">2.1 Registro de datos del sensor<\/h2>\n\n\n\n<p>Los datos de dispositivo sensor o actuador son enviados hacia un gestor de datos como Home-assistant. Dadas las condiciones de limitado acceso a internet en en el sector agr\u00edcola, es posible descargar los registros para su posterior an\u00e1lisis desde un computador conectado a la misma red de datos \u2018LAN\u2019.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/02\/ProcesaDatosSinConexion01.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1157\" height=\"354\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/02\/ProcesaDatosSinConexion01.png\" alt=\"\" class=\"wp-image-3935\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/02\/ProcesaDatosSinConexion01.png 1157w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/02\/ProcesaDatosSinConexion01-300x92.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/02\/ProcesaDatosSinConexion01-768x235.png 768w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/02\/ProcesaDatosSinConexion01-1024x313.png 1024w\" sizes=\"auto, (max-width: 1157px) 100vw, 1157px\" \/><\/a><\/figure>\n\n\n\n<p>Los datos de sensor se registran en Home-Assistant en la base de datos SQL.<\/p>\n\n\n\n<p>En la situaci\u00f3n presentada sin acceso a internet, el acceso a los datos se realiza de forma local y peri\u00f3dica copiando los datos del archivo <code>Home-assistant_v2.db<\/code>. La copia del archivo se puede realizar con:<\/p>\n\n\n\n<p>- Una memoria USB conectada en el servidor \"Raspberry Pi\"<\/p>\n\n\n\n<p>- Copia del archivo por medio de la red LAN (Ethernet\/Wifi)<\/p>\n\n\n\n<p>La lectura del archivo <code>Home-assistant_v2.db<\/code>. puede realizarse usando <a href=\"https:\/\/sqlitebrowser.org\/dl\/\">DBbrowser<\/a> y luego exportarlo en formato csv o json.<\/p>\n\n\n\n<p>El proceso de an\u00e1lisis de datos se lo realiza usando una hoja electr\u00f3nica o un algoritmo en Python.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#registro\">Registro<\/a><\/p>\n\n\n\n<p><a href=\"#copiaremota\">copia remota<\/a><\/p>\n\n\n\n<p><a href=\"#dbjson\">.db a .json<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"copiaremota\">2.2 Copia remota de archivo home-assistant_v2.db<\/h2>\n\n\n\n<p>Para facilitar el procesamiento de los registros, se obtiene una copia de forma remota del archivo de la base de datos, usando una instrucci\u00f3n en la l\u00ednea de comandos de Windows.<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code><code><strong><em>scp pi<span class=\"\">@192.168<\/span>.xx.xx:\/home\/homeassistant\/.homeassistant\/home-assistant_v2.db D:\\Downloads<\/em><\/strong><\/code><\/code><\/pre>\n\n\n\n<p>En la primera parte se indica el usuario '<em><strong>pi<\/strong><\/em>' en la direcci\u00f3n '<em><strong><span class=\"\">192.168<\/span>.xx.xx<\/strong><\/em>', la \u00faltima parte de la instrucci\u00f3n indica el directorio de descarga local en la m\u00e1quina desde que se conecta.<\/p>\n\n\n\n<p>Al ejecutar la instrucci\u00f3n se requerir\u00e1 la contrase\u00f1a asignada al usuario '<em>pi<\/em>' u otro asignado. De ser aceptada la conexi\u00f3n, se inicia el proceso de descarga del archivo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#registro\">Registro<\/a><\/p>\n\n\n\n<p><a href=\"#copiaremota\">copia remota<\/a><\/p>\n\n\n\n<p><a href=\"#dbjson\">.db a .json<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dbjson\">2.3 Formato.db convertir a.json <\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: <a href=\"https:\/\/sqlitebrowser.org\/\">https:\/\/sqlitebrowser.org\/<\/a><\/p>\n\n\n\n<p>Para facilitar lectura del archivo se puede usar un programa como \"<strong>DB Browser<\/strong>\" que permite abrir el archivo.db y observar los registros de la tabla de estados ('states'), as\u00ed como exportar en formato \".csv\" o \".json\".<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser01.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1061\" height=\"579\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser01.png\" alt=\"\" class=\"wp-image-3793\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser01.png 1061w, https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser01-300x164.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser01-768x419.png 768w, https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser01-1024x559.png 1024w\" sizes=\"auto, (max-width: 1061px) 100vw, 1061px\" \/><\/a><\/figure>\n\n\n\n<p>Si se ha almacenado en atributos los datos de cada trama, se prefiere usar el formato 'json' y la librer\u00eda json de Python para leer, seleccionar&nbsp; procesar los registros.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser02.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1060\" height=\"574\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser02.png\" alt=\"\" class=\"wp-image-3794\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser02.png 1060w, https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser02-300x162.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser02-768x416.png 768w, https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser02-1024x555.png 1024w\" sizes=\"auto, (max-width: 1060px) 100vw, 1060px\" \/><\/a><\/figure>\n\n\n\n<p>Seleccione la tabla \"states\" para disponer de los registro de estado de sensores en un nuevo archivo.json.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser03.png\"><img loading=\"lazy\" decoding=\"async\" width=\"526\" height=\"408\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser03.png\" alt=\"\" class=\"wp-image-3796\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser03.png 526w, https:\/\/blog.espol.edu.ec\/girni\/files\/2021\/10\/DBBrowser03-300x233.png 300w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/a><\/figure>\n\n\n\n<p>El resultado debe ser un archivo semejante al presentado como ejemplo<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.dropbox.com\/scl\/fi\/to49zdkw7e8yb5mbdgjkw\/states20211022.json?rlkey=q2z3hq4octqeylok4fazav0j0&amp;st=18rnjf46&amp;dl=0\">states20211022.json<\/a><\/p>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Base de datos de Home-assistant. <a href=\"https:\/\/www.home-assistant.io\/docs\/backend\/database\/\">https:\/\/www.home-assistant.io\/docs\/backend\/database\/<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#registro\">Registro<\/a><\/p>\n\n\n\n<p><a href=\"#copiaremota\">copia remota<\/a><\/p>\n\n\n\n<p><a href=\"#dbjson\">.db a .json<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Registro copia remota .db a .json 2.1 Registro de datos del sensor Los datos de dispositivo sensor o actuador son enviados hacia un gestor de datos como Home-assistant. Dadas las condiciones de limitado acceso a internet en en el sector agr\u00edcola, es posible descargar los registros para su posterior an\u00e1lisis desde un computador conectado a [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1466681],"tags":[],"class_list":["post-3934","post","type-post","status-publish","format-standard","hentry","category-lorawan-propagacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/3934","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/comments?post=3934"}],"version-history":[{"count":15,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/3934\/revisions"}],"predecessor-version":[{"id":4771,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/3934\/revisions\/4771"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=3934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=3934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=3934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}