Présentation
RÉSUMÉ
L'avènement des microsystèmes électromécaniques a permis une miniaturisation très poussée de différents types de capteurs, tels que le gyroscope, ou l'accéléromètre . Ces capteurs sont maintenant implantés dans un grand nombre de dispositifs mobiles tels que les téléphones portables ou les tablettes. Cette évolution a permis d'accroître l'ergonomie de ces dispositifs tout en simplifiant leur utilisation. Le fonctionnement d'un certain nombre de capteurs est détaillé avec leur programmation sur le système d'exploitation Google Android, système qui équipe aujourd'hui un grand nombre d'appareils mobiles.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
The advent of electromechanical microsystems has allowed for the extreme miniaturization of various types of sensors, such as the gyroscope or the accelerometer. These sensors are currently installed in a large number of mobile devices such as mobile-phones or tablets. This evolution has allowed for increasing the ergonomy of these devices whilst simplifying their use. The operation of a certain number of sensors is detailed along with their programming in the operating system: Google Android, the system which now equips a large number of mobile devices.
Auteur(s)
-
Frédéric LEMOINE : Ingénieur de recherche - Chef de projet en développement d'applications – Département Informatique - Conservatoire national des arts et métiers (CNAM)
INTRODUCTION
Google Android™ est un système d'exploitation conçu pour les appareils mobiles (téléphones, tablettes...).
C'est en 2005 que la société Google rachète une petite startup appelée Android Inc. qui développait des applications pour téléphones mobiles. L'objectif de ce rachat était de créer une nouvelle plate-forme mobile concurrençant les principaux acteurs de l'époque : Symbian, Windows mobile, Palm OS...
En 2007, le consortium OHA (Open Handset Alliance) bâti autour de ce système est créé. Il regroupe des opérateurs de téléphonie, des fabricants de semi-conducteurs, de téléphones, des éditeurs de logiciels et des distributeurs. Android™ est alors officiellement annoncé comme nouvelle plate-forme pour dispositifs mobiles.
En 2008 sort la première version du kit de développement SDK (Software Development Kit).
Depuis, la part de marché d'Androïd™ a continué de croître et concurrence celle d'Apple (iPhone OS). Ses domaines d'application s'étendent de jour en jour et concernent même maintenant la domotique ou les téléviseurs.
Android™ est basé sur un noyau Linux. Son code est ouvert et disponible en Open source. Son langage de programmation est le Java.
Le succès d'Android™ tient beaucoup à l'amélioration de l'interactivité de l'utilisateur avec son appareil. Celle-ci s'est beaucoup perfectionnée grâce à l'arrivée de nouveaux types de capteurs.
Un capteur est un dispositif qui transforme une grandeur physique observée en une autre grandeur physique plus facilement utilisable (électrique le plus souvent) dans le but de la mesurer. Les appareils basés sur la plate-forme Android™ intègrent un grand nombre de capteurs différents.
C'est l'arrivée des microsystèmes électromécaniques MEMS (Micro-Electro- Mechanical-Systems) qui a permis leur miniaturisation et leur intégration sur des supports de type circuit intégré. Un microsystème électromécanique est composé d'un ou plusieurs systèmes mécaniques intégré(s) au sein d'un circuit électronique (figure 1). Ce nouveau procédé de conception a permis la miniaturisation de nombreux capteurs et leur démocratisation.
Les grandeurs physiques le plus souvent mesurées actuellement par un dispositif mobile fonctionnant sous la plate-forme Android™ sont les suivantes :
-
l'accélération ;
-
le champ magnétique ;
-
la température ;
-
l'intensité lumineuse ;
-
la pression atmosphérique ;
-
la position géographique de l'appareil ;
-
l'orientation de l'appareil dans l'espace ;
-
la distance de l'appareil avec un élément de son environnement.
La liste n'est pas exhaustive et pourra évoluer avec l'apparition de nouveaux composants.
Cet article a pour but de présenter chaque type de capteur et sa programmation.
MOTS-CLÉS
panorama Mise en oeuvre Programmation électronique médecine chimie Informatique Bioinformatique Finance Informatique Métrologie Microsystèmes électromécaniques
KEYWORDS
overview | implementation | programming | electronics | medicine | chemistry | computer science | bioinformatics | finance | computer science | metrology | microelectromechanical systems
VERSIONS
- Version courante de déc. 2021 par Frédéric LEMOINE
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Archives > [Archives] Technologies logicielles et architecture des systèmes > Programmation de capteurs sur dispositifs mobiles - Sous Google Android > Batterie
Cet article fait partie de l’offre
Réseaux Télécommunications
(139 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
4. Batterie
Pour connaître le niveau de la batterie, il est nécessaire de faire appel à un BroadcastReceiver afin d'être tenu au courant d'un changement de son état.
Le BroadcastReceiver est un objet servant de « boîte de réception » aux messages envoyés par le monde extérieur. À chaque fois que cet objet d'écoute reçoit un message, le système appelle sa méthode onReceive().
BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
//TO DO
}
};
On crée un filtre sur les messages reçus de manière à ne garder que les messages de notification de changement de niveau de batterie.
IntentFilter filter =
new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
On associe ou sépare ensuite le filtre au/du BroadcastReceiver par les fonctions registerReceiver (abonnement) et unregisterReceiver (désabonnement).
Afin de préserver les ressources de l'appareil, on appelle la fonction registerReceiver au sein de la fonction onResume de l'activité et la fonction unregisterReceiver au sein de la fonction onPause (figure 2).
Override
protected void onResume() {
super.onResume();
registerReceiver(batteryReceiver, filter);
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(batteryReceiver);
}
Il existe neuf informations disponibles sur la batterie que l'on peut récupérer pendant l'appel de la fonction onReceive() (tableau 11).
On souhaite calculer le pourcentage de charge de la batterie. On demande alors le niveau de charge courant et le niveau de charge maximal.
int iLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int iScale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
Le pourcentage de charge est calculé comme étant ...
Cet article fait partie de l’offre
Réseaux Télécommunications
(139 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Batterie
BIBLIOGRAPHIE
DANS NOS BASES DOCUMENTAIRES
-
Gestion des communications sur dispositifs mobiles,
ANNEXES
Android http://www.android.com/(page consultée le 5 janvier 2012). Ce site officiel fournit des informations pour les utilisateurs, développeurs et partenaires. Il comprend des communiqués de presse, des vidéos, des copies d'écran et de nombreux téléchargements.
Kit de développement pour la plateforme Android http://developer.android.com/sdk/installing.html (page consultée le 5 janvier 2012). L'ensemble des outils nécessaires à installer pour développer des applications pour la plateforme Android.
Android developers http://developer.android.com/index.html (page consultée le 5 janvier 2012). Site de référence pour la programmation sur la plateforme Android. Ce site présente une importante base documentaire de référence ainsi que les outils nécessaires à la programmation.
Android Compatibility Program http://source.android.com/compatibility/overview.html (page consultée le 17 janvier 2012). Site recensant les critères que doit respecter un constructeur pour certifier son matériel compatible avec la plate-forme Android.
Platform Versions http://developer.android.com/resources/dashboard/platform-versions.html (page consultée le 5 mars 2012)....
Cet article fait partie de l’offre
Réseaux Télécommunications
(139 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive