Notre partenaire G-Media m’a prêté une carte Openpicus, dont je dois déjà vous parler depuis un bon moment. Si vous ne connaissez pas, Openpicus est une plateforme de développement vous permettant de connecter différents prototypes à Internet permettant de créer des objets connectés. Openpicus propose un IDE gratuit et simple d’utilisation « Openpicus IDE », qui propose de nombreux avantages que les développeurs apprécieront : 60% de développement en moins, programmation facile et rapide, éditeur de code intégré, configurateur de réseau, wiki openpicus… On pourrait comparer l’OpenPicus un peu à une carte Arduino, mais en plus évoluée et avec un développement encore plus facile.
Aujourd’hui, je vous propose donc de découvrir cette carte au travers d’un petit exemple qui permettra de diffuser de la musique, depuis une carte micro SD ou même en streaming, pilotable facilement sur le réseau. Et si nous donnions la parole à notre box domotique grâce à cela ?
[toc title= »Sommaire »]
I. Déballage
G-Media m’a envoyé un kit relativement complet:
Pour commencer, nous avons le Flyport, qui est le module principal (en bas à gauche), et qui existe en ethernet, en wifi (modèle que nous avons ici), et même en GPRS depuis quelques jours ! Ce module est vraiment tout petit:
Le Flyport est une carte intelligente qui permet de maitriser et gérer des objets à distance grâce au WiFi. Il suffit simplement de l’intégrer dans les appareils électriques pour ensuite piloter les objets via une box ADSL, un smartphone ou une tablette tactile.
Le Flyport vous permet, simplement, de tout inscrire sur le Cloud en WiFi, vous pourrez ainsi :
- Contrôler des radiateurs
- Ouvrir sa porte de garage avec son smartphone
- Remonter des valeurs de capteurs
- Activer des servos moteurs afin de contrôler son robot ( jusqu’à 9 avec un module ).
- Envoyer du son sur une enceinte en IP
- Regarder une camera CMOS au travers de son smartphone….
Seule, cette carte peut déjà permettre de faire de nombreuses choses. Mais il existe de nombreuses cartes d’extension, qui peuvent notamment être intéressantes en domotique, comme la Nest Serial pour gérer des ports série:
La Nest Lighting pour gérer un éclairage ou même des appareils en 220V:
Ou encore la Nest Ocean, permettant de piloter des modules… EnOcean:
Il en existe de nombreuses, pour faire du prototypage, une pour utiliser les cartes d’extension Arduino avec le FlyPort, une autre pour piloter les robots Mindstorm, etc…
Celle que j’ai recue est la Nest Music, permettant de diffuser … de la musique:
Un peu plus grande que le FlyPort (83 x 56mm), la NEST MUSIC permettra de réaliser du streaming audio (stéréo) au travers du réseau IP. Un port microSD (compatible FAT & FAT32) permet de stocker des fichiers audio qui pourront être décodés par le codec VLSI1053 (nombreux formats supportés: MP3, WMA, Ogg Vorbis, etc…).
Pour fonctionner, cette carte devra être alimentée en 5v, et associée à un FlyPort, ethernet ou wifi.
Enfin, nous avons une carte de programmation Usb, qui se connectera sur le Nest Music d’un côté, et en Usb sur un pc de l’autre (cable micro Usb -> Usb fourni), afin de programmer la carte:
Une fois le FlyPort installé sur le Nest Music, accompagné de la carte de programmation et son cable Usb:
Le Flyport vient se connecter à la Nest Music. Les cartes s’assemblent sans aucun problème. Il n’y a plus qu’à passer à la phase d’installation sur le PC.
II. Installation
La programmation OpenPicus se fait actuellement sur un PC sous Windows.
Il faut tout d’abord télécharger le compileur et le SDK gratuit, pour Windows:
Commencez par installer le compileur. Répondez Oui partout, l’installation se fait sans problème particulier.
Idem pour l’IDE Openpicus.
Enfin, il faut installer le driver pour que la carte soit reconnue quand vous la connecterez au PC. Vous trouverez le driver ici.
Une fois la carte branchée et le driver installé, rendez vous dans le gestionnaire de périphérique Windows, vous devriez avoir un nouveau port série virtuel:
Relevez son numéro, vous en aurez besoin plus loin.
Avant d’utiliser le logiciel OpenPicus, il est possible que vous deviez installer le Framework .Net 4 de Microsoft. Si vous avez ce message au lancement de l’application OpenPicus, vous serez automatiquement dirigé vers la page de téléchargement:
Il n’y a alors plus qu’à télécharger et installer le Framework.
Une fois tout cela installé, vous pouvez enfin lancer l’IDE OpenPicus:
III. Développement et déploiement
Je ne vais pas entrer ici dans le détail de la programmation. Le langage est relativement simple, et les personnes à qui s’adresse ce type de carte maitriserons la programmation sans trop de problème, même débutants.
Pour cette utilisation nous allons partir sur un développement tout fait, mis à disposition par G-Media. Il suffit de télécharger le pack ici et de le décompresser. Ce projet va nous permettre de lire des fichiers stockés sur la carte micro SD de la Nest Music en lui envoyant des commandes TCP.
Pour commencer, on ouvre le projet dans OpenPicus IDE:
Tous les fichiers nécessaires au bon fonctionnement sont déjà présents et sont chargés par le programme:
On lance juste le Wizard (bouton en haut à gauche) pour configurer la connexion Wifi de la carte. C’est l’un des aspects pratiques de l’OpenPicus, la configuration de la connexion réseau via un assistant:
Ici, on laisse les options par défaut:
Ici on peut donner un nom spécifique à sa Nest Music sur le réseau:
On peut créer une connexion wifi adhoc (de poste à poste) mais ce qui nous intéresse ici est que la carte soit disponible sur l’ensemble de notre réseau local, donc Infrastructure. On renseigne le nom de notre réseau Wifi (ici « open » par exemple):
Et on choisie le type de sécurité (aucune, wep, WPA) et on renseigne la clé de sécurité si besoin
Ici paramètres par défaut pour les trois écrans suivant:
La configuration est terminée, il n’y a plus qu’à cliquer sur « Finish » pour que les paramètres soient enregistrés:
L’assistant est terminé, les paramètres réseau ont été enregistrés. Il n’y a plus qu’à compiler notre projet, via la flèche verte « Compile »:
Quelques secondes après, une fois le projet compilé, un message confirmant la bonne exécution s’affichera dans la partie basse du logiciel:
On peut maintenant envoyer le firmware compilé dans la mémoire du FlyPort, via le bouton « Download Firmware »:
Sélectionnez le port Com correspondant au FlyPort relevé plus haut, cochez « Open Monitor after download », puis cliquez sur « Download. Le firmware est envoyé dans la mémoire du FlyPort:
Une fois le firmware envoyé, la fenêtre de monitoring s’affiche automatiquement, car c’est ce que nous avions demandé. On peut voir en live le FlyPort s’initialiser, se connecter au réseau wifi, prendre une adresse IP, et initialiser la micro SD:
A partir de là, vous pouvez envoyer des commandes au FlyPort pour tester:
- list: liste les fichiers de la carte micro SD
- dir: »répertoire » pour changer de répertoire
- file: « nom du fichier » sélectionne un fichier
- play / pause / stop: pour piloter la lecture
- vol: »volume » pour régler le niveau sononre
Exemple:
Branchez par exemple un casque sur la prise jack de la Nest Music: si la lecture fonctionne, vous avez terminé !
IV. Utilisation
A partir de là, vous pouvez démonter la carte de programmation Usb, et brancher directement l’alimentation et la prise jack à un kit d’enceintes pc, ou à un ampli, par exemple. Une fois branché, la carte va s’initialiser toute seule et se connecter au réseau. Il sera possible de la piloter par des commandes TCP.
Pour tester, on peut par exemple utiliser le logiciel TCPIP Builder pour Windows.
On commence par créer un socket: on entre l’adresse IP de l’ordinateur sur lequel s’exécute TCPIP Builder, on utilise le port 50000, et on clique sur « Create Socket ».
Ensuite, on indique l’adresse IP de la carte OpenPicus, et le port 50800. On valide en cliquant sur le bouton « Connect ».
La communication est alors établie avec le FlyPort, et on peut lui envoyer les mêmes commandes que vu précédemment.
Ici j’ai listé les fichiers, sélectionné le fichier 03.mp3, puis lancé la lecture. On peut voir les résultats des requêtes dans la fenêtre du bas:
Vous avez compris le principe ? L’utilisation est finalement assez simple.
V. Mise en application
Maintenant, la question: à quoi cela va t il bien pouvoir nous servir ?
Une idée m’est venue de m’en servir pour donner la parole à notre box domotique. Pour cela, il faut une box capable de communiquer en TCP IP… Ca tombe bien, la Vera en est capable, grâce à ses scripts Lua: il existe en effet une fonction pour ouvrir un socket et envoyer des commandes. Suite à sa dernière mise à jour avec l’ajout des scripts Lua, le HC2 de Fibaro devrait également en être capable avec peut être quelques ajustements.
Sur la Vera, il suffira de créer une scène se déclenchant sur la condition qu’on souhaite (activation de l’alarme, alerte, etc…), puis de compléter le script dans la partie « Code Luup » (vous pouvez télécharger un exemple de script complet ici):
A l’activation de la scène, celle ci va se connecter au NestMusic, arrêter toute lecture éventuellement déjà en cours, sélectionner le morceau qu’on lui a indiqué, puis lancer la lecture. J’ai ajouté une toute petite pause entre les commandes car sinon les commandes arrivaient trop vite et s’exécutaient parfois dans le mauvais sens.
Le but ici n’est pas tellement de faire jouer de la musique à notre box domotique (même si ce serait possible, pour faire du multiroom avec plusieurs cartes :p). Le but est plutot de lui donner la parole. Pour cela, j’ai utilisé le logiciel DSPeech, et la voix de synthèse Virginie. Ce petit programme gratuit permet de taper un texte et de le transcrire sous forme vocale via la synthèse vocale sélectionnée. Il est également possible d’exporter le résultat sous forme de fichier mp3 par exemple.
J’ai ainsi créé différents messages pré enregistrés pour les différents cas où je souhaite une alerte (alerte de l’alarme, rappel pour sortir les poubelles, anniversaire, etc…).
Une fois placés sur la carte micro sd du Nest Music, on peut faire lire le fichier qu’on souhaite via un scénario qui se déclenchera en fonction des paramètres qu’on veut.
Le FlyPort étant wifi, on peut le positionner n’importe où dans la maison. Il lui faut juste une prise électrique. Quant à la sortie audio, on peut utiliser un petit kit d’enceintes pc, son ampli, etc… Pour mes tests, la Nest Music était dans mon garage reliée à l’ampli qui pilote l’enceinte intégrée dans le plafond du séjour :D
VI. Conclusion
Voilà un petit exemple d’utilisation du FlyPort plutot sympa. De nombreuses choses sont possibles avec cette petite carte, qui de plus ne coute que 57€ (ou 45€ pour la version ethernet). Ici, j’ai choisi de vous faire découvrir la Nest Music (46€ chez G-Media), son utilisation pouvant se substituer à celle d’un Karotz par exemple, qu’on utilise souvent en domotique pour les alertes vocales. Certes, le prix n’est pas plus intéressant puisqu’il faudra acheter un FlyPort et un Nest Music, uniquement pour l’audio (sans la caméra et le RFID du Karotz, donc) mais avec la Nest Music, tout se passe en local, et les ordres sont très rapides à s’exécuter, contrairement au Karotz qui dépend de serveurs et qui met parfois du temps à répondre… Et cette solution est totalement ouverte, configurable à souhait, permettant de faire ce qu’on veut. D’ailleurs, elle est capable d’héberger son propre serveur web: une solution serait donc de mettre en place quelques scripts afin de pouvoir la piloter par requêtes HTTP, ce qui permettrait à la plupart des box de la piloter beaucoup plus facilement encore qu’en TCP IP.
Une solution qui devrait beaucoup plaire au bidouilleurs et aux réticents du cloud ;-)
0 réaction