SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Sensors on Android
ChinmayVS @ DroidCON-2011
cvs@droidcon$ who am i

• Android >2yrs. Remember           anyone?


•            - sensors development. 10million+ units sold.



• Presently working @

                          PathPartnerTech.com




10:16 PM                 Sensors on Android                  2
Sensors on Android
PART1 : Introduction                                       PART4: Sensor Application development.
•   Sensors on Android                                     Sample android app (code snippets)
•   Famous sensor apps
•   Sensors in Android apps                                PART5: App-dev Tips and tricks
•   Sensor Hardware intro                                  •       Sensor callibration.
                                                                   1. one-turn deserves another (axes-calib)
PART2 : Android Sensor Overview                                    2. zero-calib
•   Overview                                               •       Sensor fusion (hard-way)
•   Porting a new sensor onto Android                      •       Invensense (easy-way)
•   Kernel                                                 •       Polling rate game/ui/fastest
•   Sensor "HAL"                                           •       When to place Wakelocks
                                                           •       When to register/unregister eventListener

PART3 : Porting tips and tricks
•   No motion ≠ 0accel
•   Accel axes 3step calibration
•   Input devices & events (EV_ABS, EV_REL)




10:20 PM                                      Sensors on Android                                               3
“Sense-ors” on Android
                A sensor (also called detector) is a device that measures
           a physical quantity and converts it into a signal which can be read by
                             an observer or by an instrument.

                                            1.    ACCELEROMETER
                                            2.    GYROSCOPE
                                            3.    MAGNETIC_FIELD
                           REAL
                                            4.    LIGHT
                                            5.    PRESSURE
                                            6.    AMBIENT_TEMP
                                            7.    RELATIVE_HUMIDITY

                                            8.    PROXIMITY
                          VIRTUAL
                                            9.    LINEAR_ACCELERATION
                                            10.   GRAVITY
                                            11.   ROTATION_VECTOR


                         DEPRECEATED
                                            12. TEMPERATURE
                                            13. ORIENTATION


10:20 PM                               Sensors on Android                           4
“Famous” sensor apps




10:16 PM         Sensors on Android   5
Sensors in Android applications


             • Use-cases of sensors in apps:
             1.   Active-Input
             2.   Passive-Input            Application developer
             3.   Active-Passive
             4.   Auto-Rotate              Android window manager




10:16 PM                           Sensors on Android               6
Sensors in Android applications (1/4)

• Active input




10:16 PM                 Sensors on Android        7
Sensors in Android applications (2/4)

• Passive input




10:16 PM                 Sensors on Android        8
Sensors in Android applications (3/4)

• Active-passive




10:16 PM                 Sensors on Android        9
Sensors in Android applications (4/4)

• Auto-rotate




10:16 PM                 Sensors on Android        10
Sensor Hardware Intro (1/4)

• Accelerometer




      + ZERO drift
      - Relatively slower response



10:16 PM                             Sensors on Android   11
Sensor Hardware Intro (2/4)

• Gyroscope (MEMS)




      + Extremely quick response
      - Gradual drift with time



10:16 PM                           Sensors on Android   12
Sensor Hardware Intro (3/4)

• Compass (Magnetometer)




      + Obtain Yaw/Azimuth
      + Rotation with the device on a flat surface
      - Picks-up surrounding magnetic noise


10:16 PM                              Sensors on Android   13
Sensor Hardware Intro (4/4)

• Light & Proximity




10:16 PM              Sensors on Android   14
Android Sensors Frameworks Overview

Android App
  • Use SensorManager & SensorEventListener              C
                                                         O
Android Framework                                        N         D
  • SensorService & SensorManager                        T         A
                                                         R         T
Android sensor “HAL”                                     O         A
                                                         L
  • Links the Kernel-Drivers to the framework

Kernel Drivers
  • Device drivers to control and gather data from the actual hardware.

10:16 PM                       Sensors on Android                         15
Porting a sensor onto Android

Q. My board has XYZ sensor. How do I get Android to recognise it?

 Kernel
       Device-driver
       Board File


 Userspace
       Adding New HAL
      -OR-
       Modifying existing HAL




