¿Alguna vez has querido llevar un registro detallado de tus travesías náuticas? ¡Nosotros también! Y lo mejor es que lo hemos hecho combinando herramientas modernas como Node-RED , SQLite y una Raspberry Pi 4 . En este artículo, te contamos paso a paso cómo creamos un sistema completo para gestionar entradas de navegación, desde el hardware hasta el software. ¡Prepárate para zarpar hacia el mundo del desarrollo!
El corazón de nuestro proyecto es una Raspberry Pi 4 , un pequeño pero poderoso dispositivo que actúa como el cerebro del sistema. Con su bajo consumo de energía y capacidad para ejecutar aplicaciones web, es perfecta para proyectos embarcados como este.
Node-RED es una herramienta visual de programación basada en flujos. Es perfecta para conectar APIs, bases de datos y sensores sin necesidad de escribir mucho código. Aquí te mostramos cómo lo usamos:
La base de datos es el ancla de nuestro sistema. Usamos SQLite3 para almacenar todas las entradas del diario. Aquí tienes un vistazo a la tabla principal:
CREATE TABLE entradas (
id INTEGER PRIMARY KEY AUTOINCREMENT,
estado_navegacion TEXT,
categoria TEXT,
ocurrio_hace TEXT,
estado_mar TEXT,
visibilidad TEXT,
nubosidad INTEGER,
mensaje TEXT,
posicion TEXT,
velocidad REAL,
rumbo REAL,
tipo_entrada TEXT,
fecha DATETIME DEFAULT CURRENT_TIMESTAMP
);
Aquí tienes un árbol de la estructura de archivos que usamos. Es simple pero efectiva para mantener el proyecto organizado.
/Diario/
├── frontend/
│ ├── index.html # Página principal: lista de entradas
│ ├── add-entry.html # Formulario para añadir/editar entradas
│ ├── edit-entry.html # Formulario para editar entradas
│ └── css/
│ └── styles.css # Estilos personalizados
├── static/
│ ├── assets/
│ │ └── bootstrap.min.css # Bootstrap para diseño responsive
│ └── js/
│ ├── main.js # Scripts generales
│ ├── list-entries.js # Lógica para listar entradas
│ └── add-entry.js # Lógica para añadir/editar entradas
└── diario.db # Base de datos SQLite
Gracias al receptor GPS, podemos registrar automáticamente datos como posición, velocidad y rumbo.
Este proyecto es un ejemplo perfecto de cómo combinar hardware y software para resolver problemas reales. Con una Raspberry Pi 4 , Node-RED y SQLite , creamos un sistema robusto y escalable que puede adaptarse a diferentes necesidades.