Hallo! Ich bin Oga, Designer und Operations Manager.
Ich bin seit 2015 dabei und gehöre schon zum alten Eisen, aber normalerweise schreibe ich im Liberogic-Blog Artikel, deren Nutzen fragwürdig ist.
Aber diese Mal möchte ich mich zusammennehmen und etwas ernster nehmen.
Um es klar zu sagen: Meine praktische Erfahrung als Ingenieur ist praktisch null.
Auch wenn ich ab und zu ein Terminal bei der Arbeit sehe, schaue ich nur auf die durchlaufenden Protokolle, und ich dachte, dass es Sache der Profis wäre, selbst Befehle einzugeben und etwas zu erstellen.
Und jetzt habe ich mit einem Raspberry Pi alles von der Netzwerkkonfiguration bis zur Implementierung einer Web-App geschafft. Manchmal zeigt der Mensch überraschende Kraft, wenn er unter Druck gesetzt wird.
Das Auslöser: Das iPad-Problem des Kindes
Mein Kind kann einfach nicht aufhören, auf das iPad zu tippen. Ohne Aufsicht gibt es kein Ende.
Also wollte ich dieses Problem zunächst angehen.
Genau zu diesem Zeitpunkt bekam ich von meinem Unternehmen den Auftrag: "Versucht doch, etwas Eigenes zu schaffen, als würdet ihr ein eigenes Hackathon durchführen."
Mein Unternehmen erlebt gerade einen beispiellosen Claude Code-Boom. Das gesamte Team arbeitet mit Claude als Begleiter, und das Büro ist voller Entwicklungsaktivität. Ich nutze den 25-Dollar-Plan, aber es gibt auch ehrgeizige Kollegen, die teurere Pläne nutzen. Insgesamt herrscht eine Atmosphäre von "Lass uns einfach alles mit KI bauen".
"Ich habe schon lange davon geträumt, einen Raspberry Pi zu berühren (der Grund ist einfach, dass er cool aussieht)"
"Ich möchte das iPad-Problem auf technische Weise lösen"
"Ich möchte beim Hackathon etwas Konkretes hervorbringen"
Diese drei Leidenschaften verschmolzen zusammen und führten zur Geburt des Projekts: "Ein Verwaltungssystem, mit dem man mit einem Knopfdruck auf dem Smartphone das Kinder-Wi-Fi zwingend AN/AUS schalten kann".
Ich sehe zwar manchmal ein Terminal, aber Konfigurationen zusammenstellen? Fast nie.
Mit Hilfe von Claude habe ich trotzdem diesen "magischen Kasten" erstellt, indem ich mehrmals überlegungen angestellt habe!
Schritt 1 — Raspberry Pi-Setup
Vorbereitung mit Raspberry Pi Imager → SSH-Verbindung
Zunächst installieren wir das Betriebssystem auf dem Raspberry Pi 4. Ich installierte Raspberry Pi Imager (das offizielle Schreibtool) auf meinem Mac und schrieb das 64-Bit-Betriebssystem auf die MicroSD-Karte. In den Schreibeinstellungen ist es wichtig, SSH zu aktivieren.
Nachdem ich den Raspberry Pi mit einem LAN-Kabel mit dem Router verbunden und eingeschaltet habe, kann ich mich vom Mac-Terminal aus mit diesem einfachen Befehl verbinden.
terminal (Mac)
ssh [email protected]Der Moment, als pi@raspberrypi:~ $ im Terminal erschien, war wirklich ergreifend. Zuerst aktualisiere ich das System.
sudo apt update && sudo apt upgrade -ySchritt 2 — WiFi-Zugangspunkt einrichten
hostapd / dnsmasq / iptables Konfiguration
Um den Raspberry Pi als "WiFi-Zugangspunkt" zu betreiben, installiere ich zwei Softwarepakete. hostapd sendet das WiFi-Signal aus, und dnsmasq verteilt IP-Adressen an verbundene Geräte.
sudo apt install hostapd dnsmasq
In der Konfigurationsdatei trage ich die SSID (WiFi-Name) und das Passwort ein. Diesmal nannte ich es "KidsWiFi" für bessere Übersicht.
/etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=KidsWiFi
hw_mode=g
channel=7
wpa=2
wpa_passphrase=(パスワード)
wpa_key_mgmt=WPA-PSKAls Nächstes lege ich den Bereich der IP-Adressen fest, die an verbundene Geräte verteilt werden.
/etc/dnsmasq.conf
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24hAbschließend konfiguriere ich IP-Forwarding und NAT, damit der Raspberry Pi als Internetverteiler fungiert. Ohne diese Einstellung hätten Geräte, die sich mit KidsWiFi verbinden, keinen Internetzugang.
# 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 MASQUERADEBei jedem Neustart kam es zu einem Problem, bei dem wlan0 DOWN ging. Ich schrieb eine systemd-Service-Datei, um die Netzwerkkonfiguration beim Start automatisch auszuführen. Das war die Szene, in der ich weinend bei Claude um Hilfe bat und das Problem schließlich gelöst bekam.
Als "KidsWiFi" in der WiFi-Liste des Smartphones auftauchte und ich mich mit dem Netzwerk verbinden konnte, tippte ich sofort im Chat nach: "Lehrer! Es funktioniert!" (ich habe es wirklich abgesendet).
Schritt 3 – Verwaltungsbildschirm in der Web-App erstellen
Python + Flask – Implementierung einer Bedienoberfläche für Smartphones
Jetzt, da der WiFi-Zugangspunkt funktioniert, brauche ich einen Verwaltungsbildschirm, der vom Smartphone aus gesteuert werden kann. Ich verwende Pythons Web-Framework "Flask", um einen Webserver auf dem Raspberry Pi auszuführen. Mein Ablauf war: Zuerst in der lokalen Umgebung auf dem Mac entwickeln, überprüfen, dass es funktioniert, und dann auf den Raspberry Pi übertragen.
Terminal (Mac) – Vorbereitung der Entwicklungsumgebung
python3 -m venv venv
source venv/bin/activate
pip install flaskWiFi-AN/AUS funktioniert eigentlich nach diesem Prinzip: "Es blockiert nur die Verbindung zum Internet". Das KidsWiFi-Signal strahlt ständig, und mit iptables, einer Linux-Firewall, schalte ich um, ob Pakete ins Internet durchgelassen werden oder nicht. Der Code ist überraschend einfach.
app.py (Auszug) – Der Kernbereich der WiFi-Steuerung
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)Damit stoppt das Internet. Mit einem einzigen Befehl kann ich das iPad meines Kindes stoppen. Ich hatte das Gefühl, großartige Macht erworben zu haben (auch wenn ich sie noch nicht richtig einsetzen kann).
Ich habe die Systemoberfläche separat für Kinder und Eltern gestaltet.
Der Kinderschirm hat sogar eine Glücksrad-Funktion!
Ein einseitiges Zeitlimit ist für Kinder nicht gerade spannend. Also dachte ich: Wenn sie das Rad selbst drehen und das Ergebnis akzeptieren, werden sie sich eher damit einverstanden erklären, oder?
Das Spiel "Wie viele Minuten WiFi-Zeit heute?" soll ihnen ein bisschen Vergnügen bereiten. Es ist ein Trick, um die frustrierenden Verhandlungen über das "Wann darf ich das iPad weglegen?" in ein freudiges Spiel zu verwandeln.
- Kinderbildschirm
→ Mit dem Glücksrad können Sie 30 Minuten, 45 Minuten oder 1 Stunde gewinnen.
→ Countdown der verbleibenden Zeit
→ 1-stündige Abkühlphase nach Zeitablauf
→ Gesamtnutzungszeit
→ Verbleibende Anzahl der Glücksrad-Drehungen - Eltern-Dashboard
→ Passwortschutz
→ Notfall-WLAN AUS
→ Hausaufgabenmodus (vollständige Blockade)
→ Glücksspiel-Drehungen begrenzen
→ Erzwungene Ausschaltzeit
→ Nutzungsverlauf-Protokoll
Während der Entwicklung trat ein Problem auf: "Mac hat kein iptables, daher können wir nicht testen". Wir haben für Mac eine Dummy-Funktion erstellt (die nur eine print-Anweisung ausgibt), um Funktionstests zu ermöglichen.
Alle derartigen "Wir stecken fest! Was nun?" Momente haben wir durchgehend mit Claude besprochen.
Nebenbei gesagt bin ich von Beruf Designer, daher dachte ich mir, während ich auf die Ausgabe wartete: „Ich muss das Bildschirmlayout wohl selbst anpassen." Doch die Ausgabe war überraschend gut formatiert, weshalb ich ein wenig enttäuscht war. Ich musste fast keine Nacharbeiten durchführen.
Das ist irgendwie frustrierend und gleichzeitig erfreulich.
Schritt 4 — Auf dem Raspberry Pi bereitstellen und automatisch starten
Dateiübertragung per SCP → Registrierung als systemd-Dienst
Die auf dem Mac erstellte Datei wird zum Raspberry Pi übertragen. Mit dem scp-Befehl geht das im Handumdrehen.
Terminal (Mac) — Dateiübertragung auf Raspberry Pi
scp -r templates app.py [email protected]:~/wifi-manager/Das manuelle Starten von Flask bei jedem Neustart ist mühsam. Deshalb schreibe ich eine systemd-Servicedatei, um Flask automatisch zu starten. Das Ziel ist ein System, das nach dem Einschalten vollständig von selbst läuft.
/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-managerDamit ist jetzt alles eingerichtet, um nur noch die Stromversorgung einzuschalten und alles funktioniert. Wenn ich von meinem Smartphone-Browser auf http://192.168.4.1:5000 zugreife, wird der Glücksrad-Bildschirm angezeigt. Unglaublich, es funktioniert wirklich.
Was ich dabei gelernt habe
Als Nicht-Ingenieur konnte ich vom Netzwerk-Setup bis hin zu Python alles bewältigen – zweifellos, weil ich
mit Claude im Dialog vorangekommen bin. Wenn ich stecken bleibe, werfe ich den Fehler einfach hin. Wenn ich frage „Was muss ich als Nächstes tun?", listet er die Schritte auf. Wenn ich frage „Warum passiert das so?", erklärt er es mir verständlich.
In der Welt hört man oft von „Ingenieuren, die mit AI blitzschnell entwickeln", aber AI ist auch der beste Begleiter, um kleine, aber wirklich wichtige Probleme im persönlichen Leben zu lösen.
„Die Ideen, die mir in den Sinn kommen, werden Wirklichkeit – jenseits der Grenzen von Organisationsgröße und individuellen Fähigkeiten."
Dieses Gefühl der Demokratisierung von Produktentwicklung selbst zu erleben war das wertvollste Takeaway für mich.
Nun, was das eigentliche iPad-Problem der Kinder angeht … es ist tatsächlich noch nicht gelöst.
Das System läuft einwandfrei. Der Rest hängt von meinem Management ab – ich werde mein Bestes geben!
Lebt in Fukushima und führt täglich Gefechte mit seinem überaktiven Sohn. Setzt seine Sensibilität als Kunsthochschulabsolvent als Designer und Betriebsmanager ein und engagiert sich täglich. Seine Anpassungsfähigkeit und Reaktionsschnelligkeit, die durch die Kindererziehung entwickelt wurden, sind seine Stärken.
Sägespäne
Designer / Operations Manager