Dopo la creazione dello
script python ho deciso di
cimentarmi nella creazione di una skill per Alexa che mi leggesse il
piccolo report giornaliero con tutti i numeri del covid in Italia. La
skill restituisce:
- il numero di nuovi positivi,
- il numero di tamponi totali della giornata,
- il tasso di positività,
- i nuovi ingressi in terapia intensiva e
- il numero decessi.
Non avendo trovato alcuna skill che proponeva questi dati ho deciso di provare per la prima volta a scrivere la skill.
Come per il file python anche i dati da cui parte la skill sono sono quelli ufficiali pubblicati dal repository del Dipartimento della Protezione civile.
La skill aggiornerà i dati secondo gli orari pubblicati nella pagina sopra menzionata.
Per la creazione della skill ho utilizzato un tutorial youtube e dove non ho trovato nulla ho semplicemente ragionato fino a
trovare una soluzione funzionante.
Per attivare la skill basta dire:
Alexa, bollettino covid
oppure
Alexa, apri bollettino covid
oppure
Alexa, chiedi a bollettino covid il numero di tamponi
Ripropongo nel seguito i principali
step della creazione della skill:
01. Aprite il sito developer Amazon
02. Skill Builders
03. Sviluppa la tua Skill
04. Crea Skill
05. Custom
06. Alexa-hosted (Python)
07. Start from Scratch
08. Continue with template
09. Interaction Model -> Intents
10. Add Intent
11. Aggiungo gli Intents. Save Models
12. Ho ripetuto il processo per i nuovi positivi, tamponi, deceduti, ospedalizzazioni e tasso di positività
13. Build Model
14. Andiamo su "code"
15. Per inserire gli Intent copiamo e incolliamo quelli già presenti (ad esempio copiamo quello del "HelpIntentHandler" e modifichiamolo secondo gli intent da noi specificati nella scheda "Build". Io ho attivato la funzione ask che chiederà all'utente se vuole sapere altri dati. Se l'utente non risponderà la skill terminerà
16. Aggiungi "
intenthandler" a fondo pagina con gli altri "
SkillBuilder"
17. Ho incollato il codice python dello script modificato cancellando i print (trovate il codice su
github Pymay73) e l'ho modificando alleggerendolo un poco
18. Ho completato il file "requirements.txt" inserendo solo pandas perché ho scoperto che le altre librerie da me usate nel codice python erano già nativamente incluse nel lambda function. Per tutte le librerie non nativamente incluse nel lambda dovrete popolare il file "requirements.txt". Per conoscere la lista delle librerie nativamente incluse potete vedere qui
19. Testiamo il codice sulla scheda "Test"
20. Per effettuare modifiche torniamo alla scheda "Code" e "Build" se le modifiche riguardano gli Intent, gli Slot o la parola di invocazione.
Quando cambierete la scheda da "Test" a "Code" ad esempio riceverete molto spesso il messaggio "Scheduled Manteinance" e dovrete attendere circa un minuto prima di rifreshare la pagina e poter riprendere con le modifiche al codice. Purtroppo è da parecchio che riscontro questo bug nel sito dei devoloper amazon. Quindi dovrete avere pazienza.
Questi sono gli step principali. Se avete dubbi potete consultare il codice sorgente sulla mia pagina github Pymay73
Essendo una prima versione potrebbe
non funzionare sempre a dovere e accetto consigli in caso di scoperta di
bug.