{"id":2407,"date":"2020-08-06T11:00:28","date_gmt":"2020-08-06T16:00:28","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/girni\/?p=2407"},"modified":"2025-09-11T17:03:50","modified_gmt":"2025-09-11T22:03:50","slug":"chirpstack-network-server","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/chirpstack-network-server\/","title":{"rendered":"2.2 ChirpStack v3 - network-server"},"content":{"rendered":"<p>El network-server es el componente que se dedica a revisar los mensajes duplicados en la red, ya sea por re-intentos de transmisi\u00f3n desde un mismo dispositivo o por recepci\u00f3n de mensajes en m\u00e1s de un gateway.<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2453 size-full\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-1.png\" alt=\"\" width=\"1042\" height=\"548\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-1.png 1042w, https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-1-300x158.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-1-768x404.png 768w, https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-1-1024x539.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Adem\u00e1s de encargarse de la autenticaci\u00f3n , capa MAC, comunicaci\u00f3n con el componente de aplicaciones y gesti\u00f3n de colas de mensajes de envi\u00f3 hacia dispositivos.<\/p>\n<h2>Base de datos de mensajes<\/h2>\n<p>Para manejar los mensajes es necesario\u00a0 disponer de una base de datos. PostgreSQL es la base de datos predeterminada.<\/p>\n<p>En caso de no disponer de la base de datos, la puede instalar siguiendo las instrucciones en:<\/p>\n<p><a href=\"https:\/\/www.postgresql.org\/download\/linux\/debian\/\">https:\/\/www.postgresql.org\/download\/linux\/debian\/<\/a><\/p>\n<p>Seg\u00fan la versi\u00f3n publicada a Agosto de 2025, solo se requiere una instrucci\u00f3n:<\/p>\n<pre class=\"code\">apt install postgresql<\/pre>\n<p>Instrucciones anteriores, desactualizadas<\/p>\n<pre>sudo sh -c 'echo \"deb http:\/\/apt.postgresql.org\/pub\/repos\/apt $(lsb_release -cs)-pgdg main\" &gt; \/etc\/apt\/sources.list.d\/pgdg.list'\r\nwget --quiet -O - https:\/\/www.postgresql.org\/media\/keys\/ACCC4CF8.asc | sudo apt-key add -\r\nsudo apt-get update\r\n\r\nsudo apt-get -y install postgresql\r\n<\/pre>\n<p>Creaci\u00f3n de usuario, password y base de datos<\/p>\n<p>Se inicia el programa de la base de datos con la primera instrucci\u00f3n, luego el usuario y contrase\u00f1a.<\/p>\n<pre>sudo -u postgres psql\r\ncreate role chirpstack_ns with login password 'dbpassword';\r\ncreate database chirpstack_ns with owner chirpstack_ns;\r\n\\q\r\n<\/pre>\n<p>para verificar el usuario se realiza un intento de conexi\u00f3n a la base con :<\/p>\n<pre>psql -h localhost -U chirpstack_ns -W chirpstack_ns\r\n<\/pre>\n<h2>Instalaci\u00f3n base de datos Redis<\/h2>\n<p>Usada para guardar los datos de cada sesi\u00f3n , datos no persistentes, de duplicaci\u00f3n y meta-data.<\/p>\n<pre>sudo apt install redis-server<\/pre>\n<h2>Instalaci\u00f3n de ChirpStack-network-server<\/h2>\n<p>Semejante al componente anterior, se a\u00f1aden las referencias del repositorio de los archivos de instalaci\u00f3n para ejecutar luego el proceso de instalaci\u00f3n.<\/p>\n<pre>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00\r\nsudo echo \"deb https:\/\/artifacts.chirpstack.io\/package\r\nsudo apt update\r\nsudo apt install chirpstack-network-server\r\n<\/pre>\n<h2>Configuraci\u00f3n de ChirpStack-network-server<\/h2>\n<p>El archivo de configuraci\u00f3n requiere actualizar la informaci\u00f3n de usuario y password de la base de datos antes configurada.<\/p>\n<p>Ademas revisar los par\u00e1metros de: postgresql.dsn, postgresql.automigrate, network_server.net_id, network_server.band.name, metrics.timezone.<\/p>\n<pre>sudo nano \/etc\/chirpstack-network-server\/chirpstack-network-server.toml\r\n<\/pre>\n<p>Por ejemplo:<\/p>\n<pre>[general]\r\nlog_level=4\r\n\r\n[postgresql]\r\ndsn=\"postgres:\/\/chirpstack_ns:dbpassword@localhost\/chirpstack_ns?sslmode=disable\"\r\n\r\n[network_server.band]\r\nname=\"US915\"\r\n\r\ncambiar a comentario la seccion: \r\n# Extra channel configuration.<\/pre>\n<p><em>Revisar el detalle de la l\u00ednea dsn<\/em>, pues el usuario al final de la l\u00ednea vienen escrito con doble _ns_ns.<\/p>\n<p>A\u00f1adir al final del archivo los datos de usuario y contrase\u00f1a para el servicio MQTT<\/p>\n<p>Para revisar el estado del componente se usa el la instrucci\u00f3n:<\/p>\n<pre>sudo systemctl status chirpstack-network-server\r\nsudo systemctl restart chirpstack-network-server\r\n<\/pre>\n<p>debiendo obtener una respuesta semejante a<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2414 size-full\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01.png\" alt=\"\" width=\"1296\" height=\"370\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01.png 1296w, https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-300x86.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-768x219.png 768w, https:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/CS_networkServer01-1024x292.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Para revisar el historial de actividad (log) y verificar operatividad<\/p>\n<pre>journalctl -u chirpstack-network-server -f -n 50\r\n<\/pre>\n<p><strong>Referencia<\/strong>: <a href=\"https:\/\/www.chirpstack.io\/network-server\/install\/debian\/\">https:\/\/www.chirpstack.io\/network-server\/install\/debian\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El network-server es el componente que se dedica a revisar los mensajes duplicados en la red, ya sea por re-intentos de transmisi\u00f3n desde un mismo dispositivo o por recepci\u00f3n de mensajes en m\u00e1s de un gateway. Adem\u00e1s de encargarse de la autenticaci\u00f3n , capa MAC, comunicaci\u00f3n con el componente de aplicaciones y gesti\u00f3n de colas &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.espol.edu.ec\/girni\/chirpstack-network-server\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \"2.2 ChirpStack v3 - network-server\"<\/span><\/a><\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1481159],"tags":[602214,1457736],"class_list":["post-2407","post","type-post","status-publish","format-standard","hentry","category-chirpstack-v3","tag-iot","tag-lorawan"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2407","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=2407"}],"version-history":[{"count":18,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2407\/revisions"}],"predecessor-version":[{"id":4206,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2407\/revisions\/4206"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=2407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=2407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=2407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}