10:16 PM                         Sensors on Android                 16
Porting a sensor onto Android (kernel)

       Device-driver
            Poll/Interrupt? Hybrid-approach = Workqueues
            Early-suspend hook
            input_report_abs() / input_report_rel()



       Board File
            Interrupt, GPIO, SPI/I2C-lines
            Axes-remap to device axes platform_data




12:15 AM                               Sensors on Android   17
Porting a sensor onto Android (kernel)

 Workqueues




12:09 AM                  Sensors on Android        18
Porting a sensor onto Android (kernel)

 Early-Suspend hook



 Input Events




12:13 AM                  Sensors on Android        19
Porting a sensor onto Android (userspace)

 Sensor-HAL

       Adding
           – Reference Implementation : http://goo.gl/jjF3l
           – Sensor-HAL implemented in : android/device/<vendor>/<device>/libsensors
           – Generates library : system/lib/hw/sensors.<TARGET_BOARD_PLATFORM>.so


       Modifying
           – Update sensors.cpp in sSensorList[]
           – Derive a new sensor object, Include appropriate file
           – Update i/p dev name in constructor




12:30 AM                                 Sensors on Android                            20
Sensor Fusion

 Advantages
      –    Faster data samples
      –    Less noise in data samples
      –    More Accurate data samples
      –    Advanced Sensor data (Gestures, Glyphs, Shake-count, Step-count)

 Disadvantage
      –    Higher power consumption


 Implement inside App
      – Register multiple sensor-listeners.
      – Correlate-data.

 Implement using Custom-Library
      – android/device/sample/frameworks/PlatformLibrary http://goo.gl/OI8sg


12:30 AM                                  Sensors on Android                   21
Using Sensors in your app




    SensorEvent     http://goo.gl/hWOQu

    SensorManager   http://goo.gl/1DRUv




12:30 AM                         Sensors on Android   22
App-dev Tips and tricks

 Sensor callibration.
  1. one-turn deserves another (axes-calib)
  2. zero-calib
 Sensor fusion
       Hard-way
       Easy-way (Invensense ) http://goo.gl/bHmDe
 Polling rate ui/normal/game/fastest?
 When to register/unregister eventListener
 When to place Wakelocks




1:08 AM                               Sensors on Android   23
App-dev Tips and tricks



                                  register sensorlistener


                                      acquire wakelock


                                      release wakelock


                                unregister sensorlistener




1:04 AM          Sensors on Android                         24
What Next?

• Moving on…
      – Sensor Framework on Android 4.0 (ICS)
      – Sensor Drivers on Kernel 3.0


• Sensor-Fusion
     –     App / library
     –     Unified Kernel driver(sensors-class)

• Calorie-counter/Diet Advisor
    “You spent 800calories since breakfast. Have a Greek-salad and a cup of milk…”

• Location-fix without GPS (using sensors  wink-wink)

                                                                     http://goo.gl/ipbrL


12:57 AM                                    Sensors on Android                             25
Thank You!!

                     Questions?

              android-porting        android-developers

              android-kernel         android-platform



           CONTACT ME            http://goo.gl/kKMOr




10:16 PM                Sensors on Android                26

Contenu connexe

Tendances

Android os: presentaion by Prerak
Android os: presentaion by PrerakAndroid os: presentaion by Prerak
Android os: presentaion by PrerakPrerak Rathore
 
Android app development
Android app developmentAndroid app development
Android app developmentTanmoy Roy
 
Mobile operating system by Shabeeb
Mobile operating system by ShabeebMobile operating system by Shabeeb
Mobile operating system by ShabeebShabeeb Shabi
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & ComponentsVijay Rastogi
 
Microsoft hololens final ppt
Microsoft hololens final pptMicrosoft hololens final ppt
Microsoft hololens final pptrekhameenacs
 
Food_Spoilage_Detection_System1.pptx
Food_Spoilage_Detection_System1.pptxFood_Spoilage_Detection_System1.pptx
Food_Spoilage_Detection_System1.pptxMkknowledgehub
 
Vehicle tracking system using GSM and GPS
Vehicle tracking system using GSM and GPSVehicle tracking system using GSM and GPS
Vehicle tracking system using GSM and GPSBharath Chapala
 
Project Soli by Google ATAP
Project Soli by Google ATAPProject Soli by Google ATAP
Project Soli by Google ATAPrguptarrr
 
Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]Jowin John Chemban
 
