Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Things Overview

Android Things Overview

Apresentação feita no Android Day Aracaju em 03 de junho 2017

Raul Vilar

June 03, 2017
Tweet

Other Decks in Technology

Transcript

  1. Câmeras Entradas Controle de temp. Medidores Intelig. Ponto de venda

    Controle de invent. Ads Interativos Vendas Automát. Sistemas de seg. Camp. automática Roteadores Monitor de energia Rastreamento Gestão de frota Assistente de direç. Serviço preditivo Ideal para dispositivos poderosos, inteligentes e que precisam ser seguros.
  2. dependencies { provided 'com.google.android.things:androidthings:...' } <application ...> <uses-library android:name="com.google.android.things"/> <activity

    ...> ... <!-- Launch activity automatically on boot --> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.IOT_LAUNCHER"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> Activity principal
  3. GPIO PWM I2C SPI UART Peripheral I/O • General Purpose

    Input/Output ◦ Botões, relays e sensores simples (proximidade, luminosidade). • Pulse Width Modulation ◦ Servo motores, auto-falantes, LEDs. • Inter-Integrated Circuit ◦ Sensores, displays, periféricos avançados. • Serial Peripheral Interface ◦ Sensores, displays, periféricos de alta velocidade. • Universal Asynchronous Receiver Transmitter ◦ GPS, impressoras, leitores RFID, leitor de código de barra.
  4. // Open a peripheral connection PeripheralManagerService service = new PeripheralManagerService();

    Gpio button = service.openGpio(GPIO_PIN_NAME); // Configure the peripheral button.setDirection(Gpio.DIRECTION_IN); button.setEdgeTriggerType(Gpio.EDGE_FALLING); // Attach callback for input events button.registerGpioCallback(new GpioCallback() { @Override public boolean onGpioEdge(Gpio gpio) { Log.i(TAG, "GPIO changed"); // Return true to continue listening to events return true; } }); Simples Peripheral I/O
  5. private GpioCallback callback = new GpioCallback() { @Override public boolean

    onGpioEdge(Gpio gpio) { int keyAction = gpio.getValue() ? KeyEvent.ACTION_DOWN : KeyEvent.ACTION_UP; inputDriver.emit(new KeyEvent[]{ new KeyEvent(keyAction, KeyEvent.KEYCODE_SPACE)}); return true; } }; User Driver para botão InputDriver inputDriver = InputDriver.builder(InputDevice.SOURCE_CLASS_BUTTON) .setName(DRIVER_NAME) .setVersion(DRIVER_VERSION) .setKeys(new int[]{KeyEvent.KEYCODE_SPACE}) .build(); UserDriverManager.getManager().registerInputDriver(inputDriver);
  6. GPIO PWM I2C SPI UART Input Sensors GPS Peripheral Driver

    Library Peripheral I/O User Drivers
  7. dependencies { compile 'com.google.android.things.contrib:driver-button:...' } ButtonInputDriver inputDriver = new ButtonInputDriver(

    GPIO_PIN_NAME, Button.LogicState.PRESSED_WHEN_LOW, KeyEvent.KEYCODE_SPACE); inputDriver.register(); Biblioteca para o driver do botão
  8. Raul S. Vilar +RaulVilar25 @raulsvilar Google's IoT Developers Community https://g.co/iotdev

    Google's IoT Solutions https://iot.google.com Android Things SDK https://developer.android.com/things