1 votes

Comment fonctionne la fonction "wake on pickup" du Moto X et du Nexus ?

J'ai vu de nombreuses applications qui permettent de réveiller l'écran du téléphone simplement en le soulevant d'une table (je ne parle pas ici du capteur de proximité). Ce qu'elles ont toutes en commun, c'est que cette fonction place un wakelock sur l'appareil, ce qui draine la batterie et l'épuise au bout d'une durée prédéfinie (1 à 10 minutes). D'après ce que j'ai compris, elle fonctionne en surveillant la caméra frontale.

Ma question est la suivante : comment les téléphones Moto X et Nexus font-ils cela ? Ils ont cette fonction intégrée, mais est-ce que cela place aussi un wakelock ? Un verrouillage de 24 heures ? Ou utilisent-ils autre chose que la caméra frontale ? Et dans ce cas, pourquoi n'existe-t-il pas une application capable de reproduire ce comportement pour tous les téléphones ?

2voto

Des appareils comme le Moto X et le Nexus 5X/6P utilisent une concentrateur de capteurs pour réaliser cette fonctionnalité, qui est une :

unité de microcontrôleur/coprocesseur/DSP qui aide à intégrer les données provenant de différents capteurs et à les traiter. Cette technologie permet de décharger l'unité centrale de traitement d'un produit de ces tâches, ce qui permet de réduire la consommation de la batterie et d'améliorer les performances.

En Spécifications Android suggérer au fabricant de mettre en place un concentrateur de capteurs :

La pile de capteurs d'un appareil peut éventuellement inclure un concentrateur de capteurs, utile pour effectuer certains calculs de bas niveau à faible consommation d'énergie lorsque le SoC peut être en mode de suspension. Par exemple, le comptage des pas ou la fusion des capteurs peuvent être effectués sur ces puces. C'est également un bon endroit pour mettre en œuvre la mise en lot des capteurs, en ajoutant des FIFO matérielles pour les événements des capteurs. Voir Batching pour plus d'informations.

La manière dont le centre de capteurs est matérialisé dépend de l'architecture. Il s'agit parfois d'une puce séparée, parfois d'une puce intégrée au SoC. Les caractéristiques importantes du sensor hub sont qu'il doit contenir suffisamment de mémoire pour la mise en lots et consommer très peu d'énergie pour permettre la mise en œuvre des capteurs Android à faible consommation. Certains concentrateurs de capteurs contiennent un microcontrôleur pour le calcul générique et des accélérateurs matériels pour permettre un calcul à très faible consommation pour les capteurs à faible consommation.

La disponibilité de cette fonction dépend donc du matériel de l'appareil : si le fabricant inclut un concentrateur de capteurs, la consommation d'énergie sera optimisée car le processeur central n'est pas impliqué. Sinon, la seule possibilité est d'installer des applications dédiées (voir par exemple celle citée dans mon commentaire) qui surveilleront l'accéléromètre, ce qui entraînera toutefois une consommation de batterie plus importante.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X