{"id":965,"date":"2021-03-01T17:15:31","date_gmt":"2021-03-01T16:15:31","guid":{"rendered":"http:\/\/radio.xreflector.es\/?p=965"},"modified":"2021-03-01T17:17:05","modified_gmt":"2021-03-01T16:17:05","slug":"ysfreflector-en-python-nuevas-funciones-para-el-mundo-de-c4fm","status":"publish","type":"post","link":"https:\/\/radio.xreflector.es\/index.php\/2021\/03\/01\/ysfreflector-en-python-nuevas-funciones-para-el-mundo-de-c4fm\/","title":{"rendered":"YSFReflector en Python, nuevas funciones para el mundo de C4FM"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_1.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>El colega&nbsp;<strong>Antonio IU5JAE del Grupo Radio Firenze<\/strong>&nbsp;ha desarrollado el software de gesti\u00f3n de un&nbsp;<strong>reflector C4FM con el lenguaje de programaci\u00f3n Python<\/strong>&nbsp;.&nbsp;Este proyecto sigue su software Dextra_Bridge, ya presentado en este sitio, para conectar dos reflectores XLX junto con el protocolo DEXTRA \/ DSTAR.&nbsp;El objetivo de YSFReflector en Python es doble: corregir e implementar nuevas caracter\u00edsticas del sistema reflector actual para el protocolo de radioaficionado C4FM y tener una plataforma de desarrollo de c\u00f3digo abierto para futuras adiciones para que el sistema funcione y est\u00e9 completo.&nbsp;<strong>Es un software de radioaficionado, gratuito, sin garant\u00eda.<\/strong>, destinado a ser administrado por el radioaficionado que tiene practicidad de Linux y el lenguaje Python.&nbsp;No se da soporte sino que debe ser un est\u00edmulo de aprendizaje para la creaci\u00f3n de redes abiertas, respetuosas de las reglas que adoptan las redes para su plena funcionalidad, accesible a todos.<\/p>\n\n\n\n<p>Las principales caracter\u00edsticas son las siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em>compatible con las instalaciones actuales de YSFReflector de Jonathan G4KLX.&nbsp;Se puede reemplazar f\u00e1cilmente: al momento de escribir este art\u00edculo, lee el mismo archivo de configuraci\u00f3n YSFReflector.ini y es compatible con el tablero Kim DG9VH;<\/em><\/li><li><em>est\u00e1 reconocido por el&nbsp;<a href=\"https:\/\/register.ysfreflector.de\/\">registro mundial<\/a>&nbsp;de reflectores YSF;<\/em><\/li><li><em>tiene el control \/ validaci\u00f3n de los nombres si es formalmente correcto (acepta IK5XMK-400, IK5XMK \/ 400, NO acepta IK5XMK: 400, NO acepta N0NAME);<\/em><\/li><li><em>registra las IP de los sistemas Gateway conectados en el archivo de registro del reflector;<\/em><\/li><li><em>incluye un archivo de nombres con inhibici\u00f3n de tr\u00e1nsito, \u00fatil para gestionar situaciones de perturbaci\u00f3n, problemas de bucle y similares;<\/em><\/li><li><em>se puede consultar de forma remota para el desarrollo de aplicaciones y controles.<\/em><\/li><\/ul>\n\n\n\n<p>Ejemplo de un nombre bloqueado, registrado en el registro:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_1.jpg\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_1-300x74.jpg\" alt=\"\" class=\"wp-image-7511\"\/><\/a><\/figure>\n\n\n\n<p>El archivo se lee, en el ejemplo, cada 5 minutos.&nbsp;No es necesario reiniciar el software:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_2.jpg\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_2-300x81.jpg\" alt=\"\" class=\"wp-image-7512\"\/><\/a><\/figure>\n\n\n\n<p>YSFReflector se puede ejecutar con el comando:<\/p>\n\n\n\n<p><em>\/ usr \/ bin \/ python3 \/ usr \/ local \/ sbin \/ YSFReflector \/usr\/local\/etc\/YSFReflector.ini<\/em><\/p>\n\n\n\n<p>o, despu\u00e9s de hacer que el programa sea ejecutable (chmod + x), directamente<\/p>\n\n\n\n<p><em>\/ usr \/ local \/ sbin \/ YSFReflector \/usr\/local\/etc\/YSFReflector.ini<\/em><\/p>\n\n\n\n<p>colocando la fuente de Python en \/ usr \/ locan \/ sbin<\/p>\n\n\n\n<p>El reflector puede responder a solicitudes de interrogaci\u00f3n remota y realiza un seguimiento del sistema de llamada:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_3.jpg\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_3-300x107.jpg\" alt=\"\" class=\"wp-image-7513\"\/><\/a><\/figure>\n\n\n\n<p>A continuaci\u00f3n se muestra un ejemplo de una aplicaci\u00f3n m\u00f3vil desarrollada espec\u00edficamente para interrogar al reflector.&nbsp;<strong>La APP no est\u00e1 muy extendida por el momento<\/strong>&nbsp;, pero sirve como ejemplo de la posibilidad de implementar funciones y controles remotos:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>visualizaci\u00f3n de nombres bloqueados<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_5.jpg\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_5-146x300.jpg\" alt=\"\" class=\"wp-image-7514\"\/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>visualizaci\u00f3n de pasarelas conectadas al reflector:<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_4.jpg\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_4-146x300.jpg\" alt=\"\" class=\"wp-image-7515\"\/><\/a><\/figure>\n\n\n\n<p>Para operar, YSFReflector debe tener Python3 y las siguientes bibliotecas instaladas:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_6.jpg\"><img decoding=\"async\" src=\"https:\/\/www.grupporadiofirenze.net\/wp-content\/uploads\/2021\/03\/YSFReflector_python_GrupporRadioFirenze_6-300x214.jpg\" alt=\"\" class=\"wp-image-7516\"\/><\/a><\/figure>\n\n\n\n<p>Para solicitar el software, env\u00ede un correo electr\u00f3nico a&nbsp;<em>info@grupporadiofirenze.net<\/em><\/p>\n\n\n\n<p>Buenas pruebas y desarrollos.<\/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<p>Visitas: 94<\/p>","protected":false},"excerpt":{"rendered":"<p>El colega&nbsp;Antonio IU5JAE del Grupo Radio Firenze&nbsp;ha desarrollado el software de gesti\u00f3n de un&nbsp;reflector C4FM con el lenguaje de programaci\u00f3n Python&nbsp;.&nbsp;Este proyecto sigue su software Dextra_Bridge, ya presentado en este sitio, para conectar dos reflectores XLX junto con el protocolo DEXTRA \/ DSTAR.&nbsp;El objetivo de YSFReflector en Python es doble: corregir e implementar nuevas caracter\u00edsticas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-965","post","type-post","status-publish","format-standard","hentry","category-digital-digital"],"_links":{"self":[{"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/posts\/965","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=965"}],"version-history":[{"count":2,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/posts\/965\/revisions"}],"predecessor-version":[{"id":967,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/posts\/965\/revisions\/967"}],"wp:attachment":[{"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/media?parent=965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/categories?post=965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/radio.xreflector.es\/index.php\/wp-json\/wp\/v2\/tags?post=965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}