Après avoir passé un certain temps ces dernières semaines à tester le fonctionnement du RikoMagic MK802 sous Linux dans le cadre de petites applications embarquées, nous vous présentons une petite synthèse de ses avantages et inconvénients pour ce genre d'applications, ainsi que quelques conseils et astuces si vous désirez essayer de l'utiliser vous aussi.
Bilan des tests du MK802
Notre expérience se base en particulier sur trois projets réels utilisant un ou plusieurs MK802:
1. Une application de domotique pour contrôler un store depuis un iPhone, via un réseau WiFi en mode infrastructure. Le tout est basé sur un Yocto-MaxiRelay
Application de domotique utilisant un iPhone, un MK802 et un relais
2. Une application de lancement de feux d'artifices depuis un iPod, via un réseau WiFi en mode ad-hoc. Cette application basée elle aussi sur un Yocto-MaxiRelay
Allumage d'une fusée en utilisant un iPod, un MK802 et un relais
3. Une application de monitoring/notification par Internet et SMS, avec deux MK802 connectés via un réseau WiFi en mode infrastructure. Cette application utilise un Yocto-PowerRelay et un Yocto-Knob
Application de notification par Internet et SMS avec deux MK802, une entrée de contacts et une sortie relais
Pour les trois applications, nous avons utilisé une image Linux ARM, plus précisément la distribution "Lubuntu" pour ARM. Nous avons opté pour une image Linux plutôt que d'utiliser l'image Android fournie en standard, car nos libraires ne fonctionnent pas (encore) sous Android.
L'utilisation d'une image Linux pour le MK802 est très simple. Il suffit de poser l'image telle quelle sur une carte Micro-SD de 8GB, et le petit PC démarre sous Linux.
La première étape indispensable est de connecter le réseau WiFi à un point d'accès doté d'Internet, afin de pouvoir ajouter les modules et options supplémentaires dont vous aurez besoin. La configuration se fait facilement avec des outils graphiques intuitifs. Seul problème: Le module WiFi du MK802 est pour le moins capricieux, et la liaison WiFi est assez aléatoire. Pour maximiser vos chances, faites cette opération le plus proche possible de votre point d'accès WiFi.
L'installation de packages additionnels se fait très facilement avec les outils habituels de Linux. De plus en plus de vendeurs (y compris Yoctopuce) fournissent leurs logiciels pour ARM, et ils sont alors utilisables tels quels sur cette machine.
Le mode USB Host fonctionne parfaitement avec les modules Yoctopuce, même lorsqu'ils sont derrière un hub USB.
Pour les deux premières applications, nous avons simplement configuré la machine, installé un VirtualHub qui se lance automatiquement au démarrage. Le VirtualHub rend accessible les modules Yoctopuce branchés au MK802 depuis n'importe quel point du réseau et permet de les piloter par exemple depuis un iPhone ou iPod ou iPad.
Pour la troisième application, nous avons lancé en plus un programme en PHP effectuant un monitoring autonome d'une installation domotique. Le programme poste des mises à jour sur un serveur Internet via des requêtes HTTP. Il est même possible d'envoyer des notifications par SMS via un service HTTP tel que bugdgetsms.net
L'interpréteur PHP standard de la distribution Lubuntu pour ARM fonctionne sans problème
Le processeur du MK802 est tout à fait suffisant pour ce genre d'utilisation avec monitoring scripté en PHP
Lorsque la réception WiFi n'est pas parfaite, il se peut que le MK802 perde sa connexion, et en général il se révèle incapable de la retrouver. Il est possible de palier à ce problème en mettant un crontab (avec "sudo crontab -e") qui vérifie la connexion WiFi et redémarre la machine et lance un "shutdown -r now" lorsque la connexion tombe. Ce n'est pas très élégant, mais ça suffit à retrouver la connexion automatiquement. Pour limiter l'utilisation de cette méthode drastique, utilisez la commande "sudo iwconfig" pour trouver la position précise du MK802 qui fournit la meilleure réception.
La réception WiFi est assez faible. Ne comptez pas passer à travers du béton armé, ni à travers plusieurs murs simple. Ne placez pas le MK802 proche d'objets métalliques.
Il n'y a aucune possibilité prévue par le vendeur pour ajouter une antenne externe
Lorsque le MK802 est utilisé pour une application embarquée, il y a de fortes chances qu'il n'ait pas d'écran. La gestion à distance peut se faire facilement par SSH, si vous avez pris soin de lui assigner une adresse IP fixe. Seul problème: tous les paramètres de l'interface réseau sont liés au device (par exemple /dev/wlan2). Si vous mettez la carte SD dans un autre MK802, les interfaces réseau se font re-détecter en raison du changement de matériel et tous les réglages sont perdus. C'est vrai pour l'adresse IP, mais aussi pour les clefs d'accès au réseau sans fil. Et si vous perdez vos paramètres réseau, ou si vous voulez les changer, vous serez condamnés à rebrancher un écran HDMI et un clavier USB.
Pas de configuration possible à l'aide d'un ordinateur portable par un simple câble USB
La synthèse
Bons points:
+ Facilité de lancer une image Linux et d'y ajouter des packages
+ Mode USB Host bien supporté
+ CPU suffisant pour des petites applications embarquées
+ Pas cher
Mauvais points:
- La configuration WiFi est parfois capricieuse
- Le WiFi n'a pas une très bonne réception, et ne peut pas être amélioré par une antenne externe
- La configuration sur site (sans écran HDMI) est limitée aux opérations faisable par SSH
- La configuration sur site est impossible lorsque le réseau est tombé
En conclusion, le MK802 convient parfaitement pour des petits bricolages perso, mais n'est pas assez fiable pour réaliser des installations professionnelles. Il est possible que ce ne soit qu'une affaire de firmware, on peut espérer que les problèmes du MK802 se résoudront avec le temps.