Revista iMasters #22 - Maio

Page 30

30 // MOBILIDADE É TUDO

android:name=”android.intent. category.IOT_LAUNCHER”/> <category android:name=”android.intent. category.DEFAULT”/> </intent-filter> </activity> </application>

to bem ser substituído por um relê que ligaria uma tomada da nossa residência.

public class MainActivity extends AppCompatActivity { private Gpio ledGpio; private static final String GPIO_PIN = “IO13”;

</manifest>

A Intent define a intenção de uma ação disparada de/para o sistema operacional Android. Sendo assim, o Intent Filter é justamente um filtro dessa ação. A categoria LAUNCHER, já conhecida dos desenvolvedores, define que o ponto de partida da aplicação móvel é aquela activity. Logo, o IOT_LAUNCHER tem exatamente a mesma função. A plataforma embarcada, como o Intel Edison, sabe qual atividade vai iniciar os trabalhos no momento em que a aplicação Android for executada. Olhando o manifesto, notamos a presença da já conhecida Activity. No desenvolvimento Android para smartphone, ela tem a função de representar uma tela e seu contexto. Aqui, temos a ideia de uma atividade. Mas o mais importante é que todo o ciclo de vida de uma Activity e toda a Activity Stack são reaproveitados no Android Things. O SDK do Android Things ganhou o incremento de algumas bibliotecas e classes de suma importância para o contexto da plataforma, como a classe PeripheralManagerService, que permite requisitar todas as portas a que temos acessos naquele hardware. Ou, ainda, a classe GPIO, que pode fazer a ligação com um LED RGB, por exemplo, ou com um relê que ligaria a lâmpada da sua casa. Tudo isso de forma muito simples. Abaixo, segue um exemplo muito simples de como um LED ligado na porta digital 6 do Edison Arduino pode ser ligada. Ou, ainda, esse simples LED poderia muiiMasters #22 Maio 2017

@Override protected void onCreate(Bundle savedInstanceState) { super. onCreate(savedInstanceState); PeripheralManagerService service = new PeripheralManagerService(); try { ledGpio = service. openGpio(GPIO_PIN); ledGpio.setValue(true); } catch (IOException e) { Log.e(“GPIOS”, “Error on PeripheralIO API”, e); } } } Para um desenvolvedor experiente da plataforma Android, é quase inacreditável saber que todo o conhecimento poderá ser replicado para o mundo IoT. O único ponto de dúvida talvez seja a variável GPIN_PIN valorizada com IO13, sendo que, na descrição do parágrafo anterior, citei a porta digital 6. Um ponto de atenção no Android Things é justamente o nome das portas que estaremos trabalhando. Mas, na documentação oficial, é possível selecionar a plataforma alvo e saber os nomes de todas as portas que devem ser usadas. Por exemplo, para o Intel Edison Arduino I/O, a seguinte imagem é encontrada (https://developer.android.com/things/hardware/ edison-arduino-io.html):


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.