Présentation
En anglaisRÉ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 : Docteur et Ingénieur en informatique - 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 start-up 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 plateforme 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 plateforme 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’Android™ 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 plateforme Android™ intègrent un grand nombre de capteurs différents.
Cet article a pour but de présenter chaque type de capteur et sa programmation.
KEYWORDS
computer science | programming | microelectromechanical systems | electronic | metrology
VERSIONS
- Version archivée 1 de févr. 2013 par Frédéric LEMOINE
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Technologies de l'information > Technologies logicielles Architectures des systèmes > Systèmes embarqués > 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
5. 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 système d’exploitation. À 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 dix 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...
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
-
(1) - MEIER (R.) - Professional Android. - ISBN-13 : 978-1118949528 (2016).
-
(2) - SMYTH (N.) - Android Studio 4.2 Development Essentials. - ISBN-13 : 978-1951442293 (2021).
-
(3) - MISHRA (S.K.) - Fundamentals of Android App Development: Android Development for Beginners to Learn Android Technology, SQLite, Firebase and Unity. - ISBN-13 : 978-9389845204 (2020).
-
(4) - HÉBUTERNE (S.) - Développez une application Android - Programmation en Java sous Android Studio (2e édition). - ISBN-13 : 978-2409010439 (2017).
-
(5) - HÉBUTERNE (S.) - Android - Guide de développement d'applications Java pour Smartphones et Tablettes. - ISBN-13 : 978-2409015267 (2018).
-
(6) - GUIGNARD (D.), CHABLE (J.), ROBLÈS (E.), SOREL...
ANNEXES
Android developers https://developer.android.com/ (page consultée le 6 juin 2021). 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.
Kit de développement pour la plateforme Android https://developer.android.com/studio (page consultée le 6 5
juin 2021). L’ensemble des outils nécessaires à installer pour développer des applications pour la plateforme Android.
Android http://www.android.com/ (page consultée le 6 juin 2021). 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.
Android Compatibility Program http://source.android.com/compatibility/overview.html (page consultée le 6 juin 2021). Site recensant les critères que doit respecter un constructeur pour certifier son matériel compatible avec la plateforme Android.
Khronos Group http://www.khronos.org/opencl/ (page consultée le 6 juin 2021). C’est le site de spécification du langage OpenCL.
...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