feat(placa): Wi-Fi com modo de configuração "Carinha-Config"

Serviço carinha-wifi (sistema/wifi, só biblioteca padrão + hostapd e
dnsmasq como filhos). Com a rede salva, conecta como cliente e assume o
endereço fixo 192.168.1.35; sem rede salva, ou se a rede sumir por 3 min,
vira o ponto de acesso "Carinha-Config" com página de configuração que
abre sozinha no celular (responde aos testes de internet do Android,
iPhone e Windows e anuncia o portal por DHCP).

- Lista as redes encontradas com o sinal, aceita rede escondida e opção
  de endereço fixo ou DHCP; senha guardada só para root (PSK derivada).
- Senha errada: a rede anterior continua salva e o ponto de acesso volta
  com o aviso. Sem ninguém conectado, tenta a rede salva a cada 5 min
  (faltou luz e a placa ligou antes do roteador).
- Quando o Wi-Fi assume o .35, o cabo passa para 192.168.1.34 (reserva);
  arp_ignore/arp_announce evitam conflito com os dois ligados.
- Economia de energia do Wi-Fi desligada (atrasos e quedas no unisoc).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
julio
2026-10-06 22:43:54 -03:00
co-authored by Claude Opus 5.5
parent 05e82dfd75
commit 50b6f97b50
3 changed files with 416 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
[Unit]
Description=Carinha - Wi-Fi com modo de configuracao (ponto de acesso Carinha-Config)
After=systemd-networkd.service network-pre.target
Wants=systemd-networkd.service
[Service]
ExecStart=/usr/bin/python3 /usr/local/sbin/carinha-wifi
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target