Télécommande Wifi d'appareil photo Lumix GX80
Après avoir changé d'appareil photo pour un Panasonic, je ne retrouvais plus une fonctionnalité que j'utilisais sur mon précédent appareil photo, un Nikon. C'est la possibilité de prendre des photos avec une télécommande. Bien sur Panasonic fournit une application sur smartphone qui permet de contrôler tous les paramètres de l'appareil (ce que je n'avais pas sur le Nikon) et de prendre des photos mais pas de télécommande physique. Prendre une photo en appuyant sur le bon bouton de l'écran du smartphone est pas évident sans regarder alors qu'avec une télécommande physique on sait où appuyer par perception haptique. Comme je n'ai rien trouvé qui existait sur le marché, j'ai décidé d'en fabriquer une.
Le principal moyen de piloter le GX80 à distance est le wifi, c'est de cette façon qu'un smartphone pilote l'appareil. Je suis donc parti de ça et j'ai déjà commencé par trouver des informations sur le net. Quelques projets existent déjà et ont fait du reverse engineering de la connexion. Quelques liens intéressants :
- Windows remote app for Lumix cameras sur DP review
- Control your GH3 from a Web Browser
- Panasonic Lumix Time Lapse support (TZ40, GH3)
- Eylca : control FZ1000 (and other Lumix cameras) from an android app
- GH4 — Use iPhone as wireless monitor
Vu qu'un des principaux besoin est de se connecter en wifi, je suis parti de l'ESP8266. C'est un micro-contrôleur fait par le fabriquant Espressif qui inclut un contrôleur WIFI. Je l'ai programmé avec arduino, une des nombreuses possibilités de le programmer. Ça m'a permis de découvrir à la fois l'ESP8266 et arduino que je n'avais jamais utilisé auparavant. Pour la fonction basique il ne faut pas grand chose, l'ESP8266, un régulateur de tension 3.3V, quelques boutons poussoirs, quelques composants passifs et c'est tout niveau matériel.

Premier prototype
Pour le code c'est un peu plus complexe, il faut dans un premier temps se connecter à l'Access Point créé par l'appareil photo (il faut connaitre le SSID pour cela) puis s'authentifier (il faut connaitre l'IP de l'appareil aussi) et lorsque l'on est autorisé on peut envoyer des commandes. Les commandes sont de simples requêtes HTTP GET.
J'ai pu donc rapidement contrôler l'appareil photo et prendre des photos sur ce premier prototype. Il manque néanmoins plusieurs choses. Premièrement le faire fonctionner sur batterie. Et ce point là n'est pas le plus simple car pour du wifi il faut un certain courant et je cherche à faire quelque chose le plus compact possible. Les batteries de type CR2032 très compactes ne sont pas suffisamment basse impédance et de capacité trop faible. Après avoir comparé différentes batteries je pense que le plus simple est d'utiliser une batterie lithium qui existent en une multitude de taille. Mais du coup il faut embarquer aussi un chargeur de batterie dans la télécommande. Deuxième chose à améliorer c'est de rajouter des boutons pour pouvoir choisir de filmer ou prendre une photo par exemple. Et puis aussi avoir la possibilité de configurer la télécommande, changer le SSID et l'IP par exemple. Pour cela j'ai fait un mode de configuration, lorsque l'on appui sur un bouton avant de démarrer la télécommande elle passe en mode de configuration et se met en mode Access Point. On peut s'y connecter avec un ordinateur et une page web permet de configurer quelques paramètres. Puis j'ai aussi mis une led bicolore pour indiquer l'état de la télécommande (connecté, en train de filmer, batterie faible, etc.).
Le deuxième prototype est en cours, plus pratique, avec plus de boutons, un code plus évolué, il ne reste plus qu'a mettre une batterie et le circuit de charge.