Internet das Coisas - 02.pdf
C
M
Y
CM
MY
CY
CMY
K
1
16/02/17
16:40
Edição FCA – Editora de Informática, Lda.
EDIÇÃOAv. Praia da Vitória, 14 A – 1000-247 Lisboa Tel: +351de 213Informática, 511 448 FCA – Editora Lda. fca@fca.pt Av. Praia da Vitória, 14 A – 1000-247 Lisboa www.fca.pt Tel: +351 213 511 448 fca@fca.pt www.fca.pt Distribuição Lidel – Edições Técnicas, Lda. DISTRIBUIÇÃO D. Estefânia, 183, R/C Dto. – 1049-057 Lisboa Lidel – Rua Edições Técnicas, Lda. Tel: +351 213 511 448 Rua D. Estefânia, 183, R/C Dto. – 1049-057 LISBOA lidel@lidel.pt Tel: +351 213 511 448 www.lidel.pt lidel@lidel.pt www.lidel.pt
Livraria LIVRARIA Av. Praia da Vitória, 14 A – 1000-247 Lisboa Av. Praia da Vitória, 14 – 1000-247 LISBOA Tel: +351 213 511 448 * Fax: +351 213 522 684 Tel: +351 213 511 448 * Fax: +351 213 173 259 livraria@lidel.pt livraria@lidel.pt Copyright © abril 2016, FCA – Editora de Informática, Lda. Copyright © 2017, FCA – Editora de Informática, Lda. ISBN: 978-972-722-830-0 ISBN edição impressa: 978-972-722-849-2 1.ª edição impressa: abrilfevereiro 2016 2017 1.ª edição impressa: Paginação: Alice Simões Impressão e acabamento: A definir Paginação: Carlos Mendes Depósito Legal N.º Aguardar Impressão e acabamento: Tipografia Lousanense, Lda. – Lousã Capa: José Manuel Reis Depósito Legal n.º 421876/17 Ilustração daJosé capa: Capa: M.Miguel Ferrão –Montenegro Look-Ahead Marcas Registadas de FCA – Editora de Informática,
Marcas registadas de FCA – Editora de Informática, Lda. –
FCA®
Todos os nossos livros passam por um rigoroso controlo de qualidade, no entanto, aconselhamos a consulta periódica do nosso site (www.fca.pt) para fazer o download de eventuais correções.
Todos os nossos livros passam por um rigoroso controlo de qualidade, no entanto aconselhamos a consulta periódica do nosso site (www.fca.pt) para fazer o download de eventuais correções.
Não nos responsabilizamos por desatualizações das hiperligações presentes nesta obra, que foram verificadas à data de da mesma.por desatualizações das hiperligações presentes nesta obra, que foram verificadas à data de Nãopublicação nos responsabilizamos publicação da mesma.
Os nomes comerciais referenciados neste livro têm patente registada. Os nomes comerciais referenciados neste livro têm patente registada. Reservados todos os direitos. Esta publicação não pode ser reproduzida, nem transmitida, no todo ou em parte, por qualquer processo eletrónico, gravação, sistema de armazenamento e disponibilização de Reservados todos osmecânico, direitos. Estafotocópia, publicaçãodigitalização, não pode ser reproduzida, nem transmitida, no todo ou em parte, por qualquer processo eletrónico,sítio mecânico, gravação, sistema de armazenamento e disponibilização de informação, Web, blogue informação, Web, fotocópia, blogue oudigitalização, outros, sem prévia autorização escrita da Editora, exceto o permitido pelo sítio CDADC, em ou outros, semprivada prévia autorização escrita da Editora, para exceto o permitido pelo CDADC, termosdo depagamento cópia privada AGECOP – termos de cópia pela AGECOP – Associação a Gestão da Cópia Privada,em através daspela respetivas – Associação para a Gestão da Cópia Privada, através do pagamento das respetivas taxas. taxas.
INTERNET DAS COISAS INTRODUÇÃO PRÁTICA
PEDRO COELHO
www.fca.pt
O AUTOR
© FCA
Pedro Coelho
Licenciado em Engenharia Eletrotécnica e de Computadores pelo Instituto Superior Técnico. Consultor e Gestor de Projetos de TI nas áreas da Web e da Internet. Com 25 anos de experiência, já esteve envolvido em grandes projetos principalmente em empresas de Telecomunicações e de Consultoria. Responsável pela implantação de Sistemas de TI (Billing, CRM, Provisioning, Plataformas de Serviços, etc.), redes de dados (TCP/IP), infraestruturas de serviço completo (ISP), serviços de Internet e aplicações complexas, e liderança dos departamentos de TI. Autor de vários livros sobre Sistemas de Informação, Internet, Web e Programação, todos editados pela FCA.
ÍNDICE Sobre o Livro XI
1. A Internet das Coisas
1
1.1. O que é a Internet das Coisas? 1.2. Introdução Histórica 1.3. Presente e Futuro
13
2. Internet das Coisas – Tecnologias Disponíveis
19
2.1. 2.2. 2.3. 2.4. 2.5. 2.6.
8
Arquitetura de Sistemas Internet das Coisas
20
Sistemas Remotos
24
Protocolos 25 Software/Sistemas Centrais e Cloud 29 Dados/Data Brokers 32 Machine Learning 33
3. Comunicações na Internet das Coisas 3.1. 3.2. 3.3. 3.4. 3.5.
2
37
Conectividade 38 Comunicações Móveis Tradicionais
41
Tecnologias Rádio Internet das Coisas
45
Outras Tecnologias
48
Operadores Internet das Coisas
50
3.5.1. SIGFOX 51 3.5.2. Ingenu 51
© FCA
3.6. IoT@Home 52
VIII
Internet das Coisas – Introdução Prática
4. Casos de Uso
57
4.1. Domótica/Casas e Edifícios Inteligentes 58 4.1.1. Estação Meteorológica Doméstica 59 4.1.2. Videovigilância e Alarmística 60 4.1.3. Regar Plantas e Jardins 62 4.1.4. Controlo do Aquecimento Central 63 4.1.5. Controlo do Portão da Garagem 64 4.1.6. Controlo da Iluminação 66 4.1.7. Controlo dos Eletrodomésticos 67 4.1.8. Controlo de Acessos 68 4.2. Televisão Inteligente (Smart TV) 68 4.3. Cidades Inteligentes (Smart Cities) 70 4.4. Redes Inteligentes (Smart Grids) 72 4.5. Roupa Inteligente e Wearables 73 4.6. Veículos Inteligentes 74 4.7. Aviões Inteligentes e Drones 75 4.8. Medicina e Saúde 75 4.9. Fitness 77 4.10. Indústria Bélica 78 4.11. Indústria 78 4.12. Retalho e Logística 80 4.13. Agricultura e Floresta 81 4.14. Ambiente 82 4.15. Tracking/Localização 83 4.16. Internet of Everything 84
5. Plataforma Raspberry Pi 5.1. 5.2. 5.3. 5.4.
87
Introdução 88 Montagem 91 Configuração 93 Ambiente de Desenvolvimento
6. Programação IoT Java
107 117
6.1. Java e GPIO (General Purpose Input/Output) 118 6.2. Pi4J 131 6.2.1. Importação de Packages 132
Índice
6.2.2. Inicialização 132 6.2.3. Numeração dos Pinos 132 6.2.4. Provisionamento dos Pinos 134 6.2.5. Controlo do Estado dos Pinos 135 6.2.6. Leitura do Estado dos Pinos 135 6.2.7. Esperar Alterações nos Pinos 136 6.2.8. Estado Final dos Pinos 136 6.2.9. Triggers 136 6.2.10. Comunicação de Dados em Série 137 6.2.11. Informação do Sistema 137 6.3. Ligação a Bases de Dados 6.4. Exemplo Prático – Termómetro
7. Machine to Machine
138 144 157
7.1. O Que é o Machine to Machine? 158 7.2. Protocolo Message Queuing Telemetry Transport (MQTT) 159 7.3. Exemplo Prático Raspberry Pi 172
8. Internet das Coisas e Big Data
179
8.1. Tecnologia Big Data 180 8.2. Big Data e Internet das Coisas 185 8.3. Exemplo Prático 187
© FCA
9. Segurança IoT
211
9.1. Riscos 212 9.2. Tecnologias 214 9.3. Boas Práticas e Técnicas de Mitigação 220 9.3.1. Segurança por Desenho 220 9.3.2. Hardening de Todos os Componentes 221 9.3.3. Updates de Todos os Componentes 222 9.3.4. Inventário de Dispositivos na Rede 222 9.3.5. Mapear a Rede 224 9.3.6. Usar Device Authentication 224 9.3.7. Usar Segurança de Rede 224 9.3.8. Documentar Todos os Acessos Remotos 225 9.3.9. Controlar Todos os Acessos Remotos 225 9.3.10. Logs e Auditoria 225
IX
X
Internet das Coisas – Introdução Prática
9.3.11. Evitar Transmissão de Dados Sensíveis 225 9.3.12. Utilizar Encriptação 226 9.3.13. Isolar Dados dos Sistemas 226 9.3.14. Metodologia Open Web Application Security Project 226 9.3.15. Testes de Intrusão Antes da Entrada em Produção 227 9.3.16. Separação de Redes – Não Expor SCADA ou Atuadores Críticos na Internet
9.3.17. Atenção às Redes de Gestão 9.3.18. Análise Heurística 9.3.19. Auditorias Regulares
10. Exemplos Práticos 10.1. Sensor de Luz e Despertador 10.2. Sensor de Movimento 10.3. Abertura de Portão de Garagem 10.4. Sensor de Humidade – Ligar Rega 10.5. Dos Protótipos aos Produtos
228 228 229 229 231 232 238 250 266 278
Glossário de Termos
281
Índice Remissivo
287
SOBRE O LIVRO Este livro pretende cobrir um tema com a abrangência da Internet das Coisas – IoT (que é um conceito vasto e para muitas pessoas difuso) com uma perspetiva introdutória e muito prática. Nos capítulos que se seguem, o leitor verá enquadrados e discutidos os vários aspetos tecnológicos e funcionais relevantes no que diz respeito à IoT, incluindo os casos de uso da tecnologia em várias vertentes de utilização pessoal e empresarial. Todavia, inclui-se também um componente prático, explicando-se, por meio de exemplos, como pode ser utilizada tecnologia de hardware e software, facilmente disponível e ao alcance de todos, para que o leitor possa implementar, com uma certa simplicidade, pequenos projetos IoT. O estilo seguido é de introdução prática ao tema, procurando-se abordar os pontos passo a passo e explicando todos os procedimentos necessários para conseguir pôr a funcionar um demonstrador que, na verdade, tem software e hardware.
© FCA
No estado atual da tecnologia, e com os pacotes de software e hardware que existem disponíveis no mercado, a verdade é que qualquer pessoa com alguns conhecimentos de sistemas e programação pode fazer protótipos e pôr “coisas” a funcionar na IoT. No entanto, são feitas as devidas ressalvas para os pontos que devem ser tidos em conta em projetos e utilizações profissionais, nomeadamente sendo fundamental ter em conta os aspetos da segurança e da fiabilidade dos sistemas.
XII
Internet das Coisas – Introdução Prática
Para muitos leitores, com mais ou menos experiência de desenvolvimento, Internet e sistemas, a incorporação de hardware nos seus projetos e o controlo da comunicação dessas peças remotas por parte de pequenos programas que se podem produzir com facilidade abre todo um mundo novo de oportunidades e de desafios. Apesar de todos os riscos, incertezas, e indefinições, a IoT é sobretudo uma grande oportunidade. É uma das tecnologias que mais irá crescer nas próximas décadas. E o leitor faz bem em se interessar por ela.
Complementos ao livro em www.fca.pt A fim de facilitar a aprendizagem através da prática, o leitor encontra no site da editora o código fonte dos exemplos e algumas figuras a cores.
1 INTRODUÇÃO
A INTERNET DAS COISAS
Desde há bastantes anos que se imaginam e implementam soluções baseadas no conceito de ligação de dispositivos à Internet, muito para além dos tradicionais computadores, que foram os primeiros meios de acesso. O que há alguns anos era um conceito é hoje uma realidade em concretização, com muitos meios, pessoas e ideias envolvidos: a IoT (Internet of Things – Internet das Coisas) chegou e vai tomar conta do nosso dia a dia.
2
Internet das Coisas – Introdução Prática
1.1. O QUE É A INTERNET DAS COISAS? De tempos a tempos aparece na Internet uma nova buzzword, um termo que toda a gente ouve, embora nem sempre compreenda, e que aparece com frequência associado a grandes inovações ou a formas disruptivas de encarar as tecnologias. A IoT (Internet of Things ou Internet das Coisas, em português) poderia qualificar-se como um desses conceitos, não fosse o caso de significar uma evolução muito profunda da sociedade e, segundo muitos analistas, mesmo disruptiva. Há definições diversas para a IoT, mas que correspondem ao mesmo conceito. Pode-se definir a IoT como um sistema que interliga dispositivos de computação, sejam eles computadores, máquinas, pessoas, animais ou objetos, e no âmbito do qual estes podem comunicar e transferir dados sem qualquer intervenção humana. Ou seja: pressupõe a ligação à Internet de todo o tipo de objetos, que comunicam com serviços e aplicações remotas. A Internet foi concebida inicialmente como um meio de interligar computadores, através da transmissão de mensagens entre eles. No início do século XXI, a Internet evoluiu da World Wide Web para utilizações cada vez mais diversificadas, como o transporte de voz e vídeo, a colaboração em rede e a interligação de dispositivos diversos (não só computadores) com a rede. A utilização cada vez maior da Internet, e para fins cada vez mais diversificados, levou a um crescimento muito grande dos dispositivos a ela conectados. Numa fase inicial, o crescimento das entidades conectadas fazia-se pelo aumento da utilização (mais humanos conectados resulta em mais computadores, logo em mais servidores). A revolução dos dispositivos móveis (smartphones e tablets) veio trazer um crescimento adicional do número de dispositivos, nomeadamente porque possibilitou crescimento também entre o público que já usava a Internet nos computadores, ligando novos dispositivos. E agora, temos a revolução da IoT, a ligação de todo o tipo de objetos na rede, e o consequente aumento exponencial dos objetos conectados (Figura 1.1). Há bastantes anos que se antevê a possibilidade de os dispositivos (e não só os computadores) se poderem ligar à Internet e comunicarem em rede. Nos anos 90, a tecnologia Java surgiu como promessa de um mundo de dispositivos diversos ligados em rede, a correr versões próprias daquela tecnologia e a comunicar com servidores ou com pessoas.
A Internet das Coisas
Figura 1.1 Evolução dos dispositivos conectados à Internet
Os operadores de telecomunicaçþes investiram hĂĄ alguns anos em tecnologias que designaram de M2M (machine to machine), destinadas a potenciar as suas redes no suporte das comunicaçþes entre mĂĄquinas, com aplicaçþes que se anteviam promissoras. Imaginaram-se cenĂĄrios de automĂłveis e frigorĂficos ligados a aplicaçþes centrais, com as quais interagem, e que permitem a execução de programas automĂĄticos, a monitorização de condiçþes de funcionamento, o envio de notificaçþes aos seus utilizadores, etc. Como tantas vezes acontece, a histĂłria seguiu um caminho diferente do que tinha sido previsto, embora na mesma direção. Mais do que se falar em comunicação entre mĂĄquinas, começou a falar-se de um ecossistema mais amplo, que abrange mĂĄquinas, pessoas, sistemas e dados unidos pelas redes de comunicação, e utilizou-se a designação IoT para denominar a realidade da mirĂade de dispositivos que hoje se ligam Ă Internet, com os objetivos mais diversos. Em termos mais genĂŠricos, pode-se designar a IoT como uma rede de objetos fĂsicos, incluindo dispositivos eletrĂłnicos, sensores, computadores, veĂculos, edifĂcios, entre muitos outros objetos, em que os objetos tĂŞm eletrĂłnica embebida, software, sensores e conectividade de rede, possibilitando a troca de informaçþes (nos dois sentidos) entre eles.
Š FCA
O tipo de dispositivos que se conectam à Internet tem sofrido constantes evoluçþes, em particular nos últimos anos. Dispositivos móveis de diversos tipos, leitores de media e caixas de streaming, relógios, pulseiras, eletrodomÊsticos, automóveis, roupas e sapatos inteligentes, dispositivos mÊdicos e de fitness, dispositivos de localização, sensores de todos os tipos, atuadores, câmaras de vigilância, etc. (Figura 1.2).
3
4
Internet das Coisas – Introdução Pråtica
& !
!
&
& !
Figura 1.2 Diversidade de dispositivos conectados Ă Internet
A IoT pode ser aplicada com sucesso em quase todos os setores de atividade, alguns exemplos: •  DomĂłtica – Casas inteligentes; •  Smart cities – Cidades inteligentes, incluindo controlo de acessos, trĂĄfego, pessoas, infraestruturas; •  Smart grids – Leitura automĂĄtica de contadores de eletricidade, ĂĄgua, gĂĄs; serviços diversos associados; •  SaĂşde – Monitorização e alarmes de dispositivos mĂŠdicos aplicados em doentes; •  Fitness – Comunicação de gadgets de fitness diversos (relĂłgios, pulseiras, medidores, etc.) com sistemas centrais; •  Retalho – A substituição dos cĂłdigos de barras por tags ativas ou passivas, um processo que jĂĄ começou; •  LogĂstica – A utilização de dispositivos de IoT para finalidades como localização, controlo de stocks, distribuição; •  Agricultura – Controlo de animais, controlo de colheitas, alarmĂstica e monitorização diversa; •  Segurança – Vigilância, alarmĂstica, deteção de eventos;
A Internet das Coisas
• Localização – De crianças, idosos, animais; • Farmacêutica – Controlo de produção, distribuição e logística; • Centrais de energia – Monitorização e controlo de manutenção de equipamentos, deteção de falhas em tempo real; • Aeronáutica – Monitorização e controlo de manutenção de equipamentos, deteção de falhas em tempo real; • Wearables – Roupa, sapatos, óculos inteligentes. Estes são apenas alguns exemplos. A IoT permite que os objetivos possam ser monitorados e atuados remotamente a partir da rede, possibilitando uma integração plena entre os sistemas informáticos e o mundo físico. São potenciados pela IoT, temas como as smart grids (redes inteligentes de distribuição de energia elétrica, gás e água), casas inteligentes, smart cities (cidades inteligentes), ou controlo de tráfego, estacionamento ou redes de transporte, entre muitos outros. A imaginação é hoje o limite para aquilo que se possa conectar à Internet, havendo aplicações e dispositivos de baixo custo para tudo o que nos lembremos de fazer, potenciando todo o género de ações, comunicação, vigilância, transação e atuação remota. Esta realidade foi grandemente auxiliada pelo aparecimento de dispositivos de computação miniaturizados de baixo custo, que possibilitam que qualquer um possa construir e utilizar uma aplicação embebida, que funcione sobre a Internet (Figura 1.3).
© FCA
Figura 1.3 Raspberry Pi – computador miniaturizado Linux de baixo custo
Estes dispositivos podem ser utilizados para implementar sensores, executar programas e comunicar com sistemas centrais, com outros dispositivos e com pessoas. São tão pequenos que podem ser inseridos em equipamentos e caixas, criando os chamados sistemas embebidos, que permitem dotar um objeto de capacidade de processamento
5
6
Internet das Coisas – Introdução Prática
(Figura 1.4). Por exemplo, uma máquina de lavar roupa com um equipamento deste tipo incluído pode ligar-se à Internet, comunicar com um sistema central, informar que a temperatura ou a humidade estão demasiado elevadas, informar que já terminou de lavar ou ser instruída para começar a lavar.
Figura 1.4 Exemplo de um sistema embebido (Fonte: http://www.techgadgetspace.com/)
De realçar que, embora a IoT se baseie muito em tecnologias de sensorização e em componentes embebidos, a realidade da IoT é muito mais complexa do que isso. Há que ter em conta as tecnologias de comunicação a utilizar, a pesquisa e identificação dos objetos, a segurança dos dados, o processamento dos dados, entre outras preocupações. Quando se fala de IoT, fala-se de todo um ecossistema tecnológico, e não de uma simples tecnologia. Na verdade, tipicamente temos de considerar um conjunto de componentes num sistema baseado em IoT (Figura 1.5): • Sensores e atuadores; • Sistemas embebidos; • Gateway IoT (interface entre os sistemas remotos e os componentes aplicacionais); • Comunicações (entre os sistemas remotos e o Gateway); • Data warehouse (recolha dos dados); • Plataforma de análise dos dados; • Servidor aplicacional (aplicações); • Servidor web (interface com os utilizadores humanos e exposição de serviços para outras aplicações).
10 INTRODUÇÃO
EXEMPLOS PRÁTICOS
Neste capítulo vamos seguir alguns exemplos práticos de protótipos que podemos montar em casa, com recurso a alguns componentes de baixo custo. O objetivo é mostrar como, na prática, se utilizam algumas das funções de sensorização e atuação referidas ao longo dos capítulos anteriores, tecendo-se no final algumas considerações sobre como passar da prototipagem à prática, e à construção de sistemas IoT (Internet of Things – Internet das Coisas) reais. Para efeitos de abrangência das demonstrações, serão utilizadas diferentes linguagens e sensores.
232
Internet das Coisas – Introdução Prática
10.1. SENSOR DE LUZ E DESPERTADOR Começamos com um dos exemplos mais simples que podemos implementar com recurso ao Raspberry Pi: um sensor de luz, que pode funcionar como despertador. O objetivo é simples: detetar o nível de iluminação ambiente e, caso esta esteja acima de um determinado limite, tocar um alarme de aviso. Para o fazer precisamos de um conjunto de componentes, além do nosso Raspberry Pi com o T-Cobbler: • Duas resistências de 1 kΩ; • Um condensador de 330 nF; • Uma fotorresistência; • Um buzzer (campainha) TMB12A05; • Fios de ligação. A fotorresistência é um componente que tem a caraterística de a sua resistência elétrica variar linearmente em função da luz que sobre ele incide. Trata-se de um componente de elevada sensibilidade e de baixo custo, que tem como única desvantagem o facto de apresentar alguma memória (ou seja, a sua leitura pode depender de exposições anteriores à luz). O buzzer utilizado no exemplo é um componente típico para emissão de som, sendo de utilização corrente em sistemas com plataformas de prototipagem. A Figura 10.1 mostra o equipamento de que necessitamos.
Figura 10.1 Componentes necessários para o sensor de luz
Para implementar as funcionalidades que pretendemos, vamos basear-nos numa configuração similar à que utilizámos por ocasião do sensor de temperatura, recorrendo à
Exemplos Práticos
medição do tempo de carga do condensador e à variação deste em função da resistência que a fotorresistência apresentar (Figura 10.2).
Figura 10.2 Esquema do sensor de luz (Fonte: Diagrama Fritzing – http://www.fritzing.com)
A Figura 10.3 mostra a montagem do nosso sistema na placa de prototipagem. A fotorresistência liga-se aos pinos 12 e 16 através das resistências, o condensador liga-se entre o terminal da fotorresistência e a massa (Graduated Neutral Density – GND), e o buzzer liga-se entre o pino 18 e a massa.
© FCA
Recorda-se que o T-Cobbler mostra a numeração dos pinos em formato BCM; como tal, os pinos a que vamos ligar são os 18, 23 e 24.
Figura 10.3 Montagem do sensor de luz
233
234
Internet das Coisas – Introdução Prática
O programa Java que vamos utilizar para controlar esta montagem é uma versão similar à que utilizámos na medição de temperatura, com o acrescento de código para controlar o buzzer, e alterando as fórmulas para transformar a resistência num indicador de luz. package testes; import com.pi4j.io.gpio.*; public class TesteBuzzer { final static GpioController gpio = GpioFactory.getInstance();
public static void descarregar() throws InterruptedException { GpioPinDigitalInput inputPIN = gpio provisionDigitalInputPin(RaspiPin.GPIO_01); GpioPinDigitalOutput outputPIN = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_04, “OutputPIN”,PinState.LOW); outputPIN.low(); Thread.sleep(10); //10 miliseconds gpio.shutdown(); gpio.unprovisionPin(inputPIN); gpio.unprovisionPin(outputPIN); }
public static double tempo_carregamento() { GpioPinDigitalInput inputPIN = gpio.provisionDigitalInputPin(RaspiPin.GPIO_04); GpioPinDigitalOutput outputPIN = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, “OutputPIN”,PinState.LOW); outputPIN.high(); long t1=System.nanoTime(); while (!inputPIN.isHigh()) {} long t2=System.nanoTime(); gpio.shutdown(); gpio.unprovisionPin(inputPIN); gpio.unprovisionPin(outputPIN);
A nova coleção sobre os grandes temas da Ciência dos Dados: Data Science, Big Data, Analytics e Internet das Coisas. Com uma abordagem muito prática e demonstração de exemplos e projetos, estes são os livros essenciais aos profissionais do futuro!
Internet das Coisas - 02.pdf
C
M
Y
CM
MY
CY
CMY
K
1
16/02/17
16:40