Un'applicazione mobile per la gestione completa degli apiari, delle arnie e di tutte le attività correlate all'apicoltura.
- Gestione completa di apiari e arnie
- Monitoraggio delle regine
- Controlli periodici documentati
- Gestione dei trattamenti sanitari
- Monitoraggio delle fioriture
- Gestione della produzione di miele (melari, smielature)
- Sincronizzazione con server remoto
- Visualizzazione su mappa di apiari e fioriture
- Monitoraggio meteo per gli apiari
- Funzionalità offline
- Flutter SDK >=2.18.0 <3.0.0
- Dispositivo Android (API 21+) o iOS (iOS 11+)
-
Clona il repository:
git clone https://github.com/username/apiario_manager.git -
Installa le dipendenze:
cd apiario_manager flutter pub get -
Configura l'URL dell'API in
lib/constants/api_constants.dart -
Esegui l'app:
flutter run
apiario_manager/
├── lib/
│ ├── constants/ # Costanti dell'app e configurazioni
│ ├── models/ # Modelli dati
│ ├── screens/ # Schermate dell'app
│ ├── services/ # Servizi (API, auth, storage, ecc.)
│ ├── utils/ # Utility e helper
│ ├── widgets/ # Widget riutilizzabili
│ ├── app.dart # Configurazione app
│ └── main.dart # Punto di ingresso
├── assets/ # Risorse (immagini, font, ecc.)
├── pubspec.yaml # Dipendenze e configurazione
└── README.md # Documentazione
Questo documento descrive l'implementazione del riconoscimento vocale utilizzando le API Google Speech-to-Text nell'app Apiario Manager.
L'implementazione sostituisce il pacchetto speech_to_text originale con un sistema basato su Google Speech-to-Text API, che offre un riconoscimento vocale più accurato e robusto, particolarmente utile per i termini tecnici utilizzati nell'apicoltura.
Per utilizzare questa implementazione, è necessario:
- Un account Google Cloud Platform
- Un progetto GCP con Speech-to-Text API abilitata
- Credenziali di servizio con autorizzazioni per Speech-to-Text
Ecco i nuovi file creati per questa implementazione:
lib/services/google_speech_recognition_service.dart- Implementazione del servizio di riconoscimento vocalelib/services/voice_input_manager_google.dart- Manager per l'input vocale che utilizza Google Speech APIlib/services/audio_service.dart- Servizio per la riproduzione di feedback audiolib/services/voice_feedback_service_updated.dart- Versione aggiornata del servizio di feedbacklib/config/google_credentials.dart- File per le credenziali di Google Cloudlib/widgets/google_voice_input_widget.dart- Widget UI per l'input vocalelib/screens/voice_command_screen_updated.dart- Schermata aggiornata per l'input vocale
L'implementazione segue un'architettura a più livelli:
- Livello API -
GoogleSpeechRecognitionServicecomunica direttamente con le API Google - Livello Manager -
VoiceInputManagerGooglecoordina il riconoscimento vocale e l'elaborazione dei dati - Livello UI -
GoogleVoiceInputWidgetfornisce l'interfaccia utente per l'input vocale
- L'utente preme il pulsante del microfono per avviare la registrazione
- L'audio viene registrato e inviato a Google Speech-to-Text API
- Il testo riconosciuto viene elaborato dal
VoiceDataProcessor(esistente) utilizzando Gemini - I dati strutturati vengono visualizzati per la verifica
- L'utente conferma e i dati vengono salvati nel database
Per configurare le credenziali di Google Cloud:
- Accedi alla Console Google Cloud
- Crea un progetto o seleziona un progetto esistente
- Abilita l'API Speech-to-Text
- Crea un account di servizio con ruolo "Speech-to-Text User"
- Crea una chiave JSON per l'account di servizio
- Copia il contenuto del file JSON nelle credenziali in
lib/config/google_credentials.dart
// lib/config/google_credentials.dart
class GoogleCredentials {
static const String serviceAccountJson = '''
{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "your-private-key-id",
"private_key": "your-private-key",
"client_email": "your-client-email",
...
}
''';
}Per utilizzare la nuova implementazione, esegui l'app con la versione aggiornata del main:
flutter run -t lib/main_updated.dartPer migrare completamente l'app dalla precedente implementazione:
- Aggiungi le nuove dipendenze al pubspec.yaml
- Crea la cartella
assets/soundse aggiungi i file audio necessari - Configura correttamente le credenziali Google nel file
google_credentials.dart - Sostituisci
provider_setup.dartconprovider_setup_updated.dart - Sostituisci
main.dartconmain_updated.darto aggiorna il file esistente
- Maggiore precisione: Google Speech-to-Text offre un riconoscimento vocale più accurato, soprattutto per termini tecnici
- Supporto multilingua: Supporto nativo per l'italiano e altre lingue
- Feedback migliorato: Feedback audio e visivo per una migliore esperienza utente
- Compatibilità: Risolve i problemi di compilazione con le versioni più recenti di Flutter e Kotlin
- Google Speech-to-Text API è un servizio a pagamento, ma offre una quota gratuita per utilizzo limitato
- Per l'utilizzo in produzione, configurare la fatturazione e monitorare l'utilizzo
- Considerare l'implementazione di quote utente per limitare i costi
Se incontri problemi con l'implementazione:
- Verifica che le credenziali siano configurate correttamente
- Assicurati di avere una connessione Internet attiva
- Controlla i log per errori specifici dell'API
- Verifica che i permessi del microfono siano concessi nell'app
Per ulteriori informazioni sulle API Google Speech-to-Text, consulta la documentazione ufficiale.
-
Esegui l'app in modalità debug:
flutter run -
Esegui i test:
flutter test -
Genera una build di release:
flutter build apk --release # Android flutter build ios --release # iOS
Per contribuire al progetto, si prega di seguire queste linee guida:
- Fork del repository
- Crea un branch per la tua feature:
git checkout -b feature/nome-feature - Commit delle modifiche:
git commit -m 'Aggiungi feature' - Push al branch:
git push origin feature/nome-feature - Invia una Pull Request
Questo progetto è concesso in licenza con i termini della licenza MIT.
Per domande o supporto, contattare il team di sviluppo all'indirizzo [email protected].