IRJET- IOT Based Air and Sound Pollution Monitoring System
IRJET-  	  IOT Based Air and Sound Pollution Monitoring SystemIRJET-  	  IOT Based Air and Sound Pollution Monitoring System
IRJET- IOT Based Air and Sound Pollution Monitoring SystemIRJET Journal
 
Android development
Android developmentAndroid development
Android developmentRaynax668
 
Sixth sense technology
Sixth sense technologySixth sense technology
Sixth sense technologyPulkit Singhal
 

Tendances (20)

Android os: presentaion by Prerak
Android os: presentaion by PrerakAndroid os: presentaion by Prerak
Android os: presentaion by Prerak
 
Android app development
Android app developmentAndroid app development
Android app development
 
Mobile operating system by Shabeeb
Mobile operating system by ShabeebMobile operating system by Shabeeb
Mobile operating system by Shabeeb
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & Components
 
Microsoft hololens final ppt
Microsoft hololens final pptMicrosoft hololens final ppt
Microsoft hololens final ppt
 
Android
AndroidAndroid
Android
 
Project Soli
Project SoliProject Soli
Project Soli
 
Android ppt
Android pptAndroid ppt
Android ppt
 
TOUCH SCREEN TECHNOLOGY
TOUCH SCREEN  TECHNOLOGYTOUCH SCREEN  TECHNOLOGY
TOUCH SCREEN TECHNOLOGY
 
Android Auto
Android AutoAndroid Auto
Android Auto
 
Android 9.0 pie
Android 9.0 pieAndroid 9.0 pie
Android 9.0 pie
 
Food_Spoilage_Detection_System1.pptx
Food_Spoilage_Detection_System1.pptxFood_Spoilage_Detection_System1.pptx
Food_Spoilage_Detection_System1.pptx
 
Vehicle tracking system using GSM and GPS
Vehicle tracking system using GSM and GPSVehicle tracking system using GSM and GPS
Vehicle tracking system using GSM and GPS
 
Project Soli by Google ATAP
Project Soli by Google ATAPProject Soli by Google ATAP
Project Soli by Google ATAP
 
Sixth sense technology
Sixth sense technologySixth sense technology
Sixth sense technology
 
HoloLens
HoloLensHoloLens
HoloLens
 
Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]
 
IRJET- IOT Based Air and Sound Pollution Monitoring System
IRJET-  	  IOT Based Air and Sound Pollution Monitoring SystemIRJET-  	  IOT Based Air and Sound Pollution Monitoring System
IRJET- IOT Based Air and Sound Pollution Monitoring System
 
Android development
Android developmentAndroid development
Android development
 
Sixth sense technology
Sixth sense technologySixth sense technology
Sixth sense technology
 

Similaire à Sensors on android

Sensors and location based services
Sensors and location based servicesSensors and location based services
Sensors and location based servicesChinmay V S
 
Sensor Observation Service Client for Android Mobile Phones
Sensor Observation Service Client for Android Mobile PhonesSensor Observation Service Client for Android Mobile Phones
Sensor Observation Service Client for Android Mobile PhonesCybera Inc.
 
Sensors in Android (old)
Sensors in Android (old)Sensors in Android (old)
Sensors in Android (old)Ahsanul Karim
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real Worldpauldeng
 
Developing Rich Interfaces in JavaFX for Ultrabooks
Developing Rich Interfaces in JavaFX for UltrabooksDeveloping Rich Interfaces in JavaFX for Ultrabooks
Developing Rich Interfaces in JavaFX for UltrabooksFelipe Pedroso
 
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Ahsanul Karim
 
Final presentation today
Final presentation todayFinal presentation today
Final presentation todaynusratlima
 
INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING OF AGRICULTURAL...
INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING     OF AGRICULTURAL...INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING     OF AGRICULTURAL...
INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING OF AGRICULTURAL...chaitanya ivvala
 
Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai
Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai
Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai Itvedant
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Trends in mobile sensors: how smartphones keep changing our life
Trends in mobile sensors: how smartphones keep changing our lifeTrends in mobile sensors: how smartphones keep changing our life
Trends in mobile sensors: how smartphones keep changing our lifeSnapbackLabs
 

