SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
In Touch with Smart Devices
The future is connected.


Masanori Fujita
Zühlke Engineering GmbH




                              Slide 1
                              March 2012




                              Masanori Fujita

                              © Zühlke 2012
What about Android@Home?


                                                •   Android@Home announced at
                                                    Google I/O in May 2011
                                                •   Vision: “think of your entire
                                                    home as an accessory”
                                                    – Control lighting
                                                    – Collect sensor data
                                                    – Play media

                                                •   new wireless protocol to
                                                    communicate with accessories
                                                •   so far, no updates on this




In Touch with Smart Devices | Masanori Fujita                               March 2012   Slide 2   © Zühlke 2012
•   Lighting
•   Heating system
•   Washing Machine
•   Dish washer
•   Weather sensors
•   Door bell
•   Audio & Video
Supported interfaces types




                                                      GSM/3G



                                   USB                                WiFi




                                                NFC            Bluetooth



In Touch with Smart Devices | Masanori Fujita                                March 2012   Slide 4   © Zühlke 2012
Traditional Roles



                                                          Accessory

                            Master Device

                                                          Accessory

            •       PCs                         •   Input Devices
                                                •   Mass Storage
                                                •   Printer
                                                •   Camera
                                                •   MP3 Players
                                                •   Smartphones

In Touch with Smart Devices | Masanori Fujita                 March 2012   Slide 6   © Zühlke 2012
New Roles



                                                          Accessory

                            Master Device

                                                          Accessory

            •       PCs                         •   Input Devices
            •       Smartphones                 •   Mass Storage
                                                •   Printer
                                                •   Camera
                                                •   MP3 Players
                                                •   Smartphones

In Touch with Smart Devices | Masanori Fujita                 March 2012   Slide 7   © Zühlke 2012
USB Host Mode


                                                  •   USB host is required to provide
                                                      500mA current
                                                  •   USB On-the-Go is used to act as
                                                      limited USB host
                                                  •   USB Host Mode is optional
                                   Accessory




                                      Accessory



In Touch with Smart Devices | Masanori Fujita                               March 2012   Slide 8   © Zühlke 2012
Open Accessory
Development Kit




     USB Host     USB Slave
Android
                Phone


Dev. Machine
ADK Initialization Process




                                                                            Wait for Android                               Request USB
                                                                            device to connect                            device descriptor



                                                Accessory
                                                                 Power On                        Android device
                                                                                                   connected
                                                                                                                                                                                        Request
                                                                                                                                                                                    accessory support
                                                Android Device




                                                                                                                                                              Send
                                                                                                                                     no                  OEM’s vendor
                                                                                                                                                         and product ID


                                                                            Wait for accessory
                                                                               to connect

                                                                 Power On                                         Device in accessory mode?
                                                                                                                                                                          Send
                                                                                                                                              yes                    Google’s vendor
                                                                                                                                                                     and product ID



In Touch with Smart Devices | Masanori Fujita                                                              March 2012                         Slide 11                    © Zühlke 2012
Android: Many form-factors



       Samsung Galaxy S II

                                                                             HTC Velocity 4G

                                                Motorola Pro+




In Touch with Smart Devices | Masanori Fujita                   March 2012      Slide 12   © Zühlke 2012
USB Support in Android



                                                                                                                             Oct-11
                                                                                                                              4.0

                                                                                                      Feb-11 May-11 Jul-11
                                                                                                        3.0   3.1    3.2
                                                             Oct 09   Jan 10   May 10       Dec-10
                                                              2.0       2.1     2.2          2.3
         Sep-08                  Feb-09         Apr 09   Sep-09
           1.0                     1.1           1.5       1.6




   Sep 2008                                                                                                                                       Mar 2012




                                                                                         ADK (since 3.1 + 2.3.4)
                                                                                        USB Host Mode (since 3.1)

In Touch with Smart Devices | Masanori Fujita                                            March 2012             Slide 13              © Zühlke 2012
•   Reliable and high speed
    connection
