Pablo Rodríguez Rey

página personal

Bienvenido

¡Bienvenido a mi web personal!

Aquí voy dejando para el recuerdo algunos de los proyectos que he ido haciendo, así como algunas cosas sobre mis intereses, como la programación o la electrónica.

Espero que la web os resulte interesante.

¡Un saludo!


Proyectos

Siempre estoy liado con alguna cosa nueva. Me gusta buscar, innovar y empezar nuevos proyectos.

Aquí os muestro algunos de los proyectos actualmente más activos.

Esta sección todavía está en desarrollo, espero completarla con más proyectos próximamente.


ïnav

ïnav es una serie de aplicaciones para CarPC de desarrollo propio ofrecidos con licencia GPL de código abierto.

Un CarPC es un ordenador integrado en un vehículo, y esta aplicación permite integrar diversos medios: música, video, teléfono, navegador GPS, navegador web, etc. en una sola aplicación.

He realizado principalmente 3 versiones. Ha habido otras, pero no han sido publicadas por su desarrollo específico.

Ahora se está desarrollando una nueva versión, y por tanto, estas están congeladas.




DisplayNC

Hace poco que tengo una motocicleta Honda NC700X, pero lamentablemente la información de temperatura del aceite no viene reflejada en la pantalla, aun a pesar de disponer de sensor en el motor.

Decidí entonces hacer una pequeña pantalla auxiliar para mostrar esta información y, ya de paso mostrar otra información adicional: temperatura exterior y voltaje de la batería.

El proyecto está realizado con Arduino, y en principio consideré varias pantallas, Nokia 3330 y OLED 1.3", pero finalmente consideré una pantalla LCD Transflectiva, la gráfica DOGM 132x32 puntos, visible a la luz solar y poco sensible a los cambios de temperatura. El sensor del motor se obtuvo con ingeniería inversa, midiendo con polímetro y obteniendo la función de relación de temperatura-voltaje del sensor. La caja contenedora fué diseñada en OpenSCAD e impresa con una impresora 3D Prusa i3 de mi amigo n0p.




CarPC

Uno de mis proyectos más divertidos ha sido el CarPC, un PC embebido en mi anterior coche.

El sistema estaba basado en los siguientes componentes:

  • MicroITX Atom 330 2GB RAM HD 320GB
  • Pantalla táctil Lilliput 8" 4:3 889GL
  • Amplificador Vieta 4x45W RMS
  • Interfaz de mute, sistema de relés
  • Software: ïnav

Actualmente, estoy pensando en preparar uno para mi nuevo coche, un Honda Accord del 2011, siempre que el tiempo me lo permita.



ADisplay

Mejora de Pantalla para Honda Accord 2011. Permite reemplazar la pantalla LCD original por una pantalla 1280x800 IPS gobernado por una Raspberry Pi 2 model B y una interfaz específica con un ATmega328.

Además de las mejoras estéticas, se muestran datos adicionales, provee de una entrada HDMI de propósito general, y una entrada de video analógico para cámaras.

Para este propósito, se tuvo que:

  • Decodificar protocolo SPI del climatizador.
  • Decodificar protocolo UART del equipo de audio.
  • Implementar software adisplay basado en JSDL.



Programación

Me encanta programar. Lo hago a todas horas, en cualquier lugar, en cualquier momento.

Desde que a los 11 años me introduje en el mundo de los ordenadores, tuve ganas instantáneas de aprender a programar, motivado quizás por un anuncio de televisión de unos fascículos de programación IBM.

Con el paso de los años aprendí multitud de lenguajes de programación, en muchos me especialicé por su versatilidad: C/C++, Java, Ensamblador x86/MIPS/ARM, Basic, HTML, JavaScript, PHP, CSS, C#, OpenGL, Scripting, Delphi, ActionScript, ...


C/C++

Son los lenguajes de desarrollo general por antonomasia creados por el genial científico Dennis Ritchie y el Danés Bjarne Stroustrup respectivamente, permiten hacer casi cualquier tarea en informática de forma muy eficiente.

Son lenguajes de medio-alto nivel, por lo que su compilación es casi directa a lenguaje máquina, sobre todo por el primero, confiriéndoles alta velocidad y optimización, y haciéndolos primeros candidatos para proyectos de gran envergadura.

Los sistemas operativos principales han sido programados en su mayor parte en estos lenguajes (Linux, MACOS, Windows, ...).

Aunque siendo uno de mis lenguajes favoritos, su dificultad en trabajo con memoria y la dependencia a nivel de máquina son algunos de los contras para su uso diario. Sin embargo, hoy en día sigue ocupando parte de mi trabajo, dado que todavía hay muchas aplicaciones que desarrollo que exigen un alto rendimiento y bajo consumo de recursos, p.e. smserver, ïnav5, ...