Similaire à Sensors on android (20)

Sensors and location based services
Sensors and location based servicesSensors and location based services
Sensors and location based services
 
Sensor Observation Service Client for Android Mobile Phones
Sensor Observation Service Client for Android Mobile PhonesSensor Observation Service Client for Android Mobile Phones
Sensor Observation Service Client for Android Mobile Phones
 
Android 1.8 sensor
Android 1.8 sensorAndroid 1.8 sensor
Android 1.8 sensor
 
Sensors in Android (old)
Sensors in Android (old)Sensors in Android (old)
Sensors in Android (old)
 
Semantics and Sensors
Semantics and SensorsSemantics and Sensors
Semantics and Sensors
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real World
 
Developing Rich Interfaces in JavaFX for Ultrabooks
Developing Rich Interfaces in JavaFX for UltrabooksDeveloping Rich Interfaces in JavaFX for Ultrabooks
Developing Rich Interfaces in JavaFX for Ultrabooks
 
Week12.pdf
Week12.pdfWeek12.pdf
Week12.pdf
 
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2
 
Final presentation today
Final presentation todayFinal presentation today
Final presentation today
 
INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING OF AGRICULTURAL...
INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING     OF AGRICULTURAL...INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING     OF AGRICULTURAL...
INTERNET OF THINGS IMPLEMENTATION FOR WIRELESS MONITORING OF AGRICULTURAL...
 
Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai
Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai
Everything About Android - Itvedant, Thane | Mumbai | Navi Mumbai
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Trends in mobile sensors: how smartphones keep changing our life
Trends in mobile sensors: how smartphones keep changing our lifeTrends in mobile sensors: how smartphones keep changing our life
Trends in mobile sensors: how smartphones keep changing our life
 
Soli sensor
Soli sensorSoli sensor
Soli sensor
 
Android the future
Android  the futureAndroid  the future
Android the future
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Android Sensor
Android SensorAndroid Sensor
Android Sensor
 