•   Easy handling for user and
    developer
•   Power supply and form-
    factors might be an issue for
    accessory designers
Which Bluetooth profiles does your phone
support?



                                                SPP                             HDP

                                                                  DUN

                      SIM



                                                                                       HID
                                                      FAX
                                                                    HFP




                               OPP
                                                            OPP
                                                                          HSP




In Touch with Smart Devices | Masanori Fujita                             March 2012         Slide 16   © Zühlke 2012
The built-in Bluetooth Stack




                                                Android API                                                Socket
                                                (android.bluetooth.*)



                                     Serial Port Profile (SPP)
                                                                                                     Virtual serial port
                                                                    Service Discovery
                  RFCOMM                                                 Protocol


                                                    L2CAP

                                                   Link Manager Layer
     Bluetooth
                                                   Baseband
     Controller
                                                   Radio Layer

In Touch with Smart Devices | Masanori Fujita                                           March 2012       Slide 17     © Zühlke 2012
What the API offers…


•      Scan for devices
•      Listen for incoming RFCOMM connections
•      Establish RFCOMM connections
•      Communicate with HFP, HSP, HDP, A2DP devices
•      Implement new Bluetooth profiles




In Touch with Smart Devices | Masanori Fujita   March 2012   Slide 18   © Zühlke 2012
Not all profiles use RFCOMM
Example: HID




                         Human Interface Device Profile

                                                           Service Discovery
                                                                Protocol


                                                L2CAP

                                                Link Manager Layer
     Bluetooth
                                                Baseband
     Controller
                                                Radio Layer

In Touch with Smart Devices | Masanori Fujita                                  March 2012   Slide 19   © Zühlke 2012
You should only rely on serial
communication, unless…

•      you can implement a profile in Java that solely builds
       upon RFCOMM and SDP.
•      you have a defined set of target devices
       –       accessing the native BT driver
       –       create native extensions
       –       add profiles to API
       –       compile custom ROM

•      Google defines other profiles to be mandatory for
       Android devices and offer them as API




In Touch with Smart Devices | Masanori Fujita       March 2012   Slide 20   © Zühlke 2012
•   Supported by most devices
•   Handling might be tricky for
    user
•   Only serial communication is
    guaranteed
Borrowed from nfc-forum.org
Reading and writing tags


•      Support for different
       types of tags
       – NFC Forum Type 1-4
       – Mifare *

•      API features
       – Reacting on tag
         discovery
       – Reading and writing
                                                                   passive tag with serial
         NDEF messages                          passive            number, deployment
       – Sector level I/O access
                                                                   date, date of last
                                                                   inspection etc.
                                                active

                                                                   Card emulation
                                                                   providing live status
                                                                   information, allow
                                                                   device settings



In Touch with Smart Devices | Masanori Fujita   March 2012   Slide 24           © Zühlke 2012
Beaming to and from your smart device


•      Android Beam™ is technically an NDEF push
       in peer-to-peer mode
       – Google’s own NDEF Push Protocol (NPP)
       – NFC Forum’s new Simple NDEF Exchange Protocol (SNEP)

•      No bi-directional data exchange using lower layers




                                                      active

                                                                        Realtime status
                                                                        information, allow
                                                                        device settings


In Touch with Smart Devices | Masanori Fujita        March 2012   Slide 25           © Zühlke 2012
Android as a Card


•      Card emulation is not exposed in Android API
•      Would add many valuable scenarios
•      Also consider discussion around secure elements
       – in a SIM card
       – embedded in a chip
       – on stickers




In Touch with Smart Devices | Masanori Fujita    March 2012   Slide 26   © Zühlke 2012
•   Future Android devices will
    probably have support for
    NFC
•   Easy handling for user and
    developer
•   Need to find workaround for
    missing card emulation
    mode
What is the best way to connect to your
devices and accessories?



                                                Which UX do you desire?




                                                ?
    What about security?
                                                              How does the
                                                              device’s environment
                                                              look like?


          Can you define the
                                                      How much data will
          deployment targets?
                                                      you produce?


