Administración del sai Salicru SPSOne 900VA con NUT

Muy buenas,

Acabo de publicar un nuevo tutorial en mi blog: Administración básica del sai Salicru SPSOne 900VA con NUT

En este caso se trata de una actualización del ya existente en mi propia página, RasPi: conectando un SAI Salicru SPS One 900VA, que ha quedado obsoleto.

Os explicaré de primera mano cómo instalar NUT en una RaspberryPi (podría ser cualquier otro sistema Linux) y cómo configurarlo de forma muy básica y sencilla, para que nos permita tener un control total sobre los eventos más comunes de un SAI.

A partir de este tutorial será posible extenderse y tratar otros temas más relacionados con la explotación y tratamiento de los datos que el driver es capaz de ofrecernos. Pero eso será en futuros artículos, para después de las vacaciones.

Espero que os sea de gran ayuda. No dudéis en escribirme si detectáis errores o tenéis dudas sobre él.

Gracias!

Saludos y felices vacaciones.

 

Jordi

Share Button

Nueva review: Salicru SPS ONE 900VA

Muy buenas,

Os dejo mi primera review sobre un producto que me parece muy interesante en la vida de un informático, un SAI.

Se trata del Salicru SPS ONE 900VA, un “pequeño” pero poderoso SAI de tipo “casero” con nada reprochables 900VA de potencia. Una pequeña bestia a nuestro alcance, para las instalaciones más “sencillas”, pero no por ello menos importantes.

En esta review intentaré dar mi opinión sobre este SAI, sin entrar en demasiados detalles, pero dando las visiones mas generalistas para que podamos decidir si es un producto apto para nuestras necesidades o no.

Aquí tenéis el enlace: Salicru SPSOne 900VA

Espero que os parezca interesante.

 

Saludos y gracias por leerme!

Jordi

Share Button

Configurar SSH y WiFi en RaspberryPi sin monitor

Un caso muy típico con el que nos encontramos cuando no necesitamos (o no disponemos) de un monitor a la hora de incializar una raspberry pi desde cero es querer poder conectarla a nuestra red desde el primer momento.

En algunas otros posts anteriores ya he comentado este caso, pero en esta ocasión lo actualizaré a la versión de Raspbian Buster, que a día de hoy es la oficial.

Activar SSH

Una vez tenemos la imagen de Raspbian completamente copiada a la SD, accederemos a la unidad que nos crea al insertarla en el PC, normalmente boot, y añadiremos un fichero vacío, llamado ssh. Con esto, la próxima vez que arranquemos el sistema reconocerá que deseamos activar el servicio SSH y lo gestionará, por lo que quedará correctamente configurado (eso si, por defecto) para poder iniciar sesión.

En mi caso, Windows 10:

Activar y configurar la WiFi

El siguiente caso que necesitamos cubrir es crear una configuración básica para que el sistema pueda conectarse a nuestra red privada segura al iniciar por primera vez.  De este modo la Raspi será accesible por SSH, que ya hemos configurado anteriormente.

Para ello, esta vez crearemos en la raíz boot un fichero llamado wpa_supplicant.conf con el siguiente contenido:

country=ES
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="YOUR_NETWORK_NAME"
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
}

En las líneas anteriores:

  • country: el código de dos dígitos del país de vuestra WiFi, en mi caso ES (España)
  • ctrl_interface: localización de la configuración wpa_supplicant y del grupo que usará una vez iniciado el sistema (no modificar!)
  • network: configuración de vuestras credenciales
    • ssid: vuestro nombre de red
    • psk: vuestro password, dejadlo vacío o no lo indiquéis si no tenéis password
    • key_mgmt: tipo de seguridad (cambiar si tenéis otro, o inidcad NONE si no lo tenéis activado)

Arrancar y acceder

Una vez hayamos creado estos dos ficheros, ya podemos expulsar la SD del PC y arrancar en la RaspberryPi.

