Presence Publisher App
Este aplicativo gratuito e de código aberto publica regularmente em um tópico MQTT configurável sempre que está conectado a uma determinada rede Wi-Fi ou em proximidade a um beacon Bluetooth. Ele pode ser usado para integrar a presença do seu telefone na automação residencial.
O aplicativo utiliza a biblioteca AndroidX WorkManager, portanto, as notificações são enviadas mesmo que o telefone esteja em espera. Além das verificações agendadas regularmente, o aplicativo também reage a mudanças na conexão de rede.
O cliente MQTT suporta autenticação anônima e autenticação por nome de usuário/senha, bem como autenticação por certificado de cliente. Para mais detalhes sobre como configurar a autenticação baseada em certificado, consulte https://github.com/ostrya/PresencePublisher/blob/main/README.md.
Observe que os dados que você escolher publicar são enviados apenas para o servidor de sua escolha. O aplicativo não envia nenhum dado para mim ou qualquer outro terceiro.
Se você quiser saber mais sobre como este aplicativo processa seus dados de localização, consulte a política de privacidade em https://ostrya.github.io/PresencePublisher/en/PRIVACY_POLICY.html.
Permissões
- ACCESS_BACKGROUND_LOCATION: no Android 10+, necessário para recuperar o SSID do Wi-Fi conectado enquanto está em segundo plano
- ACCESS_FINE_LOCATION: necessário para descobrir beacons; no Android 9+, necessário para recuperar o SSID do Wi-Fi conectado
- ACCESS_NETWORK_STATE: necessário para registrar o listener de mudança de rede
- ACCESS_WIFI_STATE: necessário para recuperar o SSID do Wi-Fi conectado
- BLUETOOTH: necessário até o Android 11 para se comunicar com beacons
- BLUETOOTH_ADMIN: necessário até o Android 11 para descobrir beacons
- BLUETOOTH_CONNECT: no Android 12+, necessário para ler os nomes dos beacons
- BLUETOOTH_SCAN: no Android 12+, necessário para descobrir beacons
- FOREGROUND_SERVICE: necessário no Android 9+ para executar o aplicativo de forma confiável
- INTERNET: somente necessário se seu servidor MQTT não estiver rodando localmente
- POST_NOTIFICATIONS: necessário no Android 13+ para criar notificações
- RECEIVE_BOOT_COMPLETED: necessário para iniciar o serviço na inicialização
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: no Android 6+, necessário para solicitar a desativação da otimização de bateria










