Qu’est ce qu’Onyx ?
Genèse
Il ya quelques années j’ai revu Iron Man, et en le redécouvrant j’ai découvert la puissance de Jarvis son assistant. Vous allez vous dire : il existe des milliers de projets de ce type sur Internet mais j’ai voulu donner ma vision à moi et non une vision globale. J’ai donc fait quelques recherches sur le Web et j’ai découvert plusieurs projets tel que Gladys qui m’a aider à débuter dans ce genre de projet avec la découverte du Raspberry Pi. Je me suis dit, et pourquoi pas le miens ?
Généralités et avancement
Onyx n’est pas simplement un assistant vocal comme on peut le voir un peu partout car il emporte avec lui un dashboard permettant de gérer les nombreux services qu’il transporte. Il fonctionne sur un Raspberry Pi, et est codé en Python avec pour le dashboard le framework flask qui permet d’être rapide et léger.
Dashboard :
Onyx a pour but de vous simplifier la vie , son but premier est de tout réunir en un seul endroit: Vous voulez consulter vos mails, ajouter des rendez-vous, avoir la météo et régler vos réveils en même temps ? C’est le but d’Onyx , de tout centraliser.
Imaginons :
Vous rentrez chez vous, vous lancez votre ordinateur et votre page d’accueil est Onyx , puis vous vous connectez avec votre compte personnel et vous tombez sur votre page d’accueil rempli de vos widgets que vous avez choisis au préalable. Vous décidez de lancer votre musique préférée pendant que vous consultez vos mails sur la mailbox. Puis vous allez programmer votre réveil pour le lendemain avec votre musique préférée pour vous réveiller. Le lendemain Onyx vous réveille avec votre musique puis vous indique l’heure et la météo du jour pour vous permettre de vous habiller de la bonne façon , de plus , il vous donne vos rendez-vous de la journée qui vienne directement de votre compte Google !
Je n’essaye pas de reproduire le fameux Jarvis qui est selon moi pas encore possible avec les ressources que l’on a en ce moment, mais j’essaye de comprendre et de formuler les besoins primaires d’un utilisateur en terme d’assistant personnel.
Compétences:
Onyx possède maintenant et depuis peu une fonctionnalité vocale, qui est gérée par Snowboy qui permet la détection par mot clef, puis pour le moment la reconnaissance vocale est faite via le système de Google qui permet une internationalisation, Onyx étant disponible en Français et en Anglais.
Il y a dans Onyx un système de compétences (Skills) où je réutilise le système qu’utilise Mycroft pour ces Skills qui marche très bien et permet donc de réutiliser les compétences de Mycroft à une exception près : Les compétences dans Onyx peuvent et ont une interface graphique intégré dans le dashboard permettant de le configurer plus simplement.
Il s’agit plus de devoir tout configurer et entrer des lignes de commande que l’on ne comprend pas car Onyx le fait pour vous il vous suffit simplement de brancher le raspberry pi et le tour est joué !
Prenons quelques skills déjà présent et fonctionnel :
Il peut contrôler vos différentes lampes, Récupérer vos mails Gmail et vous les lires, Raconter des blagues, Traduire ( exemple: Traduis-moi je ne me sens pas bien en allemand ) le tout dans 8 langues différentes Mettre en place des alarmes, Lui demander de vous faire écouter votre musique spotify et de choisir votre playlist préférée…
Les possibilités sont infini : Lire le fil d’actualité twitter, poster sur facebook, etc … Tout est possible avec Onyx !
Bot :
On peut aussi parler avec Onyx tout simplement via le chat sur le chatbot ce qui permet de dialoguer et de lui demander de faire certaines actions tel que fermer ou allumer votre lampe ou lui demander la météo. Voici d’ailleurs une légère présentation vidéo du chatbot :
https://www.youtube.com/watch?v=CinWBesNXqE
Le Raspberry Pi
J’ai décidé d’utiliser un Raspberry pi pour sa portabilité, sa taille et surtout son coût ! Pour moins de 50 euros, on peut mettre en place Onyx sur un Raspberry Pi. De plus c’est ce qui permet à Onyx de rester ouvert tout le temps, car le pi ne fait pas de bruit et permet de le laisser ouvert tout le temps et est accessible partout dans la maison. Il peut être équipé d’un boîtier et d’une multitude de domestiques qui sont géré par les différentes compétences que vous installerez.
L’installation
L’installation d’Onyx se fait de manière simplifié grâce à l’utilisation d’un installateur qui va télécharger la dernière version d’Onyx et l’installer directement sur la carte SD pour vous simplifier la vie. Une fois la carte dans le Raspberry pi, vous n’avez plus rien à faire le système est déjà préconfiguré et va se lancer directement, vous n’avez plus qu’à vous connecter et à configurer votre assistant selon vos besoins.
Quelques Screenshots
Objectifs
Ce que je veux pour Onyx, c’est de le rendre de plus en plus complet en y ajoutant de plus en plus de fonctionnalité. Onyx peut devenir et autonome et répondre à tous vos besoin grâce à vous et à sa communauté pour pouvoir augmenter ses différentes compétences et lui permettre de devenir plus puissant. Mon but est de partager ma passion et la rendre commune à toute la communauté pour créer le meilleur assistant possible qui répond à tous nos besoins.
L’objectif principale est d’avoir une communauté soudé pour contribuer au maximum au projet et le rendre meilleur et tout cela est possible ! Venez d’ailleurs vous inscrire sur le forum : https://community.onyxlabs.fr
Le projet et son originalité
Onyx est certe un assistant au même titre que Gladys ou même Mycroft mais il a le mérite de la simplicité d’installation et d’utilisation. Je ne veux pas clamer que j’ai réussi à reproduire le fameux Jarvis, mon but est avant tout d’avoir quelque chose de fonctionnel qui permet à l’utilisateur d’avoir son propre assistant et d’y contribuer.
Ce qui fait la force d’Onyx, c’est avant tout sa communauté et la création simple de compétence permettant à n’importe qui ( avec des connaissances en informatique ) de faire ses propres compétences et les rendres publique. Et si vous n’avez aucunes compétences, le forum est la pour vous et si vous avez des demandes, les personnes aptes à les réaliser le feront avec joie : https://community.onyxlabs.fr
Si vous avez besoins de renseignement supplémentaire contactez moi directement en commentaire ou sur le site du projet : https://onyxlabs.fr/contact