Sérgio de Oliveira. Novatec

Documentos relacionados
Arduino Básico Michael McRoberts

Benjamin Bengfort Jenny Kim

Primeiros Passos com o Raspberry Pi

Ricardo R. Lecheta. Novatec

Ricardo Lino Olonca. Novatec

Primeiros Passos com o Arduino Massimo Banzi

Ricardo R. Lecheta. Novatec

Ricardo Kléber M. Galvão. Novatec

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Jonathan Stark Brian Jepson

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Ademir C. Gabardo. Novatec

João Eriberto Mota Filho

Desenvolvendo Websites com PHP

Desenvolvimento de Grandes Aplicações Web

Hélio Engholm Jr. Novatec

Ricardo Lino Olonca. Novatec

Guia Prático Richard E. Silverman

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

ARDUINO E RASPBERRY PI : UMA COMPARAÇÃO DE ESPECIFICAÇÕES E APLICAÇÕES DE MINICOMPUTADORES

WordPress 3 Básico Stephanie Leary

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Adrian Mouat. Novatec

2ª Edição Alexandre Keller

Camila Porto. Novatec

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Desenvolvendo Websites com PHP

Novatec Editora Ltda. [2014].

CONCESSIONÁRIAS DE ENERGIA APLICAÇÕES

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Nelson Glauber de Vasconcelos Leal

Service Desk Corporativo

Google Android para Tablets

2ª edição. Daniel Adorno Gomes. Novatec

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

2ª EDIÇÃO. André Milani. Novatec

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Google Analytics Justin Cutroni

Google Android para Tablets

Paulo Strelczuk. Novatec

Crie Seu Próprio Site

Ademir C. Gabardo. Novatec

Josh Pauli Revisão técnica Scott White. Novatec

Ricardo R. Lecheta. Novatec

Arduino. Prof. Jener Toscano Lins e Silva

Luiz Carlos Querino Filho

Brandon Rhodes John Goerzen

Wilson Moraes Góes. Novatec

Introdução à Programação com Python

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Pramod J. Sadalage Martin Fowler

Novatec Editora Ltda

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Aprendendo Programação. ios. Alasdair Allan. Novatec

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. 2a Edição. Samuel Henrique Bucke Brito. Novatec

Padrões de Projeto em PHP

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Simon Holmes. Novatec

Design Centrado no Usuário

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

PDF Explicado John Whitington

Murillo Lo Visco. Novatec

Introdução à Programação com Python

Wilson Moraes Góes. Novatec

Arquiteturas de Software

Arduíno: Uma possibilidade de integração com o gvsig

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Estudo da placa de prototipagem Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

Criando Relatórios com PHP

Desenvolvimento de Grandes Aplicações Web

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

Sistemas Digitais: Introdução

Conrado Adolpho. Novatec

André Gugliotti. Novatec

Google Android para Tablets

Copyright 2008, 2013 da Novatec Editora Ltda.

Keith Wood. Apresentação de Dave Methvin. Novatec

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

AUTOMAÇÃO DE AVIÁRIO UTILIZANDO A PLATAFORMA ARDUINO

David Hows Peter Membrey Eelco Plugge

Hélio Engholm Jr. Novatec

João Eriberto Mota Filho

Segurança em Redes sem Fio

Sistemas Embarcados: Arduino e PCduino

Martin Evans Joshua Noble Jordan Hochenbaum

Protótipo de gravador de microcontroladores PIC utilizando redes sem fio

Controlo de acesso a salas de alunos

Marcos Bandeira de Oliveira. Novatec

Criando Aplicações Gráficas com PHP

PLATAFORMA PARA ESTUDO EM PROGRAMAÇÃO DE MICROCONTROLADORES FAMÍLIA 8051

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Especificação Técnica

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Daniel Moreno. Novatec

Transcrição:

Sérgio de Oliveira Novatec

Novatec Editora Ltda. 2017. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Capa: Carolina Kuwabata ISBN: 978-85-7522-581-3 Histórico de impressões: Junho/2017 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 E-mail: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Agradecimentos... 13 Sobre o autor... 14 Prefácio... 15 Parte I Conceitos... 16 Capítulo 1 Introdução... 17 Capítulo 2 Protocolos e padrões... 20 2.1 Arquitetura cliente-servidor... 20 2.2 TCP/IP...21 2.2.1 Camada de aplicação... 22 2.2.2 Camada de Transporte... 22 2.2.3 Camada de rede... 23 2.2.4 DHCP e DNS...24 2.2.5 NAT (Network Address Translation)... 25 2.3 WiFi...27 2.3.1 Subcamada física... 28 2.3.2 Subcamada de acesso ao meio... 29 2.4 Modos de comunicação WiFi...32 2.4.1 Infraestrutura fixa...32 2.4.2 Ad hoc...33 2.4.3 WiFi Direct...33 2.4.4 Redes Mesh... 34 2.5 RFID...35 2.6 Protocolos específicos para IoT...37 Capítulo 3 Arquitetura de sistemas embarcados... 40 3.1 Microcontroladores... 40 3.2 Interfaces de entrada e saída...42 7