In Touch with Smart Devices | Masanori Fujita                 March 2012   Slide 29   © Zühlke 2012
TCP / UDP
over WiFi and Mobile Network
Home Automation made easy
powered by ELV



ELV pluggable sensors and actors




In Touch with Smart Devices | Masanori Fujita   March 2012   Slide 31   © Zühlke 2012
Home Automation made easy
powered by ELV



ELV pluggable sensors and actors




                                                UART




In Touch with Smart Devices | Masanori Fujita          March 2012   Slide 32   © Zühlke 2012
Introducing Arduino


•      Open Source prototyping board
•      ATmega328 @ 16 MHz
•      14 digital and 6 analog I/O pins
•      USB
•      UART
•      I2C
•      SPI
•      Many many shields




In Touch with Smart Devices | Masanori Fujita   March 2012   Slide 33   © Zühlke 2012
Home Automation made easy
powered by ELV + Arduino + Android



ELV pluggable sensors and actors

                                  3G
                                                Internet


                                                      DSL




                                     WiFi
                                                                 UART




                                                      Ethernet




In Touch with Smart Devices | Masanori Fujita                           March 2012   Slide 34   © Zühlke 2012
Udp.begin(localPort);
    server.begin();

    Serial.begin(9600);
    while(timeStatus() == timeNotSet) {
      unsigned long t = getNtpTime();
      if (t > 0) {
        setTime(t);
      }
    }
    setSyncProvider(getNtpTime);
    setSyncInterval(60);

}


bool event_1_triggered = false;
bool event_2_triggered = false;