Ahora vuestra Raspi estará conectada a vuestra red y podréis acceder a ella mediante SSH. Para ello recordad que deberéis conocer la IP de vuestra conexión, que podréis consultar en vuestro router.

 

Espero que os haya sido útil.

Un saludo!

Jordi

Share Button

ix2-200: recuperar la conexión al nas tras un cambio de red

Muy buenas,

Recientemente cambié de compañía de telecomunicaciones en casa, y con ello me cambiaron el router. Hacía tiempo que no conectaba el NAS, un ix2-200 de Lenovo / Iomega.

Cuando fui a conectarlo hace un par de días me fue imposible conectarme… Al principio me costó entenderlo, pero claramente, el problema era el rango de red en el que estaba conectado nuestro nas en la anterior red. Ésta era 192.168.0.0, mientras que mi actual red es una 192.168.1.0. Para mas inri, mi nas tenía configurado una IP estática… La 192.168.0.2.

Bien, en este punto tenemos dos posibilidades, o bien recuperas el CD-ROM con los drivers, que nos permitía conectar el NAS al PC para configurarlo en un primer momento, o bien (como es mi caso, que no tengo ni idea de dónde paran los drivers, y tampoco los veo por la red), has de buscarte las castañas para hacerlo “manualmente”.

La solución puede parecer difícil… Nada mas lejos de la realidad.

Este método lo he implementado con un Windows 10, pero es aplicable a cualquier sistema:

  1. Antes de empezar es imprescindible conocer el rango de red anterior en el que estaba conectado el NAS (en mi caso, 192.168.0.0)
  2. Desconectad vuestro pc de la red ethernet
  3. Conectad el NAS mediante su cable al puerto Ethernet del PC
  4. Encended el NAS
  5. Una vez haya arrancado, id a configuración del adaptador de red del PC y configuradla en modo estático y con una IP dentro del rango en el que exista vuestro NAS
    • mi NAS tenía IP estática 192.168.0.2
    • pondré la IP de mi PC como 192.168.0.1
  6. Guardad la configuración y esperad unos segundos…
  7. Id al apartado Red de vuestro PC y buscad el NAS (seguramente aparecerá como dispositivo multimedia)
  8. Ahora ya estamos conectados en una red equipo a equipo con nuestro NAS!!!
  9. Aprovechad para entrar al sistema y haced los cambios que sean necesarios
  10. Aprovechad y guardad los cambios!

Con estos sencillos pasos yo he conseguido volver a entrar en mi antiguo NAS y volver a conectarlo a la red…

Espero que os haya ayudado!

 

Saludos,

Jordi

Share Button

[GIT] Eliminar todas las ramas locales

Muy buenas,

Hoy os dejo un comando que me está siendo muy útil últimamente, dado que en el proyecto en el que trabajamos tiene mucho movimiento de desarrollo, y generamos ramas constantemente. Al ser quien las valida y acepto los merge request, me veo obligado a bajarlas todas. Esto conlleva un uso de disco elevado…

Para eliminar todas las ramas locales, excepto una, podemos utilizar el siguiente comando:

$ git branch | grep -v "master" | xargs git branch -D

Dónde master, podéis indicar la rama que queréis dejar “viva”. Por defecto es master, porque es nuestra rama actual, pero podéis indicar la que os sea más útil.

Espero que os haya sido de ayuda.

 

Saludos!

Jordi

Share Button

Eclipse Ponte dockerizado: docker-ponte

Acabo de crear una imagen docker que os ayudará a testear el proyecto de Ponte, de Eclipse.

Ponte es un proyecto que integra un brocker MQTT con Mosquitto, asi como una interfaz de publicación con diversos protocolos orientados al IoT, taes como REST y CoAP. Además, ofrece también la posibilidad de integrar la capa de persistencia de forma muy sencilla (esto lo veremos más adelante).