8 Internet das Coisas com ESP8266, Arduino e Raspberry Pi 3.3 Interfaces de comunicação...43 3.4 Arduino... 44 3.4.1 Módulos periféricos Arduino...45 3.5 Raspberry Pi e placas Linux... 46 3.6 ESP8266... 48 3.6.1 Módulos com o ESP8266... 49 Capítulo 4 Gestão de energia em IoT... 54 4.1 Consumo dos dispositivos IoT...55 4.2 ESP8266...55 4.3 Raspberry Pi... 56 4.4 Baterias...58 4.4.1 Cálculo da autonomia da bateria... 60 4.5 Soluções sustentáveis com painel solar...61 4.6 Controlador de carga... 63 4.7 Exemplo de aplicação autossustentável... 65 Capítulo 5 Programação paralela, distribuída e de tempo real... 67 5.1 Programação paralela... 67 5.2 Programação distribuída...70 5.3 Sistemas de tempo real... 72 Capítulo 6 Internet das Coisas e a nuvem... 75 6.1 Computação em nuvem (Cloud Computing)...75 6.2 Acesso a aplicações web...76 6.3 Web Services... 77 6.4 Bancos de dados...78 6.5 MQTT...79 6.6 Plataformas comerciais de nuvem... 80 6.6.1 Microsoft Azure...81 6.6.2 Amazon AWS...81 6.6.3 IBM Watson...81 6.6.4 Google Clould Platform... 82 Parte II Implementação... 83 Capítulo 7 Programação NodeMCU com a linguagem Lua... 84 7.1 Gravando o firmware... 84 7.2 Ambiente de desenvolvimento... 87 7.3 Acesso à rede WiFi... 88 7.4 Acessando GPIO... 89

Sumário 9 7.5 HTTP Client... 89 7.6 Servidor HTTP... 90 7.7 Temporizadores... 92 7.8 Modo de autoconfiguração... 94 Capítulo 8 Programação na IDE Arduino... 97 8.1 Exemplos no ambiente Arduino... 99 8.1.1 Pisca LED... 99 8.1.2 Conexão WiFi...100 8.2 Servidor web...101 8.2.1 Acesso ao banco de dados MySQL...104 8.3 Atualização OTA...111 8.3.1 Atualização OTA pela IDE Arduino...111 8.3.2 Atualização servidor web... 114 8.3.3 Atualização como cliente web...115 8.4 Programando na IDE Eclipse...117 Capítulo 9 Interface com sensores e atuadores... 121 9.1 GPIO...121 9.1.1 LED...122 9.1.2 Relés...122 9.1.3 Botões e chaves...124 9.1.4 Sensor de presença...125 9.1.5 Controle remoto 315 MHz...126 9.2 Entrada analógica...127 9.2.1 LM35...128 9.2.2 Sensor de umidade do solo...129 9.2.3 Sensor de gases inflamáveis...131 9.2.4 Sensor de corrente elétrica...132 9.3 PWM...133 9.3.1 PONTE H L298N...136 9.4 Comunicação serial...137 9.5 UART...138 9.5.1 Módulo GPS...138 9.6 SPI...140 9.6.1 Módulo cartão de memória SD...140 9.6.2 Módulo RFID RC522... 141 9.7 I2C...142 9.7.1 GY-80...143 9.7.2 RTC DS1307 e DS3231...143 9.7.3 Sensor de temperatura e umidade DHT11 e DHT22...144

10 Internet das Coisas com ESP8266, Arduino e Raspberry Pi Parte III Aplicações... 146 Capítulo 10 Datalog na nuvem... 147 10.1 ThingSpeak.com...147 10.2 Desenvolvimento de aplicações...149 10.3 Programa...151 Capítulo 11 Controle de irrigação com MQTT... 153 11.1 Protocolo MQTT...153 11.2 Implementação com MQTT...155 11.3 Módulo irrigação...157 11.4 Módulo bomba...160 11.5 Interface web...163 Capítulo 12 Controle de acesso web utilizando RFID... 166 12.1 Apresentação...166 12.2 Casos de uso...167 12.3 Banco de dados...168 12.4 Interface web...170 12.4.1 Acesso RFID...170 12.4.2 Inserção de usuário...171 12.4.3 Apagar usuários e tags... 174 12.4.4 Listar acessos...176 12.5 Dispositivo IoT...178 12.6 Agregando persistência local...182 Capítulo 13 Interfaces com smartphones... 187 13.1 Android Studio...189 13.2 App com protocolo MQTT...194 13.3 Interface...195 13.4 Organização do código...201 13.5 Funções Callback e chegada de mensagens...202 13.6 Criando a conexão...205 13.7 Assinatura de tópicos...206 13.8 Envio de notificações...207 13.9 Publicação de mensagens...208 Capítulo 14 Raspberry Pi e outras placas Linux... 209 14.1 Sistema operacional Linux...210 14.2 Instalação e configuração Raspbian...212

Sumário 11 14.3 Desenvolvimento com o Raspberry Pi...214 14.4 Comunicação em tempo real com o ESP8266...216 Capítulo 15 Porteiro eletrônico pelo smartphone... 222 15.1 Apresentando o porteiro eletrônico...222 15.2 Voz sobre IP... 223 15.3 Montagem do porteiro eletrônico... 225 15.4 Acionamento do portão...228 Bibliografia... 233 Índice remissivo... 235