¡Hola! Soy Oga, diseñadora y gerente de operaciones.
Entré en la empresa en 2015 y soy una de las veteranas, pero en mi blog personal, Yururoga, me disfrazo de chica gyaru y escribo artículos que no sé muy bien para quién son útiles.
Pero esta vez quiero dejar las bromas a un lado y hablar de algo un poco más serio.
Como punto de partida, debo decir que mi experiencia práctica como ingeniera es prácticamente nula.
En el trabajo he visto alguna terminal de vez en cuando, pero solo me limitaba a mirar los registros que pasaban. Pensaba que escribir comandos y crear algo con ellos era cosa de "gente que sabe hacerlo".
Y aquí estoy, dispuesta a montar desde la configuración de red hasta la implementación de una aplicación web en una Raspberry Pi. Cuando la necesidad aprieta, las personas podemos sorprendernos a nosotras mismas.
Todo empezó con el problema del iPad de mis hijos
En mi casa, mi hijo no para de tocar el iPad. Si lo dejas, la cosa no tiene fin.
Así que lo primero que quería era poner remedio a eso.
Justo en ese momento, la empresa lanzó un reto tipo hackatón interno: "Creen lo que quieran".
En Liberogic, el uso de Claude Code está en auge. Todo el equipo trabaja con Claude como compañero, y la oficina vive un auténtico festival de desarrollo. Yo uso el plan de 25 dólares al mes, pero hay compañeros que exprimen planes mucho más caros, y el ambiente es de "hagamos cualquier cosa con IA".
"Quiero probar esa Raspberry Pi con la que siempre soñé (la razón: simplemente parece genial)"
"Quiero resolver el problema del iPad con mentalidad de ingeniera"
"Quiero sacar algún resultado concreto en la hackatón"
De la unión de estas tres ganas nació el proyecto de un "sistema de gestión que permite activar o desactivar el Wi-Fi infantil con solo pulsar un botón del móvil".
He visto la terminal alguna que otra vez, pero configurar cosas, prácticamente nada.
Y aun así, con la ayuda de Claude, entre idas y vueltas, llegué a construir esta "caja mágica"!
Paso 1 — Configuración de la Raspberry Pi
Preparación con Raspberry Pi Imager → Conexión SSH
Primero, instalamos el sistema operativo en la Raspberry Pi 4. Instalamos Raspberry Pi Imager (la herramienta oficial de grabación) en el Mac y escribimos un SO de 64 bits en la tarjeta MicroSD. Activar SSH en la configuración de grabación es un paso discreto pero muy importante.
Conecta la Raspberry Pi al router con un cable LAN, enciende el equipo y, desde la terminal de tu Mac, la conexión se establece con un solo comando.
terminal (Mac)
ssh [email protected]Cuando apareció pi@raspberrypi:~ $ en la terminal, me emocioné un poco. Lo primero es actualizar el sistema.
sudo apt update && sudo apt upgrade -yPaso 2 — Crear un punto de acceso WiFi
Configuración de hostapd / dnsmasq / iptables
Para que la Raspberry Pi funcione como un "punto de acceso WiFi", instalamos dos programas. hostapd es el que emite la señal WiFi, y dnsmasq es el que asigna direcciones IP a los dispositivos que se conectan.
sudo apt install hostapd dnsmasq
En el archivo de configuración escribimos el SSID (el nombre de la red WiFi) y la contraseña. Para que fuera fácil de recordar, elegí "KidsWiFi".
/etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=KidsWiFi
hw_mode=g
channel=7
wpa=2
wpa_passphrase=(パスワード)
wpa_key_mgmt=WPA-PSKA continuación, especifique el rango de direcciones IP que se asignará a los dispositivos conectados.
/etc/dnsmasq.conf
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24hPor último, configure el reenvío de IP y NAT para que la Raspberry Pi pueda actuar como intermediario de la conexión a Internet. Sin este paso, aunque se conecte a KidsWiFi, no se podrá salir a Internet.
# IPフォワーディングを永続化
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/routed-ap.conf
# NATの設定(eth0経由でインターネットに出られるようにする)
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADESurgió un problema: wlan0 pasaba a estado DOWN cada vez que se reiniciaba el dispositivo. Para solucionarlo, creé un archivo de servicio de systemd que ejecuta la configuración de red automáticamente al arrancar. Así fue como lo resolví, entre quejas a Claude del tipo "¿¡Por qué vuelve a no conectar!?".
Cuando "KidsWiFi" apareció en la lista de redes WiFi del móvil y por fin pude conectarme a Internet, escribí en el chat, casi sin darme cuenta: "¡Profe, funciona!" (y sí, lo escribí de verdad).
Paso 3 — Crear el panel de administración en una aplicación web
Implementación de una pantalla controlable desde el móvil con Python + Flask
Con el punto de acceso WiFi ya funcionando, el siguiente paso es un panel de administración para activar y desactivar la conexión desde el móvil. Usaremos "Flask", un framework web de Python, para ejecutar un servidor web en la Raspberry Pi. El flujo consiste en desarrollar primero en un entorno local en Mac, comprobar que funciona y después transferirlo a la Raspberry Pi.
Terminal (Mac) — Preparación del entorno de desarrollo
python3 -m venv venv
source venv/bin/activate
pip install flaskEn realidad, el encendido y apagado del WiFi funciona bloqueando únicamente el acceso a Internet. La señal de KidsWiFi siempre está emitiendo, y se usa iptables, el cortafuegos de Linux, para descartar o permitir los paquetes hacia Internet. Llevado a código, resulta sorprendentemente sencillo.
app.py (extracto) — Parte principal del control del WiFi
import subprocess
def enable_internet():
# ブロックルールを削除 → インターネット解放
subprocess.run([
'sudo', 'iptables', '-D', 'FORWARD',
'-i', 'wlan0', '-j', 'DROP'
], capture_output=True)
def disable_internet():
# ブロックルールを追加 → インターネット遮断
subprocess.run([
'sudo', 'iptables', '-I', 'FORWARD',
'-i', 'wlan0', '-j', 'DROP'
], capture_output=True)Con esto, la red se detiene. Un solo comando y el iPad de mi hijo se queda sin conexión. Sentí que había conseguido un poder increíble (aunque todavía no lo uso bien).
Creé las pantallas del sistema por separado: una para niños y otra para padres.
En la pantalla para niños incluí, ¡nada menos que una función de ruleta!
Un límite de tiempo impuesto unilateralmente no le gustaría a ningún niño. Así que la idea es que, si el resultado sale de una ruleta que ellos mismos giran, quizás lo acepten mejor.
Que vivan con emoción, como un juego, la pregunta de "¿cuánto Wi-Fi tengo hoy?". Es un mecanismo para convertir la negociación sin salida sobre "cuándo dejar el iPad" en un juego un poco más alegre.
- Pantalla para niños
→ La ruleta sortea 30, 45 o 60 minutos.
→ Cuenta regresiva del tiempo restante
→ Tras agotarse el tiempo, enfriamiento de 1 hora
→ Tiempo de uso acumulado
→ Muestra las tiradas de ruleta restantes - Panel para padres
→ Protección con contraseña
→ WiFi de emergencia OFF
→ Modo deberes (bloqueo total)
→ Límite de tiradas de ruleta
→ Hora de desactivación forzada
→ Registro del historial de uso
Durante el desarrollo surgió el problema de que "como Mac no tiene iptables, no se puede probar". Para Mac preparé funciones simuladas (que solo imprimen un mensaje con print) para poder verificar el funcionamiento.
Este tipo de "¡me atasqué, y ahora qué hago!" lo fui resolviendo todo consultando a Claude.
Por cierto, como soy diseñador, mientras esperaba el resultado pensaba que tendría que ajustar yo mismo el diseño de la pantalla, pero salió con un diseño bastante bonito, lo que me dejó un poco sin palabras. Casi no tuve que hacer correcciones.
Es algo que me deja un poco frustrado, pero también contento.
Paso 4 — Despliegue en la Raspberry Pi e inicio automático
Transferencia de archivos por SCP → registro del servicio systemd
Transfiero a la Raspberry Pi los archivos generados en el Mac. Basta con un solo comando scp.
Terminal (Mac) — Transferencia a la Raspberry Pi
scp -r templates app.py [email protected]:~/wifi-manager/Como es un fastidio iniciar Flask manualmente cada vez que se reinicia, voy a escribir un archivo de servicio de systemd para que arranque automáticamente. El objetivo es que, al encender el equipo, todo funcione solo.
/etc/systemd/system/wifi-manager.service
[Unit]
Description=WiFi Manager
After=network.target wifi-setup.service
[Service]
ExecStartPre=/bin/bash -c 'echo > /home/pi/wifi-manager/state.json'
ExecStartPre=iptables -F FORWARD
ExecStart=/usr/bin/python3 /home/pi/wifi-manager/app.py
WorkingDirectory=/home/pi/wifi-manager
Restart=always
User=root
[Install]
WantedBy=multi-user.target# サービスを有効化して起動
sudo systemctl enable wifi-manager
sudo systemctl start wifi-managerCon esto, basta con encender el equipo para que todo funcione. Al acceder a http://192.168.4.1:5000 desde el navegador del móvil, se abre la pantalla de la ruleta. ¡Increíble, de verdad funcionó!
Lo que pensé al probarlo
Que yo, que no soy ingeniera, haya podido completar desde la configuración de red hasta Python se debe, sin duda, a que avancé mediante un "diálogo" con Claude.
Cuando me atasco, le paso el error tal cual. Si pregunto "¿Qué debo hacer ahora?", me enumera los pasos. Si pregunto "¿Por qué pasa esto?", me lo explica desmenuzado.
Se habla mucho de "ingenieros que desarrollan a toda velocidad con IA", pero la IA también puede ser el mejor compañero para resolver pequeños problemas cotidianos que, aunque parezcan menores, son muy reales en la vida personal.
"Una idea puede hacerse realidad, sin importar el tamaño de la organización o las habilidades individuales"
Sentir esa democratización de la creación en primera persona fue lo más valioso de esta experiencia.
Y en cuanto al problema principal, el iPad de mi hijo... en realidad, todavía no lo he resuelto.
El sistema funciona perfectamente. Ahora depende de cómo gestione yo, como madre, su uso. ¡Ahí voy!
Vivo en Fukushima y paso el día en una batalla constante con mi hijo, que es muy activo. Diseñadora de formación en Bellas Artes y responsable de operaciones, combino mi sensibilidad artística con el trabajo diario. Mi punto fuerte es la capacidad de respuesta y reacción rápida, forjada con la crianza.
Oga
Diseñadora / Gerente de operaciones