All about android
All about androidAll about android
All about android
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Sensors on android

  • 2. cvs@droidcon$ who am i • Android >2yrs. Remember anyone? • - sensors development. 10million+ units sold. • Presently working @ PathPartnerTech.com 10:16 PM Sensors on Android 2
  • 3. Sensors on Android PART1 : Introduction PART4: Sensor Application development. • Sensors on Android Sample android app (code snippets) • Famous sensor apps • Sensors in Android apps PART5: App-dev Tips and tricks • Sensor Hardware intro • Sensor callibration. 1. one-turn deserves another (axes-calib) PART2 : Android Sensor Overview 2. zero-calib • Overview • Sensor fusion (hard-way) • Porting a new sensor onto Android • Invensense (easy-way) • Kernel • Polling rate game/ui/fastest • Sensor "HAL" • When to place Wakelocks • When to register/unregister eventListener PART3 : Porting tips and tricks • No motion ≠ 0accel • Accel axes 3step calibration • Input devices & events (EV_ABS, EV_REL) 10:20 PM Sensors on Android 3
  • 4. “Sense-ors” on Android A sensor (also called detector) is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. 1. ACCELEROMETER 2. GYROSCOPE 3. MAGNETIC_FIELD REAL 4. LIGHT 5. PRESSURE 6. AMBIENT_TEMP 7. RELATIVE_HUMIDITY 8. PROXIMITY VIRTUAL 9. LINEAR_ACCELERATION 10. GRAVITY 11. ROTATION_VECTOR DEPRECEATED 12. TEMPERATURE 13. ORIENTATION 10:20 PM Sensors on Android 4
  • 5. “Famous” sensor apps 10:16 PM Sensors on Android 5
  • 6. Sensors in Android applications • Use-cases of sensors in apps: 1. Active-Input 2. Passive-Input Application developer 3. Active-Passive 4. Auto-Rotate Android window manager 10:16 PM Sensors on Android 6
  • 7. Sensors in Android applications (1/4) • Active input 10:16 PM Sensors on Android 7
  • 8. Sensors in Android applications (2/4) • Passive input 10:16 PM Sensors on Android 8
  • 9. Sensors in Android applications (3/4) • Active-passive 10:16 PM Sensors on Android 9
  • 10. Sensors in Android applications (4/4) • Auto-rotate 10:16 PM Sensors on Android 10
  • 11. Sensor Hardware Intro (1/4) • Accelerometer + ZERO drift - Relatively slower response 10:16 PM Sensors on Android 11
  • 12. Sensor Hardware Intro (2/4) • Gyroscope (MEMS) + Extremely quick response - Gradual drift with time 10:16 PM Sensors on Android 12
  • 13. Sensor Hardware Intro (3/4) • Compass (Magnetometer) + Obtain Yaw/Azimuth + Rotation with the device on a flat surface - Picks-up surrounding magnetic noise 10:16 PM Sensors on Android 13
  • 14. Sensor Hardware Intro (4/4) • Light & Proximity 10:16 PM Sensors on Android 14
  • 15. Android Sensors Frameworks Overview Android App • Use SensorManager & SensorEventListener C O Android Framework N D • SensorService & SensorManager T A R T Android sensor “HAL” O A L • Links the Kernel-Drivers to the framework Kernel Drivers • Device drivers to control and gather data from the actual hardware. 10:16 PM Sensors on Android 15
  • 16. Porting a sensor onto Android Q. My board has XYZ sensor. How do I get Android to recognise it?  Kernel  Device-driver  Board File  Userspace  Adding New HAL -OR-  Modifying existing HAL 10:16 PM Sensors on Android 16
  • 17. Porting a sensor onto Android (kernel)  Device-driver  Poll/Interrupt? Hybrid-approach = Workqueues  Early-suspend hook  input_report_abs() / input_report_rel()  Board File  Interrupt, GPIO, SPI/I2C-lines  Axes-remap to device axes platform_data 12:15 AM Sensors on Android 17
  • 18. Porting a sensor onto Android (kernel)  Workqueues 12:09 AM Sensors on Android 18
  • 19. Porting a sensor onto Android (kernel)  Early-Suspend hook  Input Events 12:13 AM Sensors on Android 19
  • 20. Porting a sensor onto Android (userspace)  Sensor-HAL  Adding – Reference Implementation : http://goo.gl/jjF3l – Sensor-HAL implemented in : android/device/<vendor>/<device>/libsensors – Generates library : system/lib/hw/sensors.<TARGET_BOARD_PLATFORM>.so  Modifying – Update sensors.cpp in sSensorList[] – Derive a new sensor object, Include appropriate file – Update i/p dev name in constructor 12:30 AM Sensors on Android 20
  • 21. Sensor Fusion  Advantages – Faster data samples – Less noise in data samples – More Accurate data samples – Advanced Sensor data (Gestures, Glyphs, Shake-count, Step-count)  Disadvantage – Higher power consumption  Implement inside App – Register multiple sensor-listeners. – Correlate-data.  Implement using Custom-Library – android/device/sample/frameworks/PlatformLibrary http://goo.gl/OI8sg 12:30 AM Sensors on Android 21
  • 22. Using Sensors in your app SensorEvent http://goo.gl/hWOQu SensorManager http://goo.gl/1DRUv 12:30 AM Sensors on Android 22
  • 23. App-dev Tips and tricks  Sensor callibration. 1. one-turn deserves another (axes-calib) 2. zero-calib  Sensor fusion  Hard-way  Easy-way (Invensense ) http://goo.gl/bHmDe  Polling rate ui/normal/game/fastest?  When to register/unregister eventListener  When to place Wakelocks 1:08 AM Sensors on Android 23
  • 24. App-dev Tips and tricks register sensorlistener acquire wakelock release wakelock unregister sensorlistener 1:04 AM Sensors on Android 24
  • 25. What Next? • Moving on… – Sensor Framework on Android 4.0 (ICS) – Sensor Drivers on Kernel 3.0 • Sensor-Fusion – App / library – Unified Kernel driver(sensors-class) • Calorie-counter/Diet Advisor “You spent 800calories since breakfast. Have a Greek-salad and a cup of milk…” • Location-fix without GPS (using sensors  wink-wink) http://goo.gl/ipbrL 12:57 AM Sensors on Android 25
  • 26. Thank You!! Questions? android-porting android-developers android-kernel android-platform CONTACT ME http://goo.gl/kKMOr 10:16 PM Sensors on Android 26