Uma aplicação Android moderna para monitoramento de saúde usando o smart ring JCRing (modelo J2301A).
- Escaneamento e descoberta de dispositivos JCRing
- Conexão automática e gerenciamento de estado
- Monitoramento de nível de bateria em tempo real
- Reconexão automática quando disponível
- Frequência Cardíaca: Medição em tempo real e histórico
- SpO2: Saturação de oxigênio no sangue
- Temperatura Corporal: Monitoramento contínuo
- Atividade Física: Passos, calorias, distância
- HRV: Variabilidade da frequência cardíaca
- Sono: Análise de padrões de sono (futura implementação)
- Exercícios: Múltiplos modos de exercício (futura implementação)
- Dashboard: Visão geral dos dados de saúde
- Dispositivos: Gerenciamento de conexões Bluetooth
- Dados de Saúde: Visualização detalhada dos dados coletados
- Configurações: Configurações do dispositivo e aplicativo
- Kotlin: Linguagem principal
- Jetpack Compose: Interface de usuário moderna
- Material 3: Design system moderno
- ViewModel & LiveData: Gerenciamento de estado
- Coroutines & Flow: Programação assíncrona
- MVVM: Model-View-ViewModel pattern
- Repository Pattern: Separação de fontes de dados
- Clean Architecture: Separação clara de responsabilidades
- BLE SDK J2301A: SDK oficial do smart ring
- PermissionX: Gerenciamento simplificado de permissões
- Navigation Component: Navegação entre telas
- Room Database: Armazenamento local (futuro)
- Android Studio Arctic Fox ou superior
- Android SDK 21+ (Android 5.0)
- Dispositivo Android com Bluetooth Low Energy (BLE)
- Smart ring JCRing modelo J2301A
git clone [URL_DO_REPOSITORIO]
cd ring/JCRingApp- Abra o Android Studio
- Selecione "Open an existing project"
- Navegue até a pasta
JCRingApp - Aguarde o sync do Gradle
O módulo blesdk_2301 já está incluído no projeto com todas as dependências necessárias.
A aplicação requer as seguintes permissões:
BLUETOOTH/BLUETOOTH_CONNECTBLUETOOTH_ADMIN/BLUETOOTH_SCANACCESS_FINE_LOCATIONACCESS_COARSE_LOCATION
./gradlew assembleDebug./gradlew assembleRelease./gradlew test./gradlew clean- Abra a aplicação
- Conceda as permissões de Bluetooth e localização
- Navegue até a aba "Devices"
- Na aba "Devices", toque em "Scan for Devices"
- Aguarde seu JCRing aparecer na lista
- Toque em "Connect" no dispositivo desejado
- Aguarde a conexão ser estabelecida
- Após conectado, vá para a aba "Dashboard"
- Use os botões "Heart Rate" e "SpO2" para medições manuais
- Os dados aparecerão automaticamente na tela
- Navegue para "Health Data" para ver detalhes
- Na aba "Settings", configure:
- Informações pessoais
- Unidades de medida
- Configurações do dispositivo
app/
├── src/main/java/com/jcring/app/
│ ├── data/
│ │ ├── bluetooth/ # Gerenciamento Bluetooth
│ │ ├── models/ # Modelos de dados
│ │ └── database/ # Banco de dados (futuro)
│ ├── domain/ # Lógica de negócio (futuro)
│ ├── presentation/
│ │ ├── ui/
│ │ │ └── screens/ # Telas da aplicação
│ │ ├── viewmodel/ # ViewModels
│ │ └── theme/ # Tema e cores
│ └── JCRingApplication.kt # Classe Application
└── blesdk_2301/ # SDK BLE oficial
BleManager: Gerenciamento de conexõesBleSDK: Comandos para o dispositivoDataListener2301: Callbacks de dadosBleConnectionListener: Estados de conexão
// Conectar ao dispositivo
BleManager.getInstance().connectDevice(macAddress, false, connectionListener)
// Iniciar medição de frequência cardíaca
val command = BleSDK.SetDeviceMeasurementWithType(AutoTestMode.AutoHeartRate, 60, true)
BleManager.getInstance().writeValue(command)
// Receber dados
val dataListener = object : DataListener2301 {
override fun dataCallback(maps: Map<String, Any>?) {
// Processar dados recebidos
}
}- Estrutura básica da aplicação
- Integração com SDK BLE
- Interface de usuário moderna (Compose)
- Gerenciamento de estado (ViewModel)
- Conexão Bluetooth
- Medição de frequência cardíaca
- Medição de SpO2
- Monitoramento de temperatura
- Dados de atividade
- Dashboard interativo
- Banco de dados local (Room)
- Gráficos e visualizações
- Histórico de dados
- Configurações avançadas
- Notificações
- Sincronização com nuvem
- Análise de tendências
- Relatórios de saúde
- Compartilhamento de dados
- Múltiplos dispositivos
- Verifique se o Bluetooth está ativado
- Confirme as permissões de localização
- Certifique-se de que o smart ring está próximo e carregado
- Reinicie o Bluetooth no smartphone
- Remova e reinsira a bateria do smart ring
- Verifique se não há outros apps conectados ao dispositivo
- Confirme que o dispositivo está conectado
- Verifique se as medições foram iniciadas
- Aguarde alguns segundos para os dados aparecerem
Este projeto é licenciado sob a licença MIT. Veja o arquivo LICENSE para detalhes.
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Para suporte e dúvidas:
- Crie uma issue no repositório
- Consulte a documentação do SDK JCRing
- Verifique os logs de debug na aplicação
Desenvolvido com ❤️ para monitoramento de saúde inteligente