{"id":1481,"date":"2021-09-27T13:13:52","date_gmt":"2021-09-27T11:13:52","guid":{"rendered":"https:\/\/radio.xreflector.es\/?p=1481"},"modified":"2021-09-27T13:13:52","modified_gmt":"2021-09-27T11:13:52","slug":"version-2-de-pysfreflector-la-evolucion-de-la-especie","status":"publish","type":"post","link":"https:\/\/radio.xreflector.es\/index.php\/2021\/09\/27\/version-2-de-pysfreflector-la-evolucion-de-la-especie\/","title":{"rendered":"Versi\u00f3n 2 de pYSFReflector, la evoluci\u00f3n de la especie"},"content":{"rendered":"\n<p>Siguiendo la ya probada, y presente en muchas instalaciones, versi\u00f3n inicial de<strong>&nbsp;pYSFReflector,<\/strong>&nbsp;<a href=\"https:\/\/github.com\/iu5jae\/pYSFReflector\" target=\"_blank\" rel=\"noreferrer noopener\">descargable desde este enlace,<\/a>un software escrito en python3 por&nbsp;<strong>Antonio IU5JAE del Grupo Radio Firenze para la gesti\u00f3n de un reflector C4FM YSF,<\/strong>presentamos la nueva versi\u00f3n&nbsp;<strong>2.<\/strong><\/p>\n\n\n\n<p>Qu\u00e9 hay de nuevo,&nbsp;<strong>caracter\u00edsticas principales<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em>Decodificaci\u00f3n de flujo C4FM con extracci\u00f3n de toda la informaci\u00f3n presente en el FICH (tipo de flujo, ID de radio, DG-ID transmitido, tipo de desviaci\u00f3n utilizada del lado de RF, etc.);<\/em><\/li><li><em>decodifica los datos de ubicaci\u00f3n GPS transmitidos y los env\u00eda (si est\u00e1n habilitados en el archivo .ini) a trav\u00e9s de APRS;<\/em><\/li><li><em>bloquea el reenv\u00edo de todas las consultas repetidoras a la red (conexi\u00f3n, desconexi\u00f3n, estado, b\u00fasquedas) para evitar el tr\u00e1fico innecesario de inhibidores;<\/em><\/li><li><em>enviar datos en formato Json a trav\u00e9s de socket\/UDP para un sistema externo de gesti\u00f3n\/visualizaci\u00f3n (consulte el panel collector.py)<\/em><\/li><\/ul>\n\n\n\n<p>La configuraci\u00f3n del reflector siempre tiene lugar en el&nbsp;<strong>archivo pysfreflector.ini<\/strong>; en particular, hay una nueva&nbsp;<strong>secci\u00f3n de red con la gesti\u00f3n del puerto Json y la secci\u00f3n APRS<\/strong>&nbsp;donde no solo es posible habilitar o no las funciones relacionadas, sino tambi\u00e9n configurar un&nbsp;<strong>SSID espec\u00edfico a trav\u00e9s del cual se enviar\u00e1n los datos desde el reflector al servidor APRS indicado,<\/strong>para el mapeo de las posiciones detectadas, en el sitio aprs.fi&nbsp;<strong>Se pueden ver configuraciones adicionales e informaci\u00f3n de instalaci\u00f3n en la documentaci\u00f3n de la versi\u00f3n anterior de pYSFReflector, en github.<\/strong>&nbsp;Es importante especificar que<strong>&nbsp;pYSF2 necesita la biblioteca de python \u00abaprslib\u00bb,<\/strong>que se puede instalar como de costumbre con el comando \u00abpip install aprslib\u00bb. Para obtener m\u00e1s informaci\u00f3n sobre el uso de python y la gesti\u00f3n de paquetes, en Internet puede encontrar gu\u00edas completas.<\/p>\n\n\n\n<p><strong>pYSFReflector versi\u00f3n 2 cuenta con un potente gestor de accesos,<\/strong>ampliando lo que ya est\u00e1 presente en la versi\u00f3n inicial. De hecho, adem\u00e1s de las comprobaciones habituales sobre la validez formal de los nombres intransito, nombre de bloque y\/o pasarela, etc.&nbsp;<strong>pYSF2 permite limitar el acceso a los nombres con sufijos como -RPT, -GW, -ND,<\/strong>etc. (generalmente provocadores de tr\u00e1fico de datos innecesario a la red) y a&nbsp;<strong>dispositivos serie espec\u00edficos (por el momento prerrogativa exclusiva de solo sistemas Wires X Yaesu),<\/strong>&nbsp;todo administrado en el&nbsp;<strong>archivo denegado.db<\/strong><\/p>\n\n\n\n<p><strong>El env\u00edo de datos en tr\u00e1nsito sobre pYSF2 a un puerto UDP ha permitido la creaci\u00f3n de un segundo software llamado collector, un dashboard siempre escrito en python<\/strong>&nbsp;(por IK5XMK del Grupo Radio Firenze) que opera \u00edntegramente en memoria a trav\u00e9s de su propio servidor<strong>&nbsp;web<\/strong>&nbsp;integrado sin necesidad de p\u00e1ginas html\/php escritas en disco. El recopilador&nbsp;<strong>se configura editando directamente el archivo collector.py, en la SECCI\u00d3N CONFIG relativa.<\/strong>&nbsp;Se debe indicar la direcci\u00f3n\/puerto Json de pYSFReflector2 (el dashboard tambi\u00e9n puede residir en otro servidor&#8230;), la direcci\u00f3n del servidor que mostrar\u00e1 las p\u00e1ginas html y su puerto (para operar sin conflictos tambi\u00e9n con otros dashboards ya presentes en el sistema).<\/p>\n\n\n\n<p>El recopilador es altamente configurable y se puede decidir qu\u00e9 mostrar como informaci\u00f3n, ya que algunos valores son exquisitamente para los iniciados. Collector requiere la presencia de algunas bibliotecas que no est\u00e1n presentes de forma predeterminada; necesitas instalarlos manualmente con \u00ab<strong>pip install uvicorn<\/strong>\u00bb (o pip3) y \u00ab<strong>pip install starlette<\/strong>\u00ab. Recuerde actualizar su sistema al comienzo de la instalaci\u00f3n. Despu\u00e9s de hacerlo ejecutable, el programa se puede iniciar f\u00e1cilmente con el comando<strong>\u00ab.\/collector.py &amp;<\/strong>\u00ab.<\/p>\n\n\n\n<p>Para ver&nbsp;<a href=\"http:\/\/ysf.grupporadiofirenze.net:12001\/\" target=\"_blank\" rel=\"noreferrer noopener\">un ejemplo de pYSFReflector2 con su colector:<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/09\/pYSFReflector2_Grupporadiofirenze.jpg\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/09\/pYSFReflector2_Grupporadiofirenze-300x96.jpg\" alt=\"\" class=\"wp-image-8301\"\/><\/a><\/figure>\n\n\n\n<p>El software se puede recoger de&nbsp;<a href=\"https:\/\/drive.google.com\/drive\/folders\/1dN37yK2jtVBnoMSXa1Uqm-nlbr_-a_W9?usp=sharing\" target=\"_blank\" rel=\"noreferrer noopener\">esta carpeta en Google Drive.<\/a><\/p>\n\n\n\n<p>Para obtener ayuda e informaci\u00f3n, escriba en\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/www.grupporadiofirenze.net\/forum\/\" target=\"_blank\">el Foro del Grupo Radio Firenze<\/a>\u00a0<\/p>\n\n\n\n<p>Estos software son solo para uso de radioaficionados, creados de forma experimental y sin ninguna garant\u00eda y soporte. Tambi\u00e9n son el resultado de elaboraciones de programas (o partes de ellos) ya existentes y tienen la finalidad de conocer en plena forma el protocolo digital de radioaficionados denominado C4FM, no limit\u00e1ndose al \u00fanico uso. Estos programas son de c\u00f3digo abierto, ver licencia relativa dentro de los c\u00f3digos.<\/p>\n\n\n\n<p><strong>Antonio IU5JAE<\/strong><\/p>\n\n\n\n<p><strong>David IK5XMK<\/strong><\/p>\n\n\n\n<p><strong>info@grupporadiofirenze.net<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-xreflector-world-wide-servers wp-block-embed-xreflector-world-wide-servers\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/radio.xreflector.es\/index.php\/hazte-socio-colaborador-de-x-reflector-spain\/\n<\/div><\/figure>\n\n\n\n<p><\/p>\n<p>Visitas: 31<\/p>","protected":false},"excerpt":{"rendered":"<p>Siguiendo la ya probada, y presente en muchas instalaciones, versi\u00f3n inicial de&nbsp;pYSFReflector,&nbsp;descargable desde este enlace,un software escrito en python3 por&nbsp;Antonio IU5JAE del Grupo Radio Firenze para la gesti\u00f3n de un reflector C4FM YSF,presentamos la nueva versi\u00f3n&nbsp;2. Qu\u00e9 hay de nuevo,&nbsp;caracter\u00edsticas principales: Decodificaci\u00f3n de flujo C4FM con extracci\u00f3n de toda la informaci\u00f3n presente en el FICH [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1482,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-digital"],"_links":{"self":[{"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/posts\/1481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/comments?post=1481"}],"version-history":[{"count":2,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/posts\/1481\/revisions"}],"predecessor-version":[{"id":1484,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/posts\/1481\/revisions\/1484"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/media\/1482"}],"wp:attachment":[{"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/media?parent=1481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/categories?post=1481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/tags?post=1481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}