También he trabajado con: STL, SDL, OpenGL, V8 engine Threads, QT, ...



ASM

El conocimiento del lenguaje ensamblador me permitió desarrollar interfaces gráficos en mi equipo antiguo (Amstrad PC1512 8086 8MHz) y una librería gráfica para desarrollar programas fácilmente, gracias a las rutinas optimizadas en ensamblador x86.

Algunos de los programas en los que usé ensamblador o fueron:

  • AGENDA: Agenda personal
  • DOSX+: Entorno gráfico 640x200 2 colores
  • XSYSTEM: Entorno gráfico 320x200 256 colores
  • MODEL6: Base para mis proyectos bajo DOS
  • ENCDEC: Cifrador lamer rápido de archivos
  • ïSPIM: Compilador/Simulador de MIPS
  • Diversas demos/pruebas de menos de 256 bytes





PHP

Este lenguaje interpretado similar en sintaxis a C permite realizar proyectos web a cualquier escala en tiempos record, gracias a su facilidad de uso y su extensa librería.

Hace más de 16 años que trabajo con él, y actualmente es el lenguaje de referencia para desarrollos web, y el cuarto puesto global en utilización, (fuente May/2018: redmonk).

Como contra, esta versatilidad a veces causa que programadores inexpertos realicen código espaguetti.

He realizado decenas de desarrollos web, tanto webs personales (p.e. esta misma web) como aplicaciones web profesionales complejas, algunas pueden ser visitadas:




Basic

Fué el primer lenguaje de programación con el que comencé, y desarrollé en él hasta sus límites. Quick Basic y Visual Basic, tanto para DOS como para Windows 16 y 32 bits.

Desde entonces he realizado cerca de un millar de aplicaciones, utilidades y pruebas en este versatil lenguaje.

Hoy en día ha caido en desuso por la llegada de .NET y los sistemas 64 bits, sin embargo sigue siendo un excelente lenguaje para el desarrollo rápido y eficiente de aplicaciones basadas para DOS y Windows, de hecho, casi la totalidad de las aplicaciones desarrolladas en este lenguaje siguen siendo compatibles en las últimas versiones de Windows.

Algunos ejemplos de aplicaciones interesantes desarrolladas han sido:

  • ïnav3: Aplicación de integración de medios para CarPC
  • MLPid: Aplicación de acreditación de la MurciaLanParty.
  • Visual CyberGest: Aplicación de gestión integral de cibercafés
  • Kister Fighter (parte 1 y 2): Juego de lucha presentada al concurso de juegos de la revista PC World
  • ICARUM: Aplicación de gestión de planimetría de la Universidad de Murcia







Java

Java es uno de los lenguajes más versátiles que existe en la actualidad. Es multiplataforma, y tiene infinidad de librerías para el soporte de casi cualquier tarea en la actualidad gracias al soporte de su comunidad.

Algunos de los desarrollos realizados en este lenguaje incluyen la Araña del Portal de Gestión de Red de la Universidad de Murcia, que recoge los datos realizando peticiones simultáneas via SNMP a los dispositivos que integran la red UNIMURNET, y otros servicios para utilidades de red.

También he realizado algunos sketches para Android: ArduDroid y WPAMagicKey



JavaScript

Hoy por hoy todos los navegadores modernos soportan JavaScript, el lenguaje interpretado de ejecución en el lado cliente y, recientemente, con proyectos como node.js o Apache Cordova también se comienza a extender su uso en el lado servidor.

Dada mi posición de desarrollador web, he realizado muchísimas clases genéricas en JavaScript para rebajar la dificultad de creación de sitios y aplicaciones web, entre las que destacan las pertenecientes a las clases base, que es un conjunto de funciones PHP y JavaScript cuya finalidad sigue tres puntos: Estandarizar, Simplificar y Estabilizar.

Esta misma página tiene código JavaScript, como la carga bajo demanda de imágenes, la visualización de secciones y el acceso a algunos enlaces.

Uno de mis proyectos más interesantes es JSDL, un lanzador ligero de aplicaciones JavaScript con V8 Engine y librerías integradas (SDL 2, SDL Image 2, SDL TTF 2, Serial, File, System).

Electrónica

Desde pequeño me encanta la electrónica. Siempre recuerdo uno de mis juguetes favoritos de Reyes Magos, el Scatron.

Esencialmente conozco bien los Microcontroladores de Atmel ATmega y Microchip PIC, aunque nunca descarto alternativas dependiendo del proyecto.

