Firefox OS - Api battery status

download Firefox OS - Api battery status

of 55

  • date post

    10-Jan-2017
  • Category

    Internet

  • view

    524
  • download

    6

Embed Size (px)

Transcript of Firefox OS - Api battery status

  • Meetup Firefox OS 12 Novembre 2015

    API Battery Status

    Meetup Firefox OS 12 Novembre 2015

    Christophe Villeneuve@hellosct1

  • Meetup Firefox OS 12 Novembre 2015

    Qui???

    Christophe Villeneuve

  • Meetup Firefox OS 12 Novembre 2015

    Aujourd'hui ce sera!!!

    Battery Batterie et encore un peu de B.. Bonus

  • Meetup Firefox OS 12 Novembre 2015

    Contrle APPs

    - Multitouch- WebTelephony- WebSMS- Geolocalisation- Battery API- WebNFC- WebVibration

    - WebContacts- FullScreen API- Settings API- WebUSB- Camera- WebBluetooth- WebGL

  • Meetup Firefox OS 12 Novembre 2015

    Un matriel 1 tlphone se compose

    couche API Touch Geolocation Motion Battery Network Proximity Vibration Alarm Simple push ...

    API base Contacts Camera TCP Sockets Device Storage Browser

    API certifi Bluetooth websms

    permissions webfm, time/clock

  • Meetup Firefox OS 12 Novembre 2015

    Quand on parle de Batterie

  • Meetup Firefox OS 12 Novembre 2015

    Vido

    Pour mesurer une batterie, voici la procdurehttps://www.youtube.com/watch?v=FEITnTqmnL0

    https://www.youtube.com/watch?v=FEITnTqmnL0

  • Meetup Firefox OS 12 Novembre 2015

    En rsum, il vous faut...

  • Meetup Firefox OS 12 Novembre 2015

    Mobile

  • Meetup Firefox OS 12 Novembre 2015

    Mais...

    Nous sommes dans Internet / Web Http / https Mobile Smartphone Tablette Cloud / Nuage Etc...

    En vraiUn monde de...

  • Meetup Firefox OS 12 Novembre 2015

    Problme

    Comment effectuer les mesures avec tout cela?

  • Meetup Firefox OS 12 Novembre 2015

    Les questions...

    Comment mesurer le niveau de la batterie? Connatre autonomie? Le temps de chargement? Utilisation pendant le chargement? Etc...

  • Meetup Firefox OS 12 Novembre 2015

  • Meetup Firefox OS 12 Novembre 2015

    Solutions

    HTML 5 Source importante pour un site web Avoir des informations sur le matriel des visiteurs

    Combien de batterie il vous reste Si vous utilisez un systme mobile:

    Smartphone, Tablette, Ordinateur portable But: conomiser votre batterie Valider par W3C

  • Meetup Firefox OS 12 Novembre 2015

    W3C: Battery Status API (1/2)

    Fournir les informations sur l'tat de la batterie de l'appareil

    3 Dates: 2012 / 2014 / 2015 Concept

  • Meetup Firefox OS 12 Novembre 2015

    W3C: Battery Status API (2/2)

    Fev. 2012: Battery Manager NavigatorBattery BatteryManager: Evnement de base

    Dec. 2014: Navigation Battery Navigator BatteryManager: Gestion du temps, niveau chargement

    Aout 2015 Navigator: Evolution BatteryManager: Evolution

  • Meetup Firefox OS 12 Novembre 2015

    Cas pratique: Gestion de la batterie

    https://github.com/franciov/low-energy-messenger

    https://github.com/franciov/low-energy-messenger

  • Meetup Firefox OS 12 Novembre 2015

    Le matriel donne les informations

    https://developer.mozilla.org/en-US/Apps/Build/gather_and_modify_data/retrieving_battery_status_information

    https://developer.mozilla.org/en-US/Apps/Build/gather_and_modify_data/retrieving_battery_status_information

  • Meetup Firefox OS 12 Novembre 2015

    Battery Manager

    W3C : http://www.w3.org/TR/2012/CR-battery-status-20120508/

  • Meetup Firefox OS 12 Novembre 2015

    4 fonctionnalits

  • Meetup Firefox OS 12 Novembre 2015

    Battery Manager

    Plusieurs Proprits Disponible Obtenir les informations sur le niveau de charge Possibilit d'intragir avec l'API d'tat de la batterie 4 fonctions importantes

    https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager

  • Meetup Firefox OS 12 Novembre 2015

    BatteryManager.charging

    Statut de la batterie

    Batterie en cours de charge ?

    var battery = navigator.battery;

    battery.onchargingchange = function () {

    document.querySelector('#charging').textContent = battery.charging ? 'Oui' : 'Non';

    };

  • Meetup Firefox OS 12 Novembre 2015

    BatteryManager.chargingTime Temps restant de chargement (en secondes) 100%

    Temps de chargement Restant:

    var battery = navigator.battery;

    battery.onchargingtimechange = function () {

    document.querySelector('#chargingTime').textContent = parseInt(battery.chargingTime / 60, 10) + " Minutes";}

  • Meetup Firefox OS 12 Novembre 2015

    BatteryManager.dischargingTime

    Temps restant avant que la batterie soit dcharger

    Autonomie restante ?

    var battery = navigator.battery;

    battery.onchargingchange = function () {

    document.querySelector('#dischargingTime').textContent = parseInt(battery.dischargingTime/60, 10) + " Minutes";};

  • Meetup Firefox OS 12 Novembre 2015

    BatteryManager.level

    Niveau de la batterie (valeur entre 0 et 1.0)

    Niveau de la batterie:

    var battery = navigator.battery;

    battery.onchargingchange = function () {

    document.querySelector('#level').textContent = Math.round(battery.level * 100) + " %";

    };

  • Meetup Firefox OS 12 Novembre 2015

    Gestion d'vnements

    BatteryManager.onchargingchange Etat de charge est mis jour

    BatteryManager.onchargingtimechange Etat de charge est mis jour

    BatteryManager.ondischargingtimechange Etat de charge est mis jour

    BatteryManager.onlevelchange Etat de charge est mis jour

  • Meetup Firefox OS 12 Novembre 2015

    Navigator.battery

    W3C : http://www.w3.org/TR/2014/CR-battery-status-20141209/

  • Meetup Firefox OS 12 Novembre 2015

    Une seule fonctionnalit

  • Meetup Firefox OS 12 Novembre 2015

    Navigator.battery (1/2)

    HTML5 Consomme moi de ressources Obtenir les informations sur le niveau de charge Possibilit de prvenir pour viter la perte de

    donnes

    https://developer.mozilla.org/en-US/docs/Web/API/Navigator/battery

    https://developer.mozilla.org/en-US/docs/Web/API/Navigator/battery

  • Meetup Firefox OS 12 Novembre 2015

    GetBattery()

    Retourne les valeurs de BatteryManager()

    navigator.getBattery().then(function(result) {});

    // result:BatteryManagery { charging: false, chargingTime: Infinity, dischargingTime: 8940, level: 0.59, onchargingchange: null, onchargingtimechange: null, ondischargingtimechange: null, onlevelchange: null}

  • Meetup Firefox OS 12 Novembre 2015

    Battery Status API W3C : https://dvcs.w3.org/hg/dap/raw-file/default/battery/Overview.html

  • Meetup Firefox OS 12 Novembre 2015

    Battery Status API (1/2)

    Fournit les informations sur le niveau de charge du systme

    Permet d'envoyer des vnements pour prvenir d'un chargement du niveau de la charge de la batterie

    Permet d'ajuster la consommation d'une application et la rduire

    Gre plusieurs batteries Exposer une vue unifie des batteries

    Dfinit dans ECMASRIPT (Draft W3C 8 octobre 2015)queue a task / fires a simple event / event handlers / event handler event types / browsing context

    https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API

    https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API

  • Meetup Firefox OS 12 Novembre 2015

    Battery Status API (2/2) Charging

    Retourne OUI si une batterie externe

    ChargingTime Retourne la somme restant de chargement de toutes les batteries

    connectes

    DischargingTime Retourne la temps restant d'autonomie totales

    Level Moyenne de l'tat de charge

    https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API

    https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API

  • Meetup Firefox OS 12 Novembre 2015

    Evolution GetBattery()

    Retourne les valeurs de BatteryManager()

    navigator.getBattery().then(function(result) {});

    // result:BatteryManagery { charging: false, chargingTime: Infinity, dischargingTime: 8940, level: 0.59, onchargingchange: null, onchargingtimechange: null, ondischargingtimechange: null, onlevelchange: null}

  • Meetup Firefox OS 12 Novembre 2015

    Utilisation(charging state unknown) (battery level unknown) (discharging time unknown)

    window.onload = function () { function updateBatteryStatus(battery) { document.querySelector('#charging').textContent = battery.charging ? 'charging' : 'not charging'; document.querySelector('#level').textContent = battery.level; document.querySelector('#dischargingTime').textContent=battery.dischargingTime/60; }

    navigator.getBattery().then(function(battery) { // Update the battery status initially when the promise resolves ... updateBatteryStatus(battery);

    // .. and for any subsequent updates. battery.onchargingchange = function () { updateBatteryStatus(battery); };

    battery.onlevelchange = function () { updateBatteryStatus(battery); };

    battery.ondischargingtimechange = function () { updateBatteryStatus(battery); }; }); };

    http://www.w3.org/TR/battery-status/#examples

  • Meetup Firefox OS 12 Novembre 2015

  • Meetup Firefox OS 12 Novembre 2015

    Compatible avec les navigateurs

    http://caniuse.com/battery-status

  • Meetup Firefox OS 12 Novembre 2015

    Hacking

  • Meetup Firefox OS 12 Novembre 2015

    Hacking

    API Battery Statu