El proyecto se encuentra aún en una fase muy poco avanzada, pero ya de saque nos ofrece una buena base para iniciarnos en este mundillo teniendo todo bastante a mano.

Os dejo la web del poryecto:

Mi repositorio git con el Dockerfile lo encontraréis en esta url: https://github.com/jormc/docker-ponte

En breve escribiré algunos tutoriales para mostrar el gran potencial de este proyecto.

Espero que os sea interesante y de gran utilidad.

Salud y fuerza en estos momentos difíciles!

Jordi

Share Button

[ACF] Campos ACF que no guardan su valor

Me vuelvo loco… como lo digo.

ACF, o Advanced Custom Fields, es uno de los mejors addons que conozco en la actualidad para WordPress. No, no lo uso en mi web, porque es tan simple que sólo uso posts simples… Pero en mis múltiples proyectos de webs para terceros, y templates para WordPress, si los uso. Y son excesivamente útiles: te permiten ampliar la lógica y el contenido de una página simple de WordPress, ampliando los horizontes del metadata de la misma…

Vale, ta está bien de texto y biblia, echadle un vistazo vosotros mismos y decidid: https://www.advancedcustomfields.com/

Y bien, después de un buen caldo de publicidad (que conste que no cobro nada!), os explico el problema: en ocasiones algunos de los campos creados en un grupo de campos ACF no guardan su valor tras actualizar la página a la que pertenecen.

Como os decía, es para volverse loco… Porque todos los demás campos guardan su valor tal cuál se espera, pero ese dichoso campo no lo hace… Le he dado mil vueltas y he grabado mil veces… He activado el log y no veo nada…

PROBLEMA: nunca llaméis a vuestro campo como “el sistema le llama internamente”… Si… ACF no sabrá acceder al campo si este se llama igual que su tipo…

Y para muestra, un botón… Cread un campo llamado “image” que sea de tipo “image”. No conseguiréis que se grabe su contenido, nunca… Y no es que sea un bug, es que esta hecho así… Al parecer confunde el dato con el tipo…

Cambiadle el nombre, y funcionará. No le llaméis “image”, sino “cimage” o como buenamente os parezca, y asunto zanjado…

Espero haberos ayudado, y que no os cueste tanto como a mi daros cuenta del dichoso problema…

Suerte!

 

Jordi

Share Button

Related Images:

[JSTL] Mostrar datos de página / session

Recientemente un compañero funcional me ha solicitado que le informe de todos los datos de la session que enviamos en una aplicación web “bastante antigua”. Para evitarme problemas con versiones de Java, he preferido usar comandos del JSTL para poder llevar a cabo esta tarea…

He hecho una pequeña página JSP en la que he añadido este código (a parte del contexto necesario, librerías de cabecera, etc…):

<h3>Page attributes:</h3>
<table>
    <c:forEach items="${pageScope}" var="p">
        <tr>
            <td>${p.key}</td>
            <td>${p.value}</td>
        </tr>
    </c:forEach>
 </table>
 
 <h3>Session attributes:</h3>
<table>
    <c:forEach items="${sessionScope}" var="p">
        <tr>
            <td>${p.key}</td>
            <td>${p.value}</td>
        </tr>
    </c:forEach>
 </table>

Con esto aparecerá una tabla para cada caso por pantalla y podréis ver los resultados. Tened en cuenta que si el valor del parámetro es un objeto, no veréis su contenido, sino su identificador dentro del entorno Java de ejecución… Deberéis añadir tratamientos especiales según el caso (listas, maps…).

Espero que os sea útil.

Un saludo.

 

Jordi

Share Button

[WEMOS] Error cargando sketch

La pasada semana, intentando realizar diversas pruebas con mi Wemos D1 Mini PRO, me llevé un buen susto… Tras cargar diversas versiones de sketches que prometían cargar y leer datos en la EEPROM, me apareció un mensaje de error del tipo:

