4. Quem sou eu?
2019 Criando Coisas Inteligentes com Arduino e NodeJS 4
Apresentação1
5. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 5
Apresentação1
Quem sou eu?
6. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 6
Agile Manaus
PyData Manaus
Apresentação1
Quem sou eu?
7. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 7
Bacharelado em
Ciência da Computação
(2002 – 2006)
Mestrado em
Engenharia Elétrica
(2007 – 2009)
Doutorado em
Engenharia Elétrica
(2010 – 2015)
MBA em Gerenciamento
de Projetos
(2019 – )
Apresentação1
Quem sou eu?
8. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 8
Conhecendo os alunos
Apresentação1
9. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 9
Conceituar Internet das Coisas (IoT), JavaScript e NodeJS.
Como integrar NodeJS com Arduino por meio de projetos.
Objetivo
Apresentação1
10. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 10
Fritzing (modelagem dos circuitos)
http://fritzing.org/download/?donation=0
Softwares Utilizados
Apresentação1
11. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 11
Arduino IDE (programação)
https://www.arduino.cc/en/Main/Software
Softwares Utilizados
Apresentação1
12. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 12
Tinkercad (modelagem, programação e simulação)
https://www.tinkercad.com/
Softwares Utilizados
Apresentação1
13. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 13
NodeJS (programação)
https://nodejs.org/en/
Softwares Utilizados
Apresentação1
14. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 14
Arduino Uno ou equivalente + cabo USB
12 Leds Coloridos (3 cada cor)
Protoboard 800 pinos
Jumpers Macho-Macho, Macho-Fêmea e Fêmea-Fêmea
Sensor de Luminosidade LDR
Sensor de Temperatura e Umidade DHT11
LED RGB 5mm
Kit Oficina
Apresentação1
16. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 16
Como era a vida na
juventude de nossos
pais? E da nossa?
Conceitos sobre IoT2
17. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 17
Conceitos sobre IoT2
18. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 18
Século XXI
Século XX
Revolução Tecnológica
Conceitos sobre IoT2
19. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 19
Eniac (1946)
5.000 operações por segundo
Intel i9 (2019)
1 trilhão de operações por segundo
Revolução Tecnológica
Conceitos sobre IoT2
20. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 20
HD de 5 MB (1956)
Toneladas
1 GB de dados = US$ 100 mil
Cartão micro SD 1TB (2019)
Gramas
1 GB de dados = centavos de dólar
Revolução Tecnológica
Conceitos sobre IoT2
21. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 21
5150 PC (1981)
Arduino, Raspberry Pi 3,
Micro:Bit
Revolução Tecnológica
Conceitos sobre IoT2
22. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 22
Arpanet em 1969
Internet Hoje
(https://internet-map.net)
Revolução Tecnológica
Conceitos sobre IoT2
23. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 23
Revolução Tecnológica
Conceitos sobre IoT2
24. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 24
Jovens, olha como era o Netflix em 2008.
Fundação: 1997 (locação de vídeos)
Streaming: 2007 (EUA) e 2011 (Brasil)
Revolução Tecnológica
Conceitos sobre IoT2
25. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 25
Isto aqui já era o seu Spotify.
Fundação: 2008 (Suécia) e 2014 (Brasil)
Revolução Tecnológica
Conceitos sobre IoT2
26. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 26
Década
1980
Revolução Tecnológica
Conceitos sobre IoT2
27. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 27
Fonte: https://www.visualcapitalist.com/
what-happens-in-an-internet-minute-in-2019/
Revolução Tecnológica
Conceitos sobre IoT2
28. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 28
Revolução Tecnológica
Conceitos sobre IoT2
Fonte: NIC.br Vídeos (2019)
29. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 29
Conceitos sobre IoT2
O que é IoT?
30. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 30
O que os usuários pensam?
Conceitos sobre IoT2
31. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 31
O que os meus amigos pensam?
Conceitos sobre IoT2
The Big Bang Theory S01E09 The Cooper Hofstadter Polarization
https://www.youtube.com/watch?v=zqSymnuveDI
32. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 32
O que realmente é
Conceitos sobre IoT2
33. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 33
Internet das Coisas (Internet of Things – IoT) conecta objetos à Internet e promove a
comunicação entre usuários e dispositivos.
O que realmente é
Conceitos sobre IoT2
34. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 34
A Internet das Coisas emergiu dos avanços de várias áreas como sistemas
embarcados, microeletrônica, comunicação e sensoriamento.
Perspectiva Histórica
Conceitos sobre IoT2
35. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 35
1982: uma máquina de Coca-Cola informa seu estoque e também se as bebidas estão
geladas
Perspectiva Histórica
Conceitos sobre IoT2
36. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 36
1983: primeira patente sobre Radio-Frequency Identification (RFID)
Perspectiva Histórica
Conceitos sobre IoT2
37. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 37
1991: computação ubíqua (The Computer for the 21st Century)
Perspectiva Histórica
Mark Weiser
Conceitos sobre IoT2
38. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 38
1999: device to device comunication (D2D)
1999: IoT é utilizada no trabalho de Kevin Ashton
intitulado “I made at Procter & Gamble”.
IoT é associada ao uso da tecnologia RFID
Perspectiva Histórica
Kevin Ashton
Conceitos sobre IoT2
39. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 39
Perspectiva Histórica
IBM RFID Commercial - The Future Market (2006)
https://www.youtube.com/watch?v=eob532iEpqk
Conceitos sobre IoT2
40. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 40
2005: IoT é relacionada a Redes de Sensores Sem Fio (RSSF) (do inglês Wireless
Sensor Networks – WSN)
Somente observa o sinal, mas
não necessariamente o identifica
a partir de vários objetos
Coleta de dados, processamento,
integração e roteamento.
Perspectiva Histórica
Conceitos sobre IoT2
41. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 41
2005: nasce o Arduino ($30) e o Movimento Maker
Perspectiva Histórica
Conceitos sobre IoT2
42. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 42
2008 e 2010: IoT ganha popularidade
2012: surge a Raspberry Pi ($35)
2013: Intel® cria Galileo, Edison e Joule
Perspectiva Histórica
Conceitos sobre IoT2
43. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 43
2013: NodeMCU
Perspectiva Histórica
ESP8266 ($10) ESP32 ($11)
Conceitos sobre IoT2
44. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 44
2016: Android Things
2016: Onion lança Omega2 ($5)
Perspectiva Histórica
Conceitos sobre IoT2
45. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 45
2009-2010: popularização da Impressora 3D
Perspectiva Histórica
Conceitos sobre IoT2
46. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 46
2016: IoT e Sistemas Ciber-Físicos (Indústria 4.0, por exemplo)
Equipamentos físicos controláveis e escaláveis que dependem profundamente da
computação, comunicação e controle a partir da informação adquirida na IoT
Perspectiva Histórica
Conceitos sobre IoT2
47. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 47
Perspectiva Histórica
Fonte: IoT One Community (2019)
Conceitos sobre IoT2
48. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 48
Blocos Básicos
Conceitos sobre IoT2
Fonte: Santos et al. (2016)
49. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 49
Conceitos sobre IoT2
50. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 50
Conceitos sobre IoT2
Aplicações e Oportunidades
51. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 51
Conceitos sobre IoT2
Aplicações e Oportunidades
Gestão de
Consumo de
Energia em Salas
de Aula
52. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 52
Conceitos sobre IoT2
Aplicações e Oportunidades
Detecção de
Intrusos e Envio de
Alertas Usando
Raspberry Pi
53. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 53
Ford Caminhões apresenta: o Boné Alerta
https://www.youtube.com/watch?v=wr-ctVrAcRU
Aplicações e Oportunidades
Conceitos sobre IoT2
54. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 54
Fonte: https://www.techtudo.com.br/noticias/2019/09/apple-watch-salva-vida-de-idoso-em-acidente-de-
bicicleta.ghtml
Aplicações e Oportunidades
Conceitos sobre IoT2
55. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 55
Conceitos sobre IoT2
Aplicações e Oportunidades
Echo Dot
https://www.youtube.com/watch?v=hPXS7rC1PWo
56. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 56
Introducing Dynamics 365 Remote Assist for HoloLens 2 and mobile devices
https://www.youtube.com/watch?v=J-C6GE2gFYw
Aplicações e Oportunidades
Conceitos sobre IoT2
57. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 57
Conceitos sobre IoT2
Como Desenvolver?
Raspberry Pi
http://www.raspberrypi.org/
58. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 58
Conceitos sobre IoT2
Como Desenvolver?
Arduino
http://www.arduino.cc/
60. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 60
Introdução ao NodeJS3
JavaScript
É a linguagem de programação do HTML e da Web.
JavaScript e Java são completamente diferentes idiomas, tanto no conceito e design.
JavaScript foi inventado por Brendan Eich, em 1995, e tornou-se um padrão ECMA em
1997.
ECMA-262 é o nome oficial da norma. ECMAScript é o nome oficial da língua.
61. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 61
Introdução ao NodeJS3
JavaScript
62. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 62
Introdução ao NodeJS3
JavaScript
63. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 63
Introdução ao NodeJS3
NodeJS
É uma estrutura de servidor de código aberto.
Permite executar JavaScript no servidor.
Pode
Gerar páginas com conteúdo dinâmico
Criar, abrir, ler, escrever, apagar e fechar arquivos no servidor
Recolher dados do formulário
Adicionar, excluir, modificar dados em seu banco de dados
64. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 64
Introdução ao NodeJS3
NodeJS
Uma tarefa comum para um servidor web pode ser para abrir um arquivo no servidor
e retornar o conteúdo para o cliente.
PHP ou ASP lida com uma solicitação de arquivo:
Envia a tarefa de sistema de arquivos do computador.
Espera enquanto o sistema de arquivos abre e lê o arquivo.
Retorna o conteúdo para o cliente.
Pronto para lidar com o próximo pedido.
65. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 65
Introdução ao NodeJS3
NodeJS
Uma tarefa comum para um servidor web pode ser para abrir um arquivo no servidor
e retornar o conteúdo para o cliente.
Node.js lida com uma solicitação de arquivo:
Envia a tarefa de sistema de arquivos do computador.
Pronto para lidar com o próximo pedido.
Quando o sistema de arquivos abriu e ler o arquivo, o servidor retorna o conteúdo
para o cliente.
66. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 66
Introdução ao NodeJS3
NodeJS
Para gerenciar as dependências, o NodeJS utiliza o NPM (Node Package Manager)
É um repositório online para publicação de projetos de código aberto para o
Node.js;
É um utilitário de linha de comando que interage com este repositório online, que
ajuda na instalação de pacotes, gerenciamento de versão e gerenciamento de
dependências..
67. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 67
Introdução ao NodeJS3
68. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 68
Introdução ao NodeJS3
Configurando ambiente...
69. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 69
Introdução ao NodeJS3
Configurando ambiente...
Arduino IDE
NodeJS + NPM
Editor de Texto :)
Bibliotecas para NodeJS
70. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 70
Hello World NodeJS
Hello World na linguagem NodeJS (console e
web)
Objetivo
Introdução ao NodeJS3
71. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 71
Hello World NodeJS
node_modules/ (bibliotecas usadas no projeto)
public/ (arquivos HTML, CSS, JS, imagens)
views/ (páginas de visualização)
index.js (arquivo principal)
package.json (informações sobre o projeto e módulos)
Estrutura de Pasta
Introdução ao NodeJS3
72. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 72
Hello World NodeJS
{
"name": "01-hello-world-nodejs-console",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {},
"devDependencies": {},
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "node index.js"
},
"keywords": [],
"author": "Orlewilson B. Maia",
"license": "ISC"
}
package.json
Introdução ao NodeJS3
73. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 73
Hello World NodeJS (console)
1 – Criar uma nova pasta chamada 01-hello-world-nodejs-console
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS
4 – Digitar o comando node index.js
5 – Aparecerá no console a mensagem "Hello World! Seja bem-vindo ao NodeJS!"
Execução
Introdução ao NodeJS3
74. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 74
Hello World NodeJS (web)
1 – Criar uma nova pasta chamada 02-hello-world-nodejs-web
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS
4 - Digitar npm install ip --save para instalar a biblioteca ip (se não estiver)
OBS1: --save adiciona a dependência no projeto
OBS2: quando a dependência já está identificada no arquivo package.json, basta
você digitar npm install que serão instaladas as dependências do projeto
Execução
Introdução ao NodeJS3
75. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 75
Hello World NodeJS (web)
5 – Digitar o comando node index.js ou npm start
6 – Aparecerá no console a mensagem Digite no seu navegador
http://xxx.xxx.xxx.xxx:8080
7 – Abrir navegador preferido e digitar o endereço na URL http://xxx.xxx.xxx.xxx:8080
8 – Para fechar a aplicação em NodeJS, pressionar as teclas CTRL + C duas vezes
Execução
Introdução ao NodeJS3
76. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 76
Hello World NodeJS
Introdução ao NodeJS3
Código
https://github.com/orlewilson/feira-polo-digital-manaus-2019-nodejs-arduino/
01-hello-world-nodejs-console e 02-hello-world-nodejs-web
77. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 77
Introdução ao NodeJS3
78. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 78
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Linguagem C/C++
Arduino
Linguagem JavaScript
NodeJS
79. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 79
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Comunicação por meio da porta serial
80. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 80
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Biblioteca Jonny-Five (NodeJS)
Framework para programar robôs usando JavaScript
Porta serial ou Firmata
81. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 81
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Biblioteca Jonny-Five (NodeJS)
Firmata
É um protocolo para comunicação com microcontroladores a partir de
software em um computador, smartphone, tablet.
Pode ser implementado em firmware em qualquer arquitetura de
microcontrolador, bem como em software em qualquer pacote de software de
computador.
82. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 82
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Biblioteca Jonny-Five (NodeJS)
Firmata
83. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 83
Introdução ao NodeJS3
84. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 84
Introdução ao NodeJS3
87. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 87
Projetos4
Projeto 01 – Ligar/desligar LED
Praticar vários projetos para ligar/desligar LED
Objetivo
88. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 88
Projetos4
Projeto 01 – Ligar/desligar LED
Peças Necessárias
Placa Arduino
LED
Protoboard
Fios
89. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 89
Projetos4
Projeto 01 – Ligar/desligar LED
Diagrama do Circuito
90. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 90
Projeto 01 – Ligar/desligar LED (arduino)
1 – Criar uma nova pasta chamada 03-projeto-01-led-arduino
2 – Abrir o Arduino IDE, criar novo arquivo chamado 03-projeto-01-led-arduino e digitar
código localizado no github
3 – Enviar código para a placa Arduino
4 – O Led ficará ligando e desligando a cada 1 segundo
Execução
Projetos4
91. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 91
Como integrar NodeJS + Arduino?
Carregar Firmata no Arduino
Projetos4
92. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 92
Projeto 01 – Ligar/desligar LED (nodejs)
1 – Criar uma nova pasta chamada 04-projeto-01-led-nodejs
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS (se não
houver o arquivo)
4 - Digitar npm install para instalar as dependências ou
npm install johnny-five --save para instalar a biblioteca johnny-five (se não estiver no
package.json)
Execução
Projetos4
93. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 93
Projeto 01 – Ligar/desligar LED (nodejs)
5 – Abrir o exemplo StandardFirmata no Arduino IDE (Arquivo>Exemplos>
Firmata>StandardFirmata) e carregar na placa Arduino
6 – No console, digitar o comando node index.js ou npm start
7 – Aparecerá no console a mensagem Placa Arduino pronta!
8 – O Led ficará ligando e desligando a cada 1 segundo
9 – Para fechar a aplicação em NodeJS, pressionar as teclas CTRL + C duas vezes
Execução
Projetos4
94. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 94
Projeto 01 – Ligar/desligar LED (nodejs + página web)
1 – Criar uma nova pasta chamada 05-projeto-01-led-nodejs-web
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS (se não
houver o arquivo)
4 – Criar novo arquivo chamado main.css na pasta public e digitar código localizado no
github
5 – Criar novo arquivo chamado projeto-01-led-nodejs-web.ejs na pasta views e digitar
código localizado no github
Execução
Projetos4
95. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 95
Projeto 01 – Ligar/desligar LED (nodejs + página web)
6 - Digitar npm install para instalar as dependências ou
npm install johnny-five --save para instalar a biblioteca johnny-five
npm install express --save para instalar a biblioteca express
npm install ip --save para instalar a biblioteca ip
npm install ejs --save para instalar a biblioteca ejs
npm install socket.io --save para instalar a biblioteca socket.io
(se não estiverem no package.json)
Execução
Projetos4
96. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 96
Projeto 01 – Ligar/desligar LED (nodejs + página web)
7 – Abrir o exemplo StandardFirmata no Arduino IDE (Arquivo>Exemplos>
Firmata>StandardFirmata) e carregar na placa Arduino (se não estiver carregada na placa
Arduino)
8 – No console, digitar o comando node index.js ou npm start
9 – Aparecerá no console a mensagem Digite no seu navegador
http://xxx.xxx.xxx.xxx:8080
10 – Abrir navegador preferido e digitar o endereço na URL http://xxx.xxx.xxx.xxx:8080
Execução
Projetos4
97. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 97
Projeto 01 – Ligar/desligar LED (nodejs + página web)
11 – Clicar nos botões Ligar ou Desligar
12 – Para fechar a aplicação em NodeJS, pressionar as teclas CTRL + C duas vezes
Execução
Projetos4
98. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 98
Projeto 01 – Ligar/desligar LED (nodejs + serviço)
1 – Criar uma nova pasta chamada 06-projeto-01-led-nodejs-servico
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS (se não
houver o arquivo)
Execução
Projetos4
99. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 99
Projeto 01 – Ligar/desligar LED (nodejs + serviço)
4- Digitar npm install para instalar as dependências ou
npm install johnny-five --save para instalar a biblioteca johnny-five
npm install express --save para instalar a biblioteca express
npm install ip --save para instalar a biblioteca ip
(se não estiverem no package.json)
Execução
Projetos4
100. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 100
Projeto 01 – Ligar/desligar LED (nodejs + serviço)
5 – Abrir o exemplo StandardFirmata no Arduino IDE (Arquivo>Exemplos>
Firmata>StandardFirmata) e carregar na placa Arduino (se não estiver carregado na placa
Arduino)
6 – No console, digitar o comando node index.js ou npm start
7 – Aparecerá no console a mensagem Digite no seu navegador
para ligar LED: http://xxx.xxx.xxx.xxx:8080/ligar
para desligar LED: http://xxx.xxx.xxx.xxx:8080/desligar
Execução
Projetos4
101. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 101
Projeto 01 – Ligar/desligar LED (nodejs + serviço)
8 – Abrir navegador preferido e digitar o endereço na URL
http://xxx.xxx.xxx.xxx:8080/ligar
ou http://xxx.xxx.xxx.xxx:8080/desligar
9 – Para fechar a aplicação em NodeJS, pressionar as teclas CTRL + C duas vezes
Execução
Projetos4
102. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 102
Projetos4
Projeto 01 – Ligar/desligar LED
Código
https://github.com/orlewilson/feira-polo-digital-manaus-2019-nodejs-arduino/
03-projeto-01-led-Arduino, 04-projeto-01-led-nodejs,
05-projeto-01-led-nodejs-web e 06-projeto-01-led-nodejs-servico
103. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 103
Projetos4
Projeto 01 – Ligar/desligar LED
104. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 104
Projetos4
Projeto Extra – Ligar/desligar 3 LED´s (página web ou serviço)
105. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 105
Projetos4
Projeto 02 – Mini Estação Meteorológica
Objetivo
Ler valores do sensor de temperatura, de
umidade e de luminosidade e os disponibilizar
em uma página Web ou serviço
106. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 106
Projetos4
Projeto 02 – Mini Estação Meteorológica
Placa Arduino
Protoboard
Fios
Sensor LDR
Sensor Temperatura
e Umidade DHT11 ou DHT22
Resistor
Peças Necessárias
107. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 107
Projetos4
Projeto 02 – Mini Estação Meteorológica
Diagrama do Circuito
108. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 108
Adicionando nova biblioteca DHT
Projetos4
109. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 109
Adicionando nova biblioteca DHT
Projetos4
110. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 110
Adicionando nova biblioteca DHT
Projetos4
111. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 111
Projeto 02 – Mini Estação Meteorológica (arduino)
1 – Criar uma nova pasta chamada 07-projeto-02-mini-estacao-meteorologica-arduino
2 – Abrir o Arduino IDE, criar novo arquivo chamado 07-projeto-02-mini-estacao-
meteorologica-arduino e digitar código localizado no github
3 – Enviar código para a placa Arduino
4 – Por meio da porta serial, serão enviados dados de temperatura, luminosidade e
humidade (Monitor Serial do Arduino IDE)
Execução
Projetos4
112. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 112
Projeto 02 – Mini Estação Meteorológica (nodejs)
1 – Criar uma nova pasta chamada 08-projeto-02-mini-estacao-meteorologica-arduino-
nodejs
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS (se não
houver o arquivo)
4 - Digitar npm install para instalar as dependências ou
npm install serialport --save para instalar a biblioteca serialport (se não estiver no
package.json)
Execução
Projetos4
113. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 113
Projeto 02 – Mini Estação Meteorológica (nodejs)
5 – No console, digitar o comando node index.js ou npm start
6 – Aparecerá no console a mensagem Aguardando dados pela porta serial...
7 – O código NodeJS escutará a porta serial enquanto que a placa Arduino envia dados de
temperatura, luminosidade e humidade pela porta serial
8 – Para fechar a aplicação em NodeJS, pressionar as teclas CTRL + C duas vezes
Execução
Projetos4
114. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 114
Projeto 02 – Mini Estação Meteorológica (nodejs + página web)
1 – Criar uma nova pasta chamada 09-projeto-02-mini-estacao-meteorologica-arduino-
nodejs-web
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS (se não
houver o arquivo)
Execução
Projetos4
115. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 115
Projeto 02 – Mini Estação Meteorológica (nodejs + página web)
4 – Criar novo arquivo chamado main.css na pasta public/css e digitar código localizado
no github
5 – Criar novo arquivo chamado Chart.min e chart-area-temp-umi-lumi na pasta public/js
e digitar código localizado no github
6 – Criar novo arquivo chamado projeto-02-mini-estacao-meteorologica-arduino.ejs na
pasta views e digitar código localizado no github
Execução
Projetos4
116. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 116
Projeto 02 – Mini Estação Meteorológica (nodejs + página web)
7 - Digitar npm install para instalar as dependências ou
npm install serialport --save para instalar a biblioteca serialport
npm install express --save para instalar a biblioteca express
npm install ip --save para instalar a biblioteca ip
npm install ejs --save para instalar a biblioteca ejs
npm install socket.io --save para instalar a biblioteca socket.io
(se não estiverem no package.json)
Execução
Projetos4
117. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 117
Projeto 02 – Mini Estação Meteorológica (nodejs + página web)
8 – No console, digitar o comando node index.js ou npm start
9 – Aparecerá no console a mensagem Digite no seu navegador
http://xxx.xxx.xxx.xxx:8080
10 – Abrir navegador preferido e digitar o endereço na URL http://xxx.xxx.xxx.xxx:8080
Execução
Projetos4
118. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 118
Projeto 02 – Mini Estação Meteorológica (nodejs + página web)
11 – Serão mostrados três gráficos (temperatura, humidade e luminosidade). Se não
estiver mostrando nada, recarregue a página.
12 – Para fechar a aplicação em NodeJS, pressionar as teclas CTRL + C duas vezes
Execução
Projetos4
119. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 119
Projeto 02 – Mini Estação Meteorológica (nodejs + serviço)
1 – Criar uma nova pasta chamada 10-projeto-02-mini-estacao-meteorologica-arduino-
nodejs-servico
2 – Criar novo arquivo chamado index.js e digitar código localizado no github
3 – No console, digitar o comando npm init –y para inicializar o projeto NodeJS (se não
houver o arquivo)
Execução
Projetos4
120. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 120
Projeto 02 – Mini Estação Meteorológica (nodejs + serviço)
4- Digitar npm install para instalar as dependências ou
npm install serialport --save para instalar a biblioteca serialport
npm install express --save para instalar a biblioteca express
npm install ip --save para instalar a biblioteca ip
(se não estiverem no package.json)
Execução
Projetos4
121. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 121
Projeto 02 – Mini Estação Meteorológica (nodejs + serviço)
5 – No console, digitar o comando node index.js ou npm start
6 – Aparecerá no console a mensagem Digite no seu navegador para saber valor
temperatura: http://xxx.xxx.xxx.xxx:8080/temp
umidade: http://xxx.xxx.xxx.xxx:8080/umi
luminosidade: http://xxx.xxx.xxx.xxx:8080/lumi
todos: http://xxx.xxx.xxx.xxx:8080/todos
Execução
Projetos4
122. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 122
Projeto 02 – Mini Estação Meteorológica (nodejs + serviço)
7 – Abrir navegador preferido e digitar o endereço na URL
http://xxx.xxx.xxx.xxx:8080/temp
http://xxx.xxx.xxx.xxx:8080/umi
http://xxx.xxx.xxx.xxx:8080/lumi
http://xxx.xxx.xxx.xxx:8080/todos
8 – Para fechar a aplicação em NodeJS, pressionar as teclas CTRL + C duas vezes
Execução
Projetos4
123. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 123
Projetos4
Projeto 02 – Mini Estação Meteorológica
https://github.com/orlewilson/feira-polo-digital-manaus-2019-nodejs-arduino/
07-projeto-02-mini-estacao-meteorologica-arduino,
08-projeto-02-mini-estacao-meteorologica-arduino-nodejs,
09-projeto-02-mini-estacao-meteorologica-arduino-nodejs-web e
10-projeto-02-mini-estacao-meteorologica-arduino-nodejs-servico
Código
124. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 124
Projetos4
Projeto 02 – Mini Estação Meteorológica
126. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 126
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
https://nodejs.org/en/docs/
Documentação
127. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 127
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
http://johnny-five.io/
Documentação
128. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 128
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Livros
129. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 129
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Livros
130. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 130
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Curso EAD Desvendando a Indústria 4.0
https://portalead.sp.senai.br/curso/86817/483/desvendando-a-industria-40
Cursos
Próximos Passos5
131. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 131
Curso EAD Arduino
http://mooc.cps.sp.gov.br/
Cursos
Próximos Passos5
132. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 132
https://brasil.campus-party.org/campus-party-amazonia/
133. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 133
https://jungles.dev/fest
134. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 134
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Feedback
135. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 135
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
136. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 136
prof.orlewilson@gmail.com (92) 98403-3443
https://orlewilson.github.io/
137.
138. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 138
NIC.br Vídeos. A Internet das coisas, explicada pelo NIC.br. Disponível
em: <https://www.youtube.com/watch?v=jlkvzcG1UMk>. Acesso em:
31 Jul. 2019.
Cisco. A Internet das Coisas Como a próxima evolução da Internet está mudando
tudo. Disponível em:
<https://www.cisco.com/c/dam/global/pt_br/assets/executives/pdf/internet_of_things
_iot_ibsg_0411final.pdf>. Acesso em: 10 Mar. 2019.
Referências Utilizadas
139. 2019 Criando Coisas Inteligentes com Arduino e NodeJS 139
B. P. Santos et al. Internet das Coisas: da Teoria à Prática. Anais do
Simpósio Brasileiro de Redes de Computadores e Sistemas
Distribuídos (SBRC) 2016.
Referências Utilizadas