15. 2019 Criando CoisasInteligentes com NodeJS e Arduino 10
Apresentação1
Quem sou eu?
Bacharelado em
Ciência da Computação
(2002 – 2006)
Mestrado em
Engenharia Elétrica
(2007 – 2009)
Doutorado em
Engenharia Elétrica
(2010 – 2015)
18. 2019 Criando CoisasInteligentes com NodeJS e Arduino 13
Conceituar Internet das Coisas (IoT), JavaScript e NodeJS.
Como integrar NodeJS com Arduino por meio de projetos.
Objetivo
Apresentação1
19. 2019 Criando CoisasInteligentes com NodeJS e Arduino 14
Jornada (Conteúdo Programático)
Apresentação1
Designed by Freepik - www.freepik.com
Apresentaçãodo Curso
0
20. 2019 Criando CoisasInteligentes com NodeJS e Arduino 15
Jornada (Conteúdo Programático)
Apresentação1
Designed by Freepik - www.freepik.com
Contextualização
1
0
21. 2019 Criando CoisasInteligentes com NodeJS e Arduino 16
Jornada (Conteúdo Programático)
Apresentação1
Designed by Freepik - www.freepik.com
Introduçãoao NodeJS
1
2
0
22. 2019 Criando CoisasInteligentes com NodeJS e Arduino 17
Jornada (Conteúdo Programático)
Apresentação1
Designed by Freepik - www.freepik.com
Projetos
1
2
3
0
23. 2019 Criando CoisasInteligentes com NodeJS e Arduino 18
Jornada (Conteúdo Programático)
Apresentação1
Designed by Freepik - www.freepik.com
Próximos Passos
1
2
3
40
24. 2019 Criando CoisasInteligentes com NodeJS e Arduino 19
Fritzing (modelagem dos circuitos)
http://fritzing.org/download/?donation=0
Softwares Utilizados
Apresentação1
25. 2019 Criando CoisasInteligentes com NodeJS e Arduino 20
Arduino IDE (programação)
https://www.arduino.cc/en/Main/Software
Softwares Utilizados
Apresentação1
26. 2019 Criando CoisasInteligentes com NodeJS e Arduino 21
NodeJS (programação)
https://nodejs.org/en/
Softwares Utilizados
Apresentação1
27. 2019 Criando CoisasInteligentes com NodeJS e Arduino 22
Arduino Uno ou equivalente + cabo USB
3 Leds Coloridos (1 de 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)
Kit Oficina
Apresentação1
29. 2019 Criando CoisasInteligentes com NodeJS e Arduino 24
As tecnologias são parte essencial da comunidade e na vida do ser humano que já não
consegue se separar dela (COLOMBO, 2019).
A cada dia, novas ferramentas tecnológicas são
criadas visando os benefícios para a sociedade.
Avanço científico nas áreas de telecomunicação,
processamento de dados, redes de computadores e
armazenamento de informações.
Revolução Tecnológica
Conceitos sobre IoT2
31. 2019 Criando CoisasInteligentes com NodeJS e Arduino 25
Revolução Tecnológica
Conceitos sobre IoT2
Fim do século XX Fim do século XXI
32. 2019 Criando CoisasInteligentes com NodeJS e Arduino 26
Revolução Tecnológica
Conceitos sobre IoT2
Eniac (1946)
5.000 operações por segundo
33. 2019 Criando CoisasInteligentes com NodeJS e Arduino 26
Revolução Tecnológica
Conceitos sobre IoT2
Eniac (1946)
5.000 operações por segundo
Inteli9 (2017)
1 trilhão de operações por segundo
35. 2019 Criando CoisasInteligentes com NodeJS e Arduino 27
Revolução Tecnológica
Conceitos sobre IoT2
5150 PC (1981)
Arduino, Raspberry Pi 3,
Micro:Bit
36. 2019 Criando CoisasInteligentes com NodeJS e Arduino 28
Revolução Tecnológica
Conceitos sobre IoT2
HD de 5 MB (1956)
Toneladas
1 GB de dados = US$ 100 mil
37. 2019 Criando CoisasInteligentes com NodeJS e Arduino 28
Revolução Tecnológica
Conceitos sobre IoT2
HD de 5 MB (1956)
Toneladas
1 GB de dados = US$ 100 mil
Cartão SD 1TB (2016)
Gramas
1 GB de dados = centavos de dólar
52. 2019 Criando CoisasInteligentes com NodeJS e Arduino 38
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
54. 2019 Criando CoisasInteligentes com NodeJS e Arduino 40
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
55. 2019 Criando CoisasInteligentes com NodeJS e Arduino 41
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
56. 2019 Criando CoisasInteligentes com NodeJS e Arduino 42
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
57. 2019 Criando CoisasInteligentes com NodeJS e Arduino 43
1983: primeira patente sobre Radio-Frequency Identification (RFID)
Perspectiva Histórica
Conceitos sobre IoT2
58. 2019 Criando CoisasInteligentes com NodeJS e Arduino 44
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
Conceitos sobre IoT2
59. 2019 Criando CoisasInteligentes com NodeJS e Arduino 45
Perspectiva Histórica
Conceitos sobre IoT2
IBM RFID Commercial - The Future Market (2006)
https://www.youtube.com/watch?v=eob532iEpqk
60. 2019 Criando CoisasInteligentes com NodeJS e Arduino 46
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
61. 2019 Criando CoisasInteligentes com NodeJS e Arduino 47
2005: nasce o Arduino ($30) e o Movimento Maker
Perspectiva Histórica
Conceitos sobre IoT2
62. 2019 Criando CoisasInteligentes com NodeJS e Arduino 48
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
63. 2019 Criando CoisasInteligentes com NodeJS e Arduino 49
2013: NodeMCU
Perspectiva Histórica
Conceitos sobre IoT2
ESP8266 ($10) ESP32 ($11)
64. 2019 Criando CoisasInteligentes com NodeJS e Arduino 50
2016: Android Things
2016: Onion lança Omega2 ($5)
Perspectiva Histórica
Conceitos sobre IoT2
65. 2019 Criando CoisasInteligentes com NodeJS e Arduino 51
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
72. 2019 Criando CoisasInteligentes com NodeJS e Arduino 58
Indústria 4.0
Conceitos sobre IoT2
Indústria4.0
https://www.youtube.com/watch?v=WAZ54__Xi0o
73. 2019 Criando CoisasInteligentes com NodeJS e Arduino 59
Conceitos sobre IoT2
Aplicações e Oportunidades
Gestão de
Consumo de
Energia em Salas
de Aula
74. 2019 Criando CoisasInteligentes com NodeJS e Arduino 60
Conceitos sobre IoT2
Aplicações e Oportunidades
Detecção de
Intrusos e Envio de
Alertas Usando
Raspberry Pi
75. 2019 Criando CoisasInteligentes com NodeJS e Arduino 61
Conceitos sobre IoT2
Aplicações e Oportunidades
Amazon Go
https://www.youtube.com/watch?v=NrmMk1Myrxc
76. 2019 Criando CoisasInteligentes com NodeJS e Arduino 62
Conceitos sobre IoT2
Aplicações e Oportunidades
IntroducingAll-New Echo Dot (2nd Generation)
https://www.youtube.com/watch?v=hPXS7rC1PWo
77. 2019 Criando CoisasInteligentes com NodeJS e Arduino 63
Aplicações e Oportunidades
Conceitos sobre IoT2
SMARTHUS | Det enkle er ofte det beste (A simplicidade é geralmente a melhor) | REMA 1000
https://www.youtube.com/watch?v=sgJLpuprQp8
78. 2019 Criando CoisasInteligentes com NodeJS e Arduino 64
Conceitos sobre IoT2
Como Desenvolver?
Raspberry Pi
http://www.raspberrypi.org/
79. 2019 Criando CoisasInteligentes com NodeJS e Arduino 65
Conceitos sobre IoT2
Como Desenvolver?
Arduino
http://www.arduino.cc/
81. 2019 Criando CoisasInteligentes com NodeJS e Arduino 67
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.
84. 2019 Criando CoisasInteligentes com NodeJS e Arduino 70
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
85. 2019 Criando CoisasInteligentes com NodeJS e Arduino 71
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.
86. 2019 Criando CoisasInteligentes com NodeJS e Arduino 72
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.
87. 2019 Criando CoisasInteligentes com NodeJS e Arduino 73
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.
90. 2019 Criando CoisasInteligentes com NodeJS e Arduino 76
Introdução ao NodeJS3
Configurando ambiente...
Arduino IDE
NodeJS + NPM
Editor de Texto :)
Bibliotecas para NodeJS
91. 2019 Criando CoisasInteligentes com NodeJS e Arduino 77
Hello World NodeJS
Hello World na linguagem NodeJS (console e web)
Objetivo
Introdução ao NodeJS3
92. 2019 Criando CoisasInteligentes com NodeJS e Arduino 78
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
93. 2019 Criando CoisasInteligentes com NodeJS e Arduino 79
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
94. 2019 Criando CoisasInteligentes com NodeJS e Arduino 80
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
95. 2019 Criando CoisasInteligentes com NodeJS e Arduino 81
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
96. 2019 Criando CoisasInteligentes com NodeJS e Arduino 82
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
97. 2019 Criando CoisasInteligentes com NodeJS e Arduino 83
Hello World NodeJS
Introdução ao NodeJS3
Código
https://github.com/orlewilson/arduino-day-manaus-2019-nodejs-arduino/
01-hello-world-nodejs-console e 02-hello-world-nodejs-web
99. 2019 Criando CoisasInteligentes com NodeJS e Arduino 85
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Linguagem C/C++
Arduino
Linguagem JavaScript
NodeJS
100. 2019 Criando CoisasInteligentes com NodeJS e Arduino 86
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Comunicação por meio da porta serial
101. 2019 Criando CoisasInteligentes com NodeJS e Arduino 87
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Biblioteca Jonny-Five (NodeJS)
Framework para programar robôs usando JavaScript
Porta serial ou Firmata
102. 2019 Criando CoisasInteligentes com NodeJS e Arduino 88
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.
103. 2019 Criando CoisasInteligentes com NodeJS e Arduino 89
Introdução ao NodeJS3
Como integrar NodeJS + Arduino?
Biblioteca Jonny-Five (NodeJS)
Firmata
108. 2019 Criando CoisasInteligentes com NodeJS e Arduino 94
Projetos4
Projeto 01 – Ligar/desligar LED
Praticar vários projetos para ligar/desligar LED
Objetivo
109. 2019 Criando CoisasInteligentes com NodeJS e Arduino 95
Projetos4
Projeto 01 – Ligar/desligar LED
Peças Necessárias
Placa Arduino
LED
Resistor
Protoboard
Fios
111. 2019 Criando CoisasInteligentes com NodeJS e Arduino 97
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-arduinoe 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
112. 2019 Criando CoisasInteligentes com NodeJS e Arduino 98
Como integrar NodeJS + Arduino?
Carregar Firmata no Arduino
Projetos4
113. 2019 Criando CoisasInteligentes com NodeJS e Arduino 99
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
114. 2019 Criando CoisasInteligentes com NodeJS e Arduino 100
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
115. 2019 Criando CoisasInteligentes com NodeJS e Arduino 101
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
116. 2019 Criando CoisasInteligentes com NodeJS e Arduino 102
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
117. 2019 Criando CoisasInteligentes com NodeJS e Arduino 103
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
118. 2019 Criando CoisasInteligentes com NodeJS e Arduino 104
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
119. 2019 Criando CoisasInteligentes com NodeJS e Arduino 105
Projeto 01 – Ligar/desligar LED (nodejs + serviço)
1 – Criar uma nova pasta chamada 06-projeto-01-led-nodejs-serviço
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 CoisasInteligentes com NodeJS e Arduino 106
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
121. 2019 Criando CoisasInteligentes com NodeJS e Arduino 107
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
122. 2019 Criando CoisasInteligentes com NodeJS e Arduino 108
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
123. 2019 Criando CoisasInteligentes com NodeJS e Arduino 109
Projetos4
Projeto 01 – Ligar/desligar LED
Código
https://github.com/orlewilson/arduino-day-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
125. 2019 Criando CoisasInteligentes com NodeJS e Arduino 111
Projetos4
Projeto Extra – Ligar/desligar 3 LED´s (página web ou serviço)
126. 2019 Criando CoisasInteligentes com NodeJS e Arduino 112
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
127. 2019 Criando CoisasInteligentes com NodeJS e Arduino 113
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
128. 2019 Criando CoisasInteligentes com NodeJS e Arduino 114
Projetos4
Projeto 02 – Mini Estação Meteorológica
Diagrama do Circuito
132. 2019 Criando CoisasInteligentes com NodeJS e Arduino 118
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
133. 2019 Criando CoisasInteligentes com NodeJS e Arduino 119
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
134. 2019 Criando CoisasInteligentes com NodeJS e Arduino 120
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
135. 2019 Criando CoisasInteligentes com NodeJS e Arduino 121
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
136. 2019 Criando CoisasInteligentes com NodeJS e Arduino 122
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-lumina pasta public/js e
digitar código localizado no github
6 – Criar novo arquivo chamado projeto-02-mini-estacao-meteorologica-arduino.ejsna
pasta views e digitar código localizado no github
Execução
Projetos4
137. 2019 Criando CoisasInteligentes com NodeJS e Arduino 123
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
138. 2019 Criando CoisasInteligentes com NodeJS e Arduino 124
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
139. 2019 Criando CoisasInteligentes com NodeJS e Arduino 125
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
140. 2019 Criando CoisasInteligentes com NodeJS e Arduino 126
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
141. 2019 Criando CoisasInteligentes com NodeJS e Arduino 127
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
142. 2019 Criando CoisasInteligentes com NodeJS e Arduino 128
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
143. 2019 Criando CoisasInteligentes com NodeJS e Arduino 129
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
144. 2019 Criando CoisasInteligentes com NodeJS e Arduino 130
Projetos4
Projeto 02 – Mini Estação Meteorológica
https://github.com/orlewilson/arduino-day-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
147. 2019 Criando CoisasInteligentes com NodeJS e Arduino 133
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
https://nodejs.org/en/docs/
Documentação
148. 2019 Criando CoisasInteligentes com NodeJS e Arduino 134
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
http://johnny-five.io/
Documentação
149. 2019 Criando CoisasInteligentes com NodeJS e Arduino 135
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Livros
Título: Internet das Coisas com ESP8266, Arduino e
Raspberry Pi
Autor: Sérgio de Oliveira
Editora: Novatec
Edição: 1ª
Ano: 2017
Quantidade de Páginas: 240
150. 2019 Criando CoisasInteligentes com NodeJS e Arduino 136
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Livros
Título: Iot. Internet das Coisas. Fundamentos e Aplicações
em Arduino e Nodemcu
Autor: Sergio Luiz Stevan Jr.
Editora: Érica
Edição: 1ª
Ano: 2018
Quantidade de Páginas: 224
151. 2019 Criando CoisasInteligentes com NodeJS e Arduino 137
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Título: Conectando o Arduino à Web
Autores: Indira Knight
Editora: Novatec
Edição: 1ª
Ano: 2019
Quantidade de Páginas: 288
Livros
152. 2019 Criando CoisasInteligentes com NodeJS e Arduino 138
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Livros
Título: Aprenda eletrônica com Arduino
Autores: Jody Culkine e Eric Hagan
Editora: Novatec
Edição: 1ª
Ano: 2018
Quantidade de Páginas: 352
153. 2019 Criando CoisasInteligentes com NodeJS e Arduino 139
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Livros
Título: Eletrônica para Makers
Autores: Charles Platt
Editora: Novatec
Edição: 1ª
Ano: 2016
Quantidade de Páginas: 400
154. 2019 Criando CoisasInteligentes com NodeJS e Arduino 140
Próximos Passos5
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Livros
Título: Practical Electronics for Inventors
Autores: Paul Scherz (Autor), Simon Monk
Editora: McGraw-Hil
Edição: 4ª
Ano: 2016
Quantidade de Páginas: 1056
155. 2019 Criando CoisasInteligentes com NodeJS e Arduino 141
https://github.com/orlewilson/arduino-nodejs-docker/projeto-01
Feedback
157. 2019 Criando CoisasInteligentes com NodeJS e Arduino 143
prof.orlewilson@gmail.com (92) 98403-3443
https://orlewilson.github.io/
158.
159. 2019 Criando CoisasInteligentes com NodeJS e Arduino 145
Colombo, C. R.; Bazzo, W. A. Educação Tecnológica Contextualizada,
ferramenta essencial para o Desenvolvimento Social Brasileiro.
Disponível em: <http://www.oei.es/salactsi/colombo.htm>. Acesso
em: 10 Mar. 2019.
Go-Globe. Things that happen on Internet Every 60 Seconds 2017 Statistics. Disponível
em : <https://www.go-globe.com/blog/things-that-happen-every-60-seconds/>.
Acesso em: 10 Mar. 2019.
NIC.br Vídeos. A Internet das coisas, explicada pelo NIC.br. Disponível em:
<https://www.youtube.com/watch?v=jlkvzcG1UMk>. Acesso em: 10 Mar. 2019.
Referências Utilizadas
160. 2019 Criando CoisasInteligentes com NodeJS e Arduino 146
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.
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
161. 2019 Criando CoisasInteligentes com NodeJS e Arduino 147
S. Devarakonda, P. Sevusu, H. Liu, R. Liu, L. Iftode, and B. Nath. 2013.
Real-time air quality monitoring through mobile sensing in
metropolitan areas. In Proceeding of the 2nd ACM SIGKDD
International Workshop on Urban Computing. ACM.
Libelium. 50 Sensor Applications for a Smarter World. Disponível em:
<http://www.libelium.com/resources/top_50_iot_sensor_applications_ranking/>.
Acesso em: 10 Mar. 2019.
Referências Utilizadas