warning: espcomm_send_command: didn't receive command response
warning: espcomm_send_command(FLASH_DOWNLOAD_BEGIN) failed
closing bootloader
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
error: espcomm_upload_mem failed

Tras esto, por mucho que intentase cargar cualquier skecth, por sencillo que fuera (incluso el básico blink), me fue imposible, siempre aparece el mismo error… Por lo tanto, llegué a la conclusión de que lo había brickeado

Por suerte no fue así… pero me llevé un buen susto. Todo apuntaba a un problema de memoria o conexión serie…

Si habéis sufrido este error (el indicado mas arriba), intentad hacer lo que yo hice (ojo, sirve para cualquier ESP8266):

  1. Conectar con usb al pc (Linux o Windows)
  2. Arrancad el Arduino IDE (no uséis el Code Online!) y verificad que podéis conectaros a la placa, seleccionando modelo y puerto (el sistema debería haberlo reconocido en cuanto lo conectasteis)
  3. Abrid el monitor serie, y conectaros a 115200 bps
  4. En la pantalla del monitor debería aparecer “algo de basura” (ya sabéis, código raros)
  5. Realizad varios reset en el Wemos, y observad qué sucede en la pantalla del monitor serie, debería ir saliendo “basura”, a demás de que el led integrado irá parpadeando en cada uno de ellos…
  6. Ahora intentad bajar la velocidad de la conexión, y comprobad que todo sigue siendo igual (es probable que en algún momento veáis por pantalla algún mensaje de versión del chipset y último flasheado, por ejemplo, cosa que es normal…)

Si habéis llegado al punto 5 / 6 sin problemas, podemos decir que, al menos, la comunicación con nuestro chip con el serial del pc es correcto, y esto ya es mucho. Nuestro ESP8266 parece que no está brickeado…

Ahora, para hacer un reset de la memoria flash, que es la que se ha “degenerado”, hay que proceder de este modo.

Validar la comunicación con el sistema:

  1. Validar que la velocidad del puerto configurada en nuestro IDE (normalmente 115200) es la misma que la que el sistema suministra en el puerto al que estamos conectados
  2. Una vez validada, si había discordancia entre ambas partes, desconectad el Wemos del PC y volvedlo a conectar
  3. Probad a cargar de nuevo el scketch

Si esto no funciona, deberemos hacer un “reset” de la memoria en tiempo de carga… para esto, procederemos del siguiente modo:

Wemos D1 Min PRO pinout

Wemos D1 Min PRO pinout

  1. Desconectar la placa de la alimentación o cable USB
  2. Conectar GPIO0 (D3) a GND
  3. Conectar SS (D8) a GND
  4. Conectar el cable USB
  5. Lanzar de nuevo la carga del scketch

De este modo lo que hemos hecho ha sido hacer un reset de la EEPROM de flasheo, y renovar su contenido por la “fuerza bruta”…

Con esto, espero que os haya cargado, esta vez si, el scketch de manera satisfatoria y por fin hayáis podido “revivir” vuestro Wemos…

 

Un saludo, y suerte!

 

Jordi

 

 

Share Button

RasPi: conectando un SAI Salicru SPS One 900VA (II)

Retomo este mini tutorial a cerca de Nut, usado con un SAI Salicru SPS One de 900VA (cabe destacar que, en un principio, sólo era una pequeña review de cómo usar NUT, pero debido a las muchas preguntas recibidas, he decidido ampliarlo un pelín mas).

Es importante destacar que no me responsabilizo de nada de lo que os pueda suceder al intentar utilizar mis apuntes con vuestros sistemas, como es normal… Si bien, no importa demasiado, porque lo que aquí comentaré no es intrusivo para el sistema…

Seguid leyendo para continuar con esta segunda entrega, y espero que os sea de gran ayuda! 😉

Continue reading ‘RasPi: conectando un SAI Salicru SPS One 900VA (II)’ »

Share Button