Internet das Coisas com ESP8266, Arduino e Raspberry Pi - 2ª Edição
Descrição do livro
A Internet das Coisas (Internet of Things - IoT), está se tornando realidade. Os módulos de hardware para implementar IoT já estão disponíveis a um custo factível para aplicação. Uma família de microcontroladores, incluindo o ESP8266 e ESP32 da Espressif, virou uma opção extremamente interessante devido a seu custo muito reduzido e aos seus recursos, suficientes para diversas aplicações de IoT. O ESP8266 está disponível em vários módulos, com comunicação WiFi integrada, processador de 32 bits a uma velocidade de 160 MHz, e é vendido a um preço muito baixo nos sites chineses e brasileiros. O ESP32 é mais poderoso, com dois núcleos e 240 MHz, e possui custo ligeiramente superior. E mais: são totalmente compatíveis com o Arduino. Isso significa que tudo que roda no Arduino vai rodar ainda melhor no ESP8266 e no ESP32, vai custar menos e consumir menos energia. Sem dúvida, uma opção muito interessante para implementar dispositivos de IoT.
Este livro apresenta o desenvolvimento de aplicações práticas, especialmente com os módulos ESP8266 e ESP32. Serão mostrados os princípios gerais de comunicação e programação para IoT e o funcionamento básico dos microcontroladores e seus módulos periféricos. Foram incluídos exemplos de implementação de dispositivos IoT para situações cotidianas.
Ver menos ▲Sumário
- Agradecimentos
- Sobre o autor
- Prefácio
- Parte I Conceitos
- ■ Capítulo 1 Introdução
- ■ Capítulo 2 Protocolos e padrões
- ■ 2.1 Arquitetura cliente-servidor
- 2.2 TCP/IP
- 2.2.1 Camada de aplicação
- 2.2.2 Camada de Transporte
- 2.2.3 Camada de rede
- 2.2.4 DHCP e DNS
- 2.2.5 NAT (Network Address Translation)
- 2.3 WiFi
- 2.3.1 Subcamada física
- 2.3.2 Subcamada de acesso ao meio
- 2.4 Modos de comunicação WiFi
- 2.4.1 Infraestrutura fixa
- 2.4.2 Ad hoc
- 2.4.3 WiFi Direct
- 2.4.4 Redes Mesh
- 2.5 RFID
- 2.6 Protocolos específicos para IoT
- 2.7 Bluetooth Low Energy (BLE)
- 2.8 LoRa e LoRaWAN
- ■ Capítulo 1 Introdução
- Capítulo 3 Arquitetura de sistemas embarcados
- ■ 3.1 Microcontroladores
- 3.2 Interfaces de entrada e saída
- 3.3 Interfaces de comunicação
- 3.4 Arduino
- 3.4.1 Módulos periféricos Arduino
- 3.5 Raspberry Pi e placas Linux
- 3.6 ESP8266
- 3.6.1 Módulos com o ESP8266
- 3.7 ESP32
- Capítulo 4 Gestão de energia em IoT
- ■ 4.1 Consumo dos dispositivos IoT
- 4.2 ESP8266
- 4.3 Raspberry Pi
- 4.4 Ciclos Hibernação/Funcionamento
- 4.5 Baterias
- 4.5.1 Cálculo da autonomia da bateria
- 4.6 Soluções sustentáveis com painel solar
- 4.7 Controlador de carga
- 4.8 Exemplo de aplicação autossustentável
- Capítulo 5 Programação paralela, distribuída e de tempo real
- ■ 5.1 Programação paralela
- 5.2 Programação distribuída
- 5.2.1 Web services
- 5.3 Sistemas de tempo real
- 5.4 FreeRTOS
- Capítulo 6 Internet das Coisas e a nuvem
- ■ 6.1 Computação em nuvem (Cloud Computing)
- 6.2 Acesso a aplicações web
- 6.3 Web services
- 6.4 Bancos de dados
- 6.5 MQTT
- 6.6 Plataformas comerciais de nuvem
- 6.6.1 Microsoft Azure
- 6.6.2 Amazon AWS
- 6.6.3 IBM Watson
- 6.6.4 Google Clould Platform
- 6.7 Firebase
- Sumário
- Capítulo 7 Tags BLE – IoT com Autonomia
- ■ 7.1 Funcionamento
- 7.1.1 Padrão Apple iBeacon
- 7.1.2 Padrão Google Eddystone
- 7.2 Aplicações BLE
- 7.2.1 Direcionamento de clientes em centros comerciais
- 7.2.2 Localização Indoor em tempo real
- 7.2.3 Sensoriamento amplo para manutenção preditiva
- 7.2.4 Monitoramento de pressão de pneus
- Parte II Implementação
- ■ Capítulo 8 Programação NodeMCU com a linguagem Lua
- ■ 8.1 Gravando o firmware
- 8.2 Ambiente de desenvolvimento
- 8.3 Acesso à rede WiFi
- 8.4 Acessando GPIO
- 8.5 HTTP Client
- 8.6 Servidor HTTP
- 8.7 Temporizadores
- 8.8 Modo de autoconfiguração
- ■ Capítulo 8 Programação NodeMCU com a linguagem Lua
- Capítulo 9 Programação na IDE Arduino
- ■ 9.1 ESP8266 e ESP32
- 9.2 Exemplos no ambiente Arduino
- 9.2.1 Pisca LED
- 9.2.2 Conexão WiFi
- 9.3 Servidor web
- 9.3.1 Acesso ao banco de dados MySQL
- 9.4 Atualização OTA
- 9.4.1 Atualização OTA pela IDE Arduino
- 9.4.2 Atualização servidor web
- 9.4.3 Atualização como cliente web
- 9.5 Programando na IDE Eclipse
- Capítulo 10 Interface com sensores e atuadores
- ■ 10.1 GPIO
- 10.1.1 LED
- 10.1.2 Relés
- 10.1.3 Botões e chaves
- 10.1.4 Sensor de presença
- 10.1.5 Controle remoto 315 MHz
- 10.2 Entrada analógica
- 10.2.1 LM35
- 10.2.2 Sensor de umidade do solo
- 10.2.3 Sensor de gases inflamáveis
- 10.2.4 Sensor de corrente elétrica
- 10.3 PWM
- 10.3.1 PONTE H L298N
- 10.4 Comunicação serial
- 10.5 UART
- 10.5.1 Módulo GPS
- 10.6 SPI
- 10.6.1 Módulo cartão de memória SD
- 10.6.2 Módulo RFID RC522
- 10.7 I2C
- 10.7.1 GY-80
- 10.7.2 RTC DS1307 e DS3231
- 10.7.3 Sensor de temperatura e umidade DHT11 e DHT22
- Parte III Aplicações
- ■ Capítulo 11 Datalog na nuvem
- ■ 11.1 ThingSpeak com
- 11.2 Desenvolvimento de aplicações
- 11.3 Programa
- ■ Capítulo 11 Datalog na nuvem
- Capítulo 12 Controle de irrigação com MQTT
- ■ 12.1 Protocolo MQTT
- 12.2 Implementação com MQTT
- 12.3 Módulo irrigação
- 12.4 Módulo bomba
- 12.5 Interface web
- Capítulo 13 Controle de acesso web utilizando RFID
- ■ 13.1 Apresentação
- 13.2 Casos de uso
- 13.3 Banco de dados
- 13.4 Interface web
- 13.4.1 Acesso RFID
- Sumário
- 13.4.2 Inserção de usuário
- 13.4.3 Apagar usuários e tags
- 13.4.4 Listar acessos
- 13.5 Dispositivo IoT
- 13.6 Agregando persistência local
- Capítulo 14 Interfaces com smartphones
- ■ 14.1 Android Studio
- 14.2 App com protocolo MQTT
- 14.3 Interface
- 14.4 Organização do código
- 14.5 Funções callback e chegada de mensagens
- 14.6 Criando a conexão
- 14.7 Assinatura de tópicos
- 14.8 Envio de notificações
- 14.9 Publicação de mensagens
- Capítulo 15 Raspberry Pi e outras placas Linux
- ■ 15.1 Sistema operacional Linux
- 15.2 Instalação e configuração Raspbian
- 15.3 Desenvolvimento com o Raspberry Pi
- 15.4 Comunicação em tempo real com o ESP8266
- Capítulo 16 Porteiro eletrônico pelo smartphone
- ■ 16.1 Apresentando o porteiro eletrônico
- 16.2 Voz sobre IP
- 16.3 Montagem do porteiro eletrônico
- 16.4 Acionamento do portão
- Capítulo 17 Implementando módulos com câmeras
- ■ 17.1 Compressão de vídeo
- 17.2 Câmera remota com o ESP32-CAM
- 17.3 Câmera remota com o Raspberry Pi Zero W
- Capítulo 18 Abertura do portão da garagem pelo app
- ■ 18.1 Funcionamento do portão de garagem
- 18.2 Proposta para solução IoT
- 18.3 Circuito
- 18.4 Programa
- 18.4.1 Programa embarcado IoT
- 18.4.2 Aplicativo Android
- 18.4.3 Firebase
- 18.5 Agregando funcionalidades
- 18.5.1 Acionamento sem conectividade
- 18.5.2 Acionamento automático pelo GPS
- capítulo 19 Conversando com a Alexa
- ■ 19.1 Sinric Pro
- 19.2 Integrando uma lâmpada
- 19.3 Integrando um botão
- Bibliografia
- Índice remissivo
Sobre o autor
Sérgio de Oliveira é professor associado da UFSJ Campus Alto Paraopeba. Tem graduação, mestrado e doutorado em Ciência da Computação na Universidade Federal de Minas Gerais (UFMG). Realiza pesquisas na área de redes de sensores sem fio, segurança de redes e sistemas embarcados. Atua em convênios e projetos em parceria com empresas e órgãos… Ver perfil completo ▶
Livros relacionados
Opinião dos leitores
Gilnei de M
O livro é excelente.




