Slide 1

Slide 1 text

Raul S. Vilar +RaulVilar25 @raulsvilar

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

Dos protótipos para a produção

Slide 5

Slide 5 text

Android SDK Android Studio Play Services Firebase Cloud Platform

Slide 6

Slide 6 text

IoT Developer Console Atualizações de segurança automáticas Imagens assinadas Boot verificado

Slide 7

Slide 7 text

Arquitetura SoM Google Managed BSP

Slide 8

Slide 8 text

Android Things para Desenvolvedores

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Telas são opcionais Considere uma UI alternativa

Slide 12

Slide 12 text

dependencies { provided 'com.google.android.things:androidthings:...' } ... Activity principal

Slide 13

Slide 13 text

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.

Slide 14

Slide 14 text

// 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

Slide 15

Slide 15 text

GPIO PWM I2C SPI UART Input Sensors GPS Peripheral I/O User Drivers

Slide 16

Slide 16 text

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);

Slide 17

Slide 17 text

GPIO PWM I2C SPI UART Input Sensors GPS Peripheral Driver Library Peripheral I/O User Drivers

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

O poder do Android Automático e seguro Administrado pelo Google

Slide 20

Slide 20 text

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