CDC APiClcock

Rédigé par jerome aucun commentaire


15 janvier 2014 Private aucun


CDC APICLOCK


Table


Objectif
Prérequis fonctionnels
Fonctionnalités
  • 1 Front Office
  • 1.1 Page d'accueil
  • 1.2 Page d'accueil connecté
  • 1.3 Page d'ajout d'alarme
User case
Schémas fonctionnels
MCD

Acces

------------
CODE

FRONT

BACK (ssh sur le Raspberry Pi)
  • Acces : ssh root@88.170.96.197 -p 2230
  • Code : apiclock
  • Dossier (clone du Git) = /home/pi/GIT/apiclock
  • Lancer "python jerome.py" puis aller à l'adresse Front


Objectif

------------
Définir un document bordant fonctionnellement le champ d'application minimal de l'objet connecté APICLOCK. L'APiClock est un réveil connecté évolutif accessible depuis une webapp. Totalement développé en python sur la base d'un raspberry Pi , l'ensemble du hardware composant l'APiClock (alimentation, Enceintes, Raspberry, clef Wifi) est contenu dans un boitier aux spécifications disponibles (plan 2D disponible sur demande)

Prérequis fonctionnels

------------
  • Utilisation langage PYTHON
  • Accessibilité Web de l'interface sur la base du framework Python FLASK
    (le T2 verra des interactions matérielles)
  • Plateforme matérielle = Raspberry Pi


Fonctionnalités

------------
Listing
  • Afficher Heure
  • Inscription
  • Connexion depuis compte Google / Twitter (Google / Twitter connect)
  • Ecoute radio streaming depuis une liste (ajout / suppression / modification)
  • Gestion de podcast (ajout / suppression / modification)
  • Gestion de la musique : morceau / rép. (ajout / suppression / modification)
  • Programmation d'alarme
  • Affichage des RDV (récup depuis Google Cal)
  • Affichage Météo
  • Affichage nombre mail reçu non lu (Gmail) / Nbr Tweet (DM / Mentions)
  • Gestion de la langue
  • Personnalisation


1 Front Office

1.1 Page d'accueil


Actions possibles :
  • Lire l'heure
  • Visualiser le prochain RDV
    ("Prochain RDV dans 3h") avec possibilité d'en savoir plus --> connexion nécessaire
  • Connexion depuis un compte GOOGLE / TWITTER
  • Inscription

Si l'utilisateur est déjà inscrit / connecté, l'interface présente son couple login / mot de passe (masqué) avec la case "Se souvenir de moi" cochée par défaut.

Formulaire d'inscription, il demande les champs suivants: Nom* / prénom / langue (défaut = Fr) / mail*
(* : champ obligatoire)
Le mail doit il être vérifié ??
Il n'existe qu'un seul compte utilisateur, en effet le contraire pourrait provoquer des problèmes lors de la programmation d'alarme (par ex. 2 alarmes définies au même moment avec des stations différentes…)
L' utilisateur est enregistré (ainsi que ses préférences cf. config générale) en BDD

1.2 Page d'accueil connecté


Les utilisateurs connectés sont redirigés vers la page d'accueil connectées qui donne accès à toutes les infos avec possibilité de les modifier directement (configuration)
Actions possibles :
  • Lire l'heure
  • Visualiser les prochaines heures de réveil (Demain heure début / Titre alarme (durée) / type d'alarme (musique / radio / podcast) + bouton "AJOUTER UNE ALARME"
  • Accéder à la programmation d'une SIESTE
  • Visualiser les 5 prochain RDV (+ lien accès vers le googleCal)
    ("Aujourdhui : 15h30 : Titre RDV / LIEU / descriptif " + lien vers détail GoogleCal)
  • Visualiser les données sociales
    ("Nbr de mails non lus // DM twitter reçus // Mentions Twiiter" + lien vers Gmail / Twitter)
  • Affichage de la météo

Pour chacun des services proposés, si l'utilisateur n'est pas connecté (par exemple pas de compte GoogleCal configuré) il lui est proposé d'un créer / configurer un

1.3 Page d'ajout d'alarme


Les utilisateurs connectés ont sur toutes les pages la possibilité d'ajouter une alarme
Une Alarme se définit comme suit :
  • Titre (champ txt 50 char.)
  • Fréquence (Tous les jours / jours de la semaine / ts les jours sauf le we / Demain)
  • Heure de début / durée
  • Type :
    • Musique : Définition d'un mp3 depuis une liste (de morceaux et/ou répertoire)
    • Radio : Définition depuis une liste
    • Podcast : définition depuis une liste
    • (Chaque type donne la possibilité d'ajouter / modifier / supprimer la liste)


La confirmation de l'ajout d'une alarme, provoque une alerte "Alarme programmée" et au click sur ok redirige vers la page d'accueil connectée avec la mise à jour de l'alarme (si click sur annuler : retour sur la page ajout d'alarme avec les données pré saisies en mode édition)

1.3 Page configuration générale


Les utilisateurs connectés ont sur toutes les pages la possibilité d'accéder à la config. générale.
Celle-ci propose les éléments suivants :
  • Rubrique profil (reprise des champs formulaire d'inscriptions / récup depuis Google) en édition


Fonctions

------------

Détail des fonctions à mettre en place :
  • Récupérer l'heure, l'afficher
  • Installation MPD + gestion de la config (sortie son : jack / usb)
  • Gérer - ASM - , récupérer, afficher et jouer les radios de la playlist MPD
  • Récupération depuis web d'un fichier de listes Radio, parsing, création d'une base, insertion
  • Gérer - Administration - de l'accès Wifi (fichier /etc/network/interfaces)
  • Gestion Google / Twitter connect
  • Gestion API Google Cal
  • Gestion utilisateur / enregistrement des infos (inscription) en base
  • Gestion des alarmes - ASM - par Crontab (ou autre)
  • Gestion site Web sécurisé multilingue
  • Gestion de musique (uploader / jouer / supprimer)
  • Gestion input / output (bouton On / Off)


Use case

------------

Réveil = Raspberry pi connecté au web (filaire et/ou Wifi) + à la chaîne (Audio = jack out mais potentiellement Dac USB)

  • Un utilisateur se connecte depuis son mobile à son réveil
  • S'identifie (reconnu en tant qu'admin) et constate qu'il n'a pas d'alarme prévue pour les lundi
  • Ajoute un podcast (en ajoutant le RSS du podcast souhaité)
  • Ajoute et nomme une alarme pour tous les lundi
  • Choisi de se faire réveiller pour cette alarme par le podcast ajouté
  • Valide et le lundi suivant l'alarme se déclenche (lancement de MPD sur le réveil)

Partager cet article sur :


Écrire un commentaire

Quelle est la quatrième lettre du mot vdobz ? :