void loop()
{
  time_t t = now();

  for(int i = 0; i < EVENT_COUNT; i = i + 1) {
    // check whether On-Event was not fired and On-Time has been
reached
    if (!triggered_events[i*2] && hour(t) == time_table[i*FIELDS] &&
minute(t) == time_table[i*FIELDS+1]) {
      fs20.send_cmd(time_table[i*FIELDS+4], CMD_ON, 0xFF);
      triggered_events[i*2] = true;
      triggered_events[i*2+1] = false;
    }
    // check whether Off-Event was not fired and Off-Time has been
reached
    if (!triggered_events[i*2+1] && hour(t) == time_table[i*FIELDS+2]
&& minute(t) == time_table[i*FIELDS+3]) {
      fs20.send_cmd(time_table[i*FIELDS+4], CMD_OFF, 0xFF);
      triggered_events[i*2] = false;
      triggered_events[i*2+1] = true;
    }
  }

    // wait for a new client:
    Client client = server.available();

    // when the client sends the first byte, say hello:
    if (client) {
      if (client.connected() && client.available()) {
        // read the bytes incoming from the client:
        char c1 = client.read();
        char c2 = client.read();
        char c3 = client.read();
        fs20.send_cmd(c1, c2, c3);
      }
    }
SMA Solar Inverter




                     Bluetooth
Stiebel-Eltron Heating System




                                RS232
Internet of
Things
Build upon small and open
       components
   Thermometer
   Accelerometer
   External Sensors
   WiFi
      Twitter
      Email
      Text Messaging
We can make it happen.
       Today.
Masanori Fujita

mfu@zuehlke.com
@matterlobby

Contenu connexe

En vedette

Smart Devices in the home
Smart Devices in the home Smart Devices in the home
Smart Devices in the home Pilgrim Beart
 
2013 04-09-webinos at-droidcon
2013 04-09-webinos at-droidcon2013 04-09-webinos at-droidcon
2013 04-09-webinos at-droidconDroidcon Berlin
 
Droidcon2012 berlin (2) droidway
Droidcon2012 berlin (2) droidwayDroidcon2012 berlin (2) droidway
Droidcon2012 berlin (2) droidwayDroidcon Berlin
 
J.-P. Seifert; Security-Aware Android Applications for the Enterprise
J.-P. Seifert; Security-Aware Android Applications for the EnterpriseJ.-P. Seifert; Security-Aware Android Applications for the Enterprise
J.-P. Seifert; Security-Aware Android Applications for the EnterpriseDroidcon Berlin
 

En vedette (8)

Smart Devices in the home
Smart Devices in the home Smart Devices in the home
Smart Devices in the home
 
Cloud desktop for byod
Cloud desktop for byodCloud desktop for byod
Cloud desktop for byod
 
blue via
blue via blue via
blue via
 
2013 04-09-webinos at-droidcon
2013 04-09-webinos at-droidcon2013 04-09-webinos at-droidcon
2013 04-09-webinos at-droidcon
 
Smart Home Devices
Smart Home DevicesSmart Home Devices
Smart Home Devices
 
Lounge multiplayer
Lounge multiplayerLounge multiplayer
Lounge multiplayer
 
Droidcon2012 berlin (2) droidway
Droidcon2012 berlin (2) droidwayDroidcon2012 berlin (2) droidway
Droidcon2012 berlin (2) droidway
 
J.-P. Seifert; Security-Aware Android Applications for the Enterprise
J.-P. Seifert; Security-Aware Android Applications for the EnterpriseJ.-P. Seifert; Security-Aware Android Applications for the Enterprise
J.-P. Seifert; Security-Aware Android Applications for the Enterprise
 

Similaire à In touch with smart devices

Mobile monday istanbul_mark curtis
Mobile monday istanbul_mark curtisMobile monday istanbul_mark curtis
Mobile monday istanbul_mark curtisNatali Yesilbahar
 
Device market strategy lessons from the iPhone, Blackberry, Pre and Zune
Device market strategy lessons from the iPhone, Blackberry, Pre and ZuneDevice market strategy lessons from the iPhone, Blackberry, Pre and Zune
Device market strategy lessons from the iPhone, Blackberry, Pre and ZuneNathalie Magniez
 
5pen pc Technology
5pen pc Technology5pen pc Technology
5pen pc TechnologyRaga Deepthi
 
Publicis Mojito
Publicis MojitoPublicis Mojito
Publicis Mojitoisaoyagi
 
IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...
IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...
IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...AIP Foundation
 
BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...
BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...
BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...itnewsafrica
 
Content Creation on the iPad
Content Creation on the iPadContent Creation on the iPad
Content Creation on the iPadManesh Lad
 
Low cost smart board
Low cost smart boardLow cost smart board
Low cost smart boardTulasi Ram
 
5 pen-pc-technology-powerpoint-presentation.ppt (1)
5 pen-pc-technology-powerpoint-presentation.ppt (1)5 pen-pc-technology-powerpoint-presentation.ppt (1)
5 pen-pc-technology-powerpoint-presentation.ppt (1)Sreenath Bolgam
 
I pad configure settings
I pad   configure settingsI pad   configure settings
I pad configure settingsMichele Berner
 
Hp mini tb_e-brochure_with_hp_quick_web
Hp mini tb_e-brochure_with_hp_quick_webHp mini tb_e-brochure_with_hp_quick_web
Hp mini tb_e-brochure_with_hp_quick_webprasence21
 
5penpc 130917022422-phpapp01
5penpc 130917022422-phpapp015penpc 130917022422-phpapp01
5penpc 130917022422-phpapp01Divya Baghel
 

Similaire à In touch with smart devices (20)

Mobile monday istanbul_mark curtis
Mobile monday istanbul_mark curtisMobile monday istanbul_mark curtis
Mobile monday istanbul_mark curtis
 
Beyond BYOD
Beyond BYODBeyond BYOD
Beyond BYOD
 
Device market strategy lessons from the iPhone, Blackberry, Pre and Zune
Device market strategy lessons from the iPhone, Blackberry, Pre and ZuneDevice market strategy lessons from the iPhone, Blackberry, Pre and Zune
Device market strategy lessons from the iPhone, Blackberry, Pre and Zune
 
5-pen pc ppt by SSS
5-pen pc ppt by SSS5-pen pc ppt by SSS
5-pen pc ppt by SSS
 
5pen pc Technology
5pen pc Technology5pen pc Technology
5pen pc Technology
 
Deck 13122011
Deck 13122011Deck 13122011
Deck 13122011
 
Publicis Mojito
Publicis MojitoPublicis Mojito
Publicis Mojito
 
IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...
IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...
IBM Mobile Foundation POT - Overview of ibm endpoint manager for mobile devic...
 
BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...
BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...
BYOD: Built for business, designed for end users (Feb 27, 2013 Innovation Din...
 
Sikuli
SikuliSikuli
Sikuli
 
5pen pc
5pen pc5pen pc
5pen pc
 
Content Creation on the iPad
Content Creation on the iPadContent Creation on the iPad
Content Creation on the iPad
 
Low cost smart board
Low cost smart boardLow cost smart board
Low cost smart board
 
Win 8 webinar
Win 8 webinarWin 8 webinar
Win 8 webinar
 
pen-pc
 pen-pc pen-pc
pen-pc
 
5 pen-pc-technology-powerpoint-presentation.ppt (1)
5 pen-pc-technology-powerpoint-presentation.ppt (1)5 pen-pc-technology-powerpoint-presentation.ppt (1)
5 pen-pc-technology-powerpoint-presentation.ppt (1)
 
I pad configure settings
I pad   configure settingsI pad   configure settings
I pad configure settings
 
Hp mini tb_e-brochure_with_hp_quick_web
Hp mini tb_e-brochure_with_hp_quick_webHp mini tb_e-brochure_with_hp_quick_web
Hp mini tb_e-brochure_with_hp_quick_web
 
5 pen pc technology
5 pen pc technology5 pen pc technology
5 pen pc technology
 
5penpc 130917022422-phpapp01
5penpc 130917022422-phpapp015penpc 130917022422-phpapp01
5penpc 130917022422-phpapp01
 

Plus de Droidcon Berlin

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google castDroidcon Berlin
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limitsDroidcon Berlin
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility Droidcon Berlin
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_backDroidcon Berlin
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86Droidcon Berlin
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building AndroidDroidcon Berlin
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentationDroidcon Berlin
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Droidcon Berlin
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkraussDroidcon Berlin
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014Droidcon Berlin
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Droidcon Berlin
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidconDroidcon Berlin
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devicesDroidcon Berlin
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradioDroidcon Berlin
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon Berlin
 

Plus de Droidcon Berlin (20)

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google cast
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limits
 
crashing in style
crashing in stylecrashing in style
crashing in style
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility
 
Details matter in ux
Details matter in uxDetails matter in ux
Details matter in ux
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_back
 
droidparts
droidpartsdroidparts
droidparts
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
 
5 tips of monetization
5 tips of monetization5 tips of monetization
5 tips of monetization
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building Android
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentation
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkrauss
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidcon
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devices
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradio
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicro
 

Dernier

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

In touch with smart devices

  • 1. In Touch with Smart Devices The future is connected. Masanori Fujita Zühlke Engineering GmbH Slide 1 March 2012 Masanori Fujita © Zühlke 2012
  • 2. What about Android@Home? • Android@Home announced at Google I/O in May 2011 • Vision: “think of your entire home as an accessory” – Control lighting – Collect sensor data – Play media • new wireless protocol to communicate with accessories • so far, no updates on this In Touch with Smart Devices | Masanori Fujita March 2012 Slide 2 © Zühlke 2012
  • 3. Lighting • Heating system • Washing Machine • Dish washer • Weather sensors • Door bell • Audio & Video
  • 4. Supported interfaces types GSM/3G USB WiFi NFC Bluetooth In Touch with Smart Devices | Masanori Fujita March 2012 Slide 4 © Zühlke 2012
  • 5.
  • 6. Traditional Roles Accessory Master Device Accessory • PCs • Input Devices • Mass Storage • Printer • Camera • MP3 Players • Smartphones In Touch with Smart Devices | Masanori Fujita March 2012 Slide 6 © Zühlke 2012
  • 7. New Roles Accessory Master Device Accessory • PCs • Input Devices • Smartphones • Mass Storage • Printer • Camera • MP3 Players • Smartphones In Touch with Smart Devices | Masanori Fujita March 2012 Slide 7 © Zühlke 2012
  • 8. USB Host Mode • USB host is required to provide 500mA current • USB On-the-Go is used to act as limited USB host • USB Host Mode is optional Accessory Accessory In Touch with Smart Devices | Masanori Fujita March 2012 Slide 8 © Zühlke 2012
  • 9. Open Accessory Development Kit USB Host USB Slave
  • 10. Android Phone Dev. Machine
  • 11. ADK Initialization Process Wait for Android Request USB device to connect device descriptor Accessory Power On Android device connected Request accessory support Android Device Send no OEM’s vendor and product ID Wait for accessory to connect Power On Device in accessory mode? Send yes Google’s vendor and product ID In Touch with Smart Devices | Masanori Fujita March 2012 Slide 11 © Zühlke 2012
  • 12. Android: Many form-factors Samsung Galaxy S II HTC Velocity 4G Motorola Pro+ In Touch with Smart Devices | Masanori Fujita March 2012 Slide 12 © Zühlke 2012
  • 13. USB Support in Android Oct-11 4.0 Feb-11 May-11 Jul-11 3.0 3.1 3.2 Oct 09 Jan 10 May 10 Dec-10 2.0 2.1 2.2 2.3 Sep-08 Feb-09 Apr 09 Sep-09 1.0 1.1 1.5 1.6 Sep 2008 Mar 2012 ADK (since 3.1 + 2.3.4) USB Host Mode (since 3.1) In Touch with Smart Devices | Masanori Fujita March 2012 Slide 13 © Zühlke 2012
  • 14. Reliable and high speed connection • Easy handling for user and developer • Power supply and form- factors might be an issue for accessory designers
  • 15.
  • 16. Which Bluetooth profiles does your phone support? SPP HDP DUN SIM HID FAX HFP OPP OPP HSP In Touch with Smart Devices | Masanori Fujita March 2012 Slide 16 © Zühlke 2012
  • 17. The built-in Bluetooth Stack Android API Socket (android.bluetooth.*) Serial Port Profile (SPP) Virtual serial port Service Discovery RFCOMM Protocol L2CAP Link Manager Layer Bluetooth Baseband Controller Radio Layer In Touch with Smart Devices | Masanori Fujita March 2012 Slide 17 © Zühlke 2012
  • 18. What the API offers… • Scan for devices • Listen for incoming RFCOMM connections • Establish RFCOMM connections • Communicate with HFP, HSP, HDP, A2DP devices • Implement new Bluetooth profiles In Touch with Smart Devices | Masanori Fujita March 2012 Slide 18 © Zühlke 2012
  • 19. Not all profiles use RFCOMM Example: HID Human Interface Device Profile Service Discovery Protocol L2CAP Link Manager Layer Bluetooth Baseband Controller Radio Layer In Touch with Smart Devices | Masanori Fujita March 2012 Slide 19 © Zühlke 2012
  • 20. You should only rely on serial communication, unless… • you can implement a profile in Java that solely builds upon RFCOMM and SDP. • you have a defined set of target devices – accessing the native BT driver – create native extensions – add profiles to API – compile custom ROM • Google defines other profiles to be mandatory for Android devices and offer them as API In Touch with Smart Devices | Masanori Fujita March 2012 Slide 20 © Zühlke 2012
  • 21. Supported by most devices • Handling might be tricky for user • Only serial communication is guaranteed
  • 22.
  • 24. Reading and writing tags • Support for different types of tags – NFC Forum Type 1-4 – Mifare * • API features – Reacting on tag discovery – Reading and writing passive tag with serial NDEF messages passive number, deployment – Sector level I/O access date, date of last inspection etc. active Card emulation providing live status information, allow device settings In Touch with Smart Devices | Masanori Fujita March 2012 Slide 24 © Zühlke 2012
  • 25. Beaming to and from your smart device • Android Beam™ is technically an NDEF push in peer-to-peer mode – Google’s own NDEF Push Protocol (NPP) – NFC Forum’s new Simple NDEF Exchange Protocol (SNEP) • No bi-directional data exchange using lower layers active Realtime status information, allow device settings In Touch with Smart Devices | Masanori Fujita March 2012 Slide 25 © Zühlke 2012
  • 26. Android as a Card • Card emulation is not exposed in Android API • Would add many valuable scenarios • Also consider discussion around secure elements – in a SIM card – embedded in a chip – on stickers In Touch with Smart Devices | Masanori Fujita March 2012 Slide 26 © Zühlke 2012
  • 27.
  • 28. Future Android devices will probably have support for NFC • Easy handling for user and developer • Need to find workaround for missing card emulation mode
  • 29. What is the best way to connect to your devices and accessories? Which UX do you desire? ? What about security? How does the device’s environment look like? Can you define the How much data will deployment targets? you produce? In Touch with Smart Devices | Masanori Fujita March 2012 Slide 29 © Zühlke 2012
  • 30. TCP / UDP over WiFi and Mobile Network
  • 31. Home Automation made easy powered by ELV ELV pluggable sensors and actors In Touch with Smart Devices | Masanori Fujita March 2012 Slide 31 © Zühlke 2012
  • 32. Home Automation made easy powered by ELV ELV pluggable sensors and actors UART In Touch with Smart Devices | Masanori Fujita March 2012 Slide 32 © Zühlke 2012
  • 33. Introducing Arduino • Open Source prototyping board • ATmega328 @ 16 MHz • 14 digital and 6 analog I/O pins • USB • UART • I2C • SPI • Many many shields In Touch with Smart Devices | Masanori Fujita March 2012 Slide 33 © Zühlke 2012
  • 34. Home Automation made easy powered by ELV + Arduino + Android ELV pluggable sensors and actors 3G Internet DSL WiFi UART Ethernet In Touch with Smart Devices | Masanori Fujita March 2012 Slide 34 © Zühlke 2012
  • 35. Udp.begin(localPort); server.begin(); Serial.begin(9600); while(timeStatus() == timeNotSet) { unsigned long t = getNtpTime(); if (t > 0) { setTime(t); } } setSyncProvider(getNtpTime); setSyncInterval(60); } bool event_1_triggered = false; bool event_2_triggered = false; void loop() { time_t t = now(); for(int i = 0; i < EVENT_COUNT; i = i + 1) { // check whether On-Event was not fired and On-Time has been reached if (!triggered_events[i*2] && hour(t) == time_table[i*FIELDS] && minute(t) == time_table[i*FIELDS+1]) { fs20.send_cmd(time_table[i*FIELDS+4], CMD_ON, 0xFF); triggered_events[i*2] = true; triggered_events[i*2+1] = false; } // check whether Off-Event was not fired and Off-Time has been reached if (!triggered_events[i*2+1] && hour(t) == time_table[i*FIELDS+2] && minute(t) == time_table[i*FIELDS+3]) { fs20.send_cmd(time_table[i*FIELDS+4], CMD_OFF, 0xFF); triggered_events[i*2] = false; triggered_events[i*2+1] = true; } } // wait for a new client: Client client = server.available(); // when the client sends the first byte, say hello: if (client) { if (client.connected() && client.available()) { // read the bytes incoming from the client: char c1 = client.read(); char c2 = client.read(); char c3 = client.read(); fs20.send_cmd(c1, c2, c3); } }
  • 36. SMA Solar Inverter Bluetooth
  • 39. Build upon small and open components
  • 40. Thermometer  Accelerometer  External Sensors  WiFi  Twitter  Email  Text Messaging
  • 41. We can make it happen. Today.