También he trabajado con la familia ESP (ESP32, ESP8266).

Proyectos

He hecho muchos circuitos de electrónica, muchas veces básicos, pero cumplen su función:

  • GPDRL - Luz diurna para Fiat Grande Punto, con 16 LEDs CREE Q5 y regulador de intensidad específico
  • GPbox - Control de Relés, control de mute USB, alimentación regulada para CarPC
  • Retrofits - Circuitos para varias modificaciones en los faros de mis coches
  • HomeD - Varios circuitos domóticos basados en ESP8266: Apertura de la puerta del garaje remota, de la entrada, control de luces, decoración LED, control de placas solares, ...




Arduino

Arduino es una plataforma de hardware libre basada en la serie de microcontroladores Atmel AVR combinado con un entorno de desarrollo integrado con el lenguaje Processing/Wiring.

Su practicidad y sencillez de uso ha hecho que emergiese una gran comunidad detrás de Arduino y se haya convertido en una excelente plataforma de aprendizaje.

Algunos proyectos que he hecho con Arduino:

  • DisplayNC - Display adicional para Honda NC700X
  • xpCan - Interfaz OBD para Honda Accord, cierre de puertas a partir de 30km/h
  • GPDRL - Control de luces diurnas para el Fiat Grande Punto




PIC

La familia PIC es también una de las más usadas por su potencia y versatilidad. En concreto los PIC18F* suelen ser buenos aliados por su potencia, número de puertos y soporte de auxiliares, como USB o CAN-BUS.

He hecho algunos proyectos con PIC:

  • CarPC Interface - Interfaz generica para CarPC
  • GPupdown - Simulador de regulador de altura de faros



Raspberry PI

Últimamente estoy bastante activo con esta plataforma, recientemente he realizado algunas optimizaciones en el arranque de Raspbian para mejorar el tiempo de arranque y suprimir servicios innecesarios.

Para reproducción de video el arranque y puesta en marcha tarda apenas un segundo.

Lo he usado en un par de proyectos, un reproductor autónomo cíclico para televisiones y una pantalla adicional.

También he trabajado con el GPIO para interfaz domótica.


Domótica

Para automatizar algunas tareas en mi casa he implementado un sistema de domótica básica al que tengo conectados diversos sensores y actuadores a la red domótica gestionada con un entorno LAMP y MQTT.

El front-end es simple y está hecho a medida tomando como referencia Home Assistant, uno de los más usados por la comunidad hoy en día.

Las funcionalidades que me ofrece son:

  • Apertura remota de la puerta de garaje
  • Apertura remota de la puerta de la entrada
  • Control del consumo energético
  • Control y consumo del termo eléctrico
  • Control de la generación fotovoltáica
  • Gestión de los repostajes de mi coche
  • Vista y gestión de las cámaras remotas
  • Alarma con sensores en puertas, ventanas y de movimiento
  • Monitorización de dispositivos WiFi y BLE
  • Sensores de temperatura y humedad
  • Veleta
  • Control de tiras LED RGB
  • Control de luces
  • Control de enchufes (fijos y smartplugs)
  • Luces de temporada (navidad, etc.)

Al final el sistema está muy completo, y como ventaja no está conectado a terceros gracias al reemplazo de firmware de los dispositivos por Tasmota, EspHome y otros proyectos de software libre para dispositivos IoT.








Sobre mi...

¡Hola!

Soy Ingeniero Técnico en Informática de Sistemas, actualmente trabajo en la Universidad de Murcia y también hago trabajos freelance en mi empresa inertinc industries, también he estudiado un Master en Nuevas Tecnologías de la Informática, especialización en Redes y Telemática, pero sobre todo soy un apasionado de la informática y electrónica. Tengo muchas aficiones, pero a todas no puedo dedicarle todo el tiempo que quisiera, poco a poco.

Puede descargar o visualizar mi currículum (en inglés):

Currículum 61KB

Puede contactar conmigo aquí.

La Ley Orgánica de Protección de Datos protege todos los datos que pudieran aparecer tanto en el currículum como en el resto de la web, por tanto, no se concede ningún permiso de ningún tipo para poder usar esta información más allá del contacto directo con el autor para trabajo, y queda excluida cualquier tipo de mensaje publicitario, uso en cursos o inclusión en listas.


Contacta

Si quieres, puedes enviarme un mensaje usando este formulario:

Imagen de seguridad: Regenerar
Nombre:
E-Mail:
Mensaje:

Está prohibido el uso de este formulario para envío masivo y/o de publicidad.

404 :-(

El contenido que buscas no ha sido encontrado o se ha movido!

Haz click en cualquiera sección de la web, seguro que encuentras lo que buscas.