WACS (Sistema de Controle de Cadeira de Rodas Acessível) é uma aplicação móvel inovadora desenvolvida para transformar a experiência de mobilidade de pessoas com deficiência. O projeto integra controle de hardware (cadeira de rodas motorizada), navegação inteligente focada em acessibilidade, e uma rede social inclusiva.
O WACS não é apenas um controle remoto; é um ecossistema completo de assistência. Ele combina tecnologias modernas (React Native, Firebase, IoT) para oferecer:
- Controle Remoto Universal: Interface para controlar cadeiras de rodas via Bluetooth/Wi-Fi.
- Navegação Acessível: Mapas que destacam rotas sem barreiras e locais adaptados.
- Rede Social Inclusiva: Conecta usuários para compartilhar experiências e avaliações de locais.
- Gamificação: Incentiva a colaboração da comunidade através de pontos e conquistas.
- Joystick Virtual: Controle preciso da cadeira com interface sensível ao toque.
- Modos de Velocidade: Eco, Normal e Sport.
- Comandos de Voz: Controle total por voz ("Para frente", "Parar", "Luzes").
- Telemetria: Monitoramento em tempo real de bateria, temperatura e conexão.
- Rotas Acessíveis: Algoritmos que priorizam caminhos com rampas e calçadas adequadas.
- Mapeamento Colaborativo: Usuários podem adicionar e avaliar locais (banheiros adaptados, estacionamento).
- Alertas de Obstáculos: Avisos visuais e sonoros sobre buracos ou barreiras na via.
- Feed de Comunidade: Compartilhamento de fotos e histórias.
- Chats Regionais: Salas de bate-papo organizadas por cidade (ex: Vale do Ribeira) para conectar pessoas próximas.
- Avaliações Detalhadas: Sistema de review focado em critérios de acessibilidade.
- Sistema de Níveis: Usuários ganham XP ao contribuir com o mapa ou ajudar outros.
- Conquistas: Medalhas por engajamento (ex: "Explorador", "Guia Local").
O projeto segue uma arquitetura moderna e escalável:
- Framework: React Native (Expo SDK 52).
- Linguagem: JavaScript (ES6+).
- Navegação: React Navigation (Stack & Tabs).
- Mapas:
react-native-mapscom integração Google Maps API. - Comunicação:
react-native-ble-plx(Bluetooth) esocket.io-client(Real-time).
- Plataforma: Firebase.
- Auth: Autenticação de usuários (Email/Senha).
- Firestore: Banco de dados NoSQL em tempo real.
- Storage: Armazenamento de mídias (fotos de perfil, posts).
- Microcontrolador: Arduino / ESP32.
- Protocolo: Comunicação via HTTP (Wi-Fi) ou BLE (Bluetooth Low Energy).
O banco de dados é estruturado em coleções principais para garantir performance e escalabilidade:
Armazena perfis de usuários.
uid: Identificador único.mobilityType: Tipo de mobilidade (Cadeira motorizada, manual, etc.).xp: Pontos de experiência acumulados.
Locais mapeados pela comunidade.
location: GeoPoint (Latitude/Longitude).features: Array de tags (ex:['ramp', 'bathroom']).featureRatings: Média de avaliações por critério.
Feed da rede social.
imageUrl: Link da imagem no Firebase Storage.likes: Array de UIDs que curtiram.- Sub-coleção
comments: Comentários do post.
Salas de bate-papo.
type: 'regional' ou 'cidade'.members: Lista de participantes ativos.
src/
├── components/ # Componentes reutilizáveis (Botões, Cards, Inputs)
├── config/ # Configurações globais (Firebase, API Keys)
├── contexts/ # React Contexts (Auth, Bluetooth, Navigation)
├── features/ # Módulos funcionais (Gamificação, Contribuições)
├── navigation/ # Configuração de rotas (AppNavigator)
├── screens/ # Telas da aplicação (Control, Map, Social, Profile)
├── services/ # Integrações externas (Arduino, Firebase API)
└── utils/ # Funções auxiliares e formatadores
- Pré-requisitos: Node.js, npm/yarn, Expo CLI.
- Instalação:
npm install
- Configuração:
- Crie um projeto no Firebase.
- Adicione as credenciais em
src/config/firebase.js. - Adicione sua Google Maps API Key em
app.jsonou.env.
- Execução:
npx expo start
Este é um projeto Open Source focado em impacto social. Contribuições são bem-vindas, especialmente em:
- Melhorias nos algoritmos de rota acessível.
- Novas integrações de hardware.
- Traduções e acessibilidade da interface (i18n, a11y).
Desenvolvido com ❤️ para um mundo mais acessível.