En 2012, les sites Web technologiques étaient en effervescence avec des nouvelles du Lytro : un appareil photo qui allait révolutionner la photographie grâce à son design innovant. champ lumineux La technologie. Un réseau de microlentilles devant le capteur lui permet de capturer une image 3D d’une scène à partir d’un point, permettant à l’utilisateur d’extraire des informations de profondeur et de modifier la mise au point d’une image même après l’avoir capturée.
Cependant, la technologie s’est avérée être un échec commercial et l’entreprise est tombée dans l’obscurité. Les caméras Lytro peuvent maintenant être achetées pour aussi peu que 20 $ sur le marché de l’occasion, car [ea] l’a découvert lorsqu’il a commencé à étudier la photographie en champ lumineux. Ils fonctionnent toujours aussi bien qu’auparavant, mais comme le logiciel PC qui l’accompagne commence définitivement à montrer son âge, [ea] a décidé de procéder à une ingénierie inverse du micrologiciel de l’appareil photo afin de pouvoir écrire sa propre application.
[ea] commencé par examiner le matériel de la caméra. Le processeur principal s’est avéré être un processeur MIPS similaire à ceux utilisés dans divers gadgets d’appareil photo bon marché, à côté de ce qui ressemblait à une prise non remplie pour un port série et un ensemble de points de test JTAG. Le port série envoyait une séquence de démarrage et une invite de commande, mais ne semblait répondre à aucune entrée.
Creuser plus profond, [ea] a commencé à démonter le firmware de l’appareil photo. Il a réussi à trouver une liste de commandes telles que « prendre une photo », « supprimer », « redémarrer », etc., parfaitement mappées aux fonctions connues de l’appareil photo, ainsi qu’à quelques fonctions non documentées. L’interpréteur de commandes semblait également rechercher une certaine chaîne d’entrée, générée en transmettant le numéro de série de la caméra avec le mot « s’il vous plaît » via une fonction de hachage SHA-1 – cela s’est avéré être le mot-clé pour déverrouiller l’interface série.
Désormais capable d’envoyer des commandes directement au processeur de la caméra, [ea] a écrit une bibliothèque Python et un ensemble d’outils pour faire fonctionner la caméra à distance, et a activé plusieurs nouvelles fonctionnalités. Le Lytro peut désormais fonctionner comme une webcam, par exemple, ou être utilisé à distance avec un contrôle total sur ses mécanismes de zoom et de mise au point. Toutes ces fonctions sont accessibles via l’interface WiFi intégrée, il n’est donc pas nécessaire de souder des fils au port série du CPU.
Avec les fonctions de bas niveau maintenant ouvertes, nous sommes curieux de voir quel potentiel caché il y a encore dans la technologie de Lytro. Peut-être que ces caméras peuvent être réutilisées pour créer des systèmes de capture 3D plus avancés, similaires à la recherche présentée par Google en 2018. Si vous avez besoin d’une introduction à la technologie de champ lumineux, consultez la présentation d’Alex Hornstein du Supercon 2018.