SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Open Hardware

na prática:
Construindo um medidor de
consumo de energia elétrica
conectado à nuvem com
Arduino
Manoel Lemos
manoel@lemos.net
@mlemos
http://fazedores.com
http://manoellemos.com
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Muito cuidado ao trabalhar

com a rede elétrica!
Não arrisque sua vida!
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
"I see no social imperative for free
hardware designs like the imperative
for free software. Freedom to copy
software is an important right because it
is easy now - any computer user can do
it. Freedom to copy hardware is not as
important, because copying hardware is
hard to do.”
!
Richard Stallman @ Linux Today, 1999
Fonte: http://en.wikipedia.org/wiki/File:NicoBZH_-_Richard_Stallman_(by-sa)_(10).jpg
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Hardware
é Phodda!
Fonte: http://en.wikipedia.org/wiki/File:NicoBZH_-_Richard_Stallman_(by-sa)_(10).jpg
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Hardware é Phodda..
1. Diagrama Elétrico 2. Peças 3. Layout da Placa
4. Firmware 5. Software 6. Diagrama Mecânico
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Hardware é Phodda..
1. Diagrama Elétrico 2. Peças 3. Layout da Placa
4. Firmware 5. Software 6. Diagrama Mecânico
era
✔ ✔ ✔
✔ ✔ ✔
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Tudo Isto
+
Licenças Decentes &
Adequadas
=
Open Source Hardware
http://www.inmojo.com/licenses/
http://www.shareable.net/blog/how-to-choose-an-open-source-hardware-license
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Open Source Hardware
“Open source hardware is hardware whose
design is made publicly available so that anyone
can study, modify, distribute, make, and sell the
design or hardware based on that design.The
hardware’s source, the design from which it is
made, is available in the preferred format for
making modifications to it.”
http://www.oshwa.org/faq/
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Alguns Projetos

Open Source Hardware
Fonte: http://blog.fazedores.com/arduino-conheca-esta-plataforma-de-hardware-livre-e-suas-aplicacoes/ Fonte: http://en.wikipedia.org/wiki/RepRap_Project
Fonte: http://www.indiegogo.com/projects/the-open-hand-project-a-low-cost-robotic-hand Fonte: http://opensourceecology.org/
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Para saber mais…
• Wikipedia • http://pt.wikipedia.org/wiki/Hardware_livre
• Open Source Hardware Association • http://oshwa.org
• Lady Ada • O que é Open Hardware • http://www.ladyada.net/
library/openhardware/whatisit.html
• Arduino Team • http://www.slideshare.net/arduinoteam/open-
source-hardware-summit-speech-2011
• InterCon 2013 • Open Hardware • http://blog.fazedores.com/
open-hardware-no-intercon-2013/
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Mas por que
um medidor de
consumo de
energia?
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Porque
é
Possível
e
Divertido!
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
OpenEnergyMonitor
http://openenergymonitor.org/
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
1 x Arduino Mega
1 x Ethernet Shield
1 x OLED Display
1 x RTC Clock
1 x Sensor de Temperatura
e Humidade Relativa do Ar
2 x Botões
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Vamos ao nosso
projeto!
• Baseado no OpenEnergyMonitor
• Protótipo de uma versão simplificada
• Apenas um sensor de corrente
• Servidor exemplo para receber dados na
nuvem
• Potência aparente e aproximada (não estamos
medindo a tensão da rede e nem a fase)
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Um Pouco de Teoria
P = U x I
Potência
Watts
(W)
Tensão
Volts
(V)
Corrente
Ampères
(A)
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Um Pouco de Teoria
P = U x I
Potência
Watts
(W)
Tensão
Volts
(V)
Corrente
Ampères
(A)


Quantidade de energia
que está sendo consumida
ou produzida por unidade
de tempo!
(Joule/seg) 

Quantidade de energia
necessária para alimentar
uma carga de 1 watt pelo
período de 1 hora.
(Watt-hora) Como:
!
1 hora = 3600 segundos
!
Temos:
!
1 watt-hora
=
1 watt x 3600 segundos
=
1 (joule / segundos) x
3600 segundos
=
3600 joules
(kWh ou Quilowatt-hora)
É por “energia" que pagamos na conta de luz.
3600000 joules
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Calculando a Energia a partir
de medidas da Potência
Potência
(W)
Tempo
(segundos)
Área da Figura
=
Energia
(joules)
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Um Sensor para
Corrente Elétrica (AC)
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Um Sensor para
Corrente Elétrica (AC)
100A
50mA
127V
100W
0.78A
0.39mA
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Interfaceando com o
Arduino
100A RMS
50mA RMS
470K
470K
+5Vcc
Gnd
+2.5V
Pico a Pico
+0.17V a +4.83V
Pico a Pico
-2.33V a +2.33V
Pico a Pico
-70.7mA a +70.7mA
33R
10uF
+
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Interfaceando com o
Arduino
100A RMS
50mA RMS
470K
470K
+5Vcc
Gnd
+2.5V
Pico a Pico
+0.17V a +4.83V
Pico a Pico
-2.33V a +2.33V
Pico a Pico
-70.7mA a +70.7mA
33R
10uF
+
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
1. Diagrama Elétrico
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
2. Peças
1 x Arduino Uno
1 x Ethernet Shield
1 x Protoboard
1 x Sensor de
Corrente
SCT-013-100
1 x Resistor 33𝛀
2 x Resistores 470K𝛀
1 x Capacitor 10μF
1 x Jack P2
Fio Comum & Jumpers
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
3. Layout
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Quase lá!
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
4. Firmware
• Nada de especial por aqui.
• ;-)
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
5. Software
• Arduino
• Realização das medidas elétricas (emonLib)
• Comunicação com o servidor (Ethernet Lib)
• Servidor
• Recebimento e armazenamento das medidas
• Cálculo da energia consumida
• Apresentação dos resultados
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Arduino : Anatomia de um
Sketch
// bibliotecas & dependências
// variáveis globais
// configurações
// funçoes
!
void setup()
{
// inicialização
// executado antes de tudo e apenas uma vez
}
!
void loop()
{
// laço principal
// executado indefinidamente
}
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Arduino : Bibliotecas &
Configurações
// bibliotecas necessárias
#include <EmonLib.h> // Emon lib - monitores de energia
#include <SPI.h> // SPI lib - para shield ethernet
#include <Ethernet.h> // Ethernet lib - para comunicação
!
// variáveis globais
EnergyMonitor emon1; // instância de um monitor de energia
const int CT_PIN = 1; // pino conectado ao CT (sensor)
!
byte mac[] ={0xAA,0xBB,0xCC,0xDD,0xEE,0xFF}; // endereço MAC
EthernetClient client; // instância de um cliente TCP
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Arduino : setup()
void setup()
{
// inicializa porta serial para usarmos em depuração
Serial.begin(9600);
// inicializa o monitor de corrente
emon1.current(CT_PIN, 64);
// inicializa o shield ethernet
if (Ethernet.begin(mac) == 0) {
Serial.println(“Shield ethernet não inicializado.”);
while(1); // abortar (não temos rede)
} else {
Serial.println(“Shield ethernet inicializado com
sucesso!");
}
delay(1000);
Serial.print("Endereço IP: ");
Serial.println(Ethernet.localIP()); // imprime endereço IP
}
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Arduino : loop()
void loop()
{
double Irms = emon1.calcIrms(1480); // mede a corrente
double Potencia = Irms * 127.0; // calcula a potência
!
Serial.print("Irms: ");
Serial.print(Irms); // imprime a corrente na serial
Serial.print(" A t");
Serial.print("Potencia: ");
Serial.print(Potencia); // imprime a potência na serial
Serial.print(" W");
Serial.println();
!
sendData(Irms, Potencia); // envia dados pro servidor
!
delay(15000); // aguarde 15 segundos
}
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Arduino : sendData()
void sendData(double Irms, double Potencia) {
client.connect(“10.0.1.108",4000);// conecta ao servidor
delay(500);
if (client.connected()) {
// realiza o GET enviando dados como parâmetros
client.print("GET /medida?irms=“); client.print(Irms);
client.print(“&potencia="); client.print(Potencia);
client.println(" HTTP/1.1");
client.println("Host: 10.0.1.108");
client.println();
delay(500);
// lê a resposta (e a ignora)
while (client.available()) { char c = client.read(); }
delay(500);
client.stop(); // fecha a conexao
Serial.println("Dados enviados!");
} else {
Serial.println("Falha na conexão.");
}
}
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Servidor : GET /medida
# recebe dados de uma nova medida
# e armazena no banco de dados
get "/medida" do
# cria objeto com parâmetros da requisição
@medida = Medida.new(
:irms => @params['irms'],
:potencia => @params['potencia']
)
# salva no banco
if @medida.save
return 'ok'
else
return 'nok'
end
end
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Servidor : GET /dashboard
# calcula energia total consumida no dia
get "/dashboard" do
# pega todas as medidas de hoje (não faça isto em prod!)
@medidas = Medida.where("DATE(created_at) = DATE(?)”,
Time.now)
@consumo = 0 # acumulador da energia total
anterior =’nil # medida anterior
@medidas.each do |atual|
if anterior
# calcula a energia consumida entre duas medidas
tempo = atual.created_at - anterior.created_at
energia = (atual.potencia + anterior.potencia) *
tempo / 2
@consumo = @consumo + energia # acumula
end
anterior = atual # atualiza medida anterior
end
@consumo = @consumo / 3600000 # joules -> kWh
end
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Juntando Tudo
Servidor
Serial Monitor
Arduino
+
Shield Ethernet
Cabo de Rede
Circuito
Sensor de
Corrente
Cabo USB
Para Rede
Elétrica
Lâmpada
100W
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Juntando Tudo
Macete
!
A corrente é
multiplicada pelo
número de voltas.
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Incrementando…
• Medição em 2 ou 3 fases
• Medição da tensão da rede
• Displays
• Sensores de temperature
• Você manda…
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Crie, Construa e
Compartilhe
https://github.com/mlemos/energy-monitor-cpbr7
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
.com
Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
Valeu!

Mais conteúdo relacionado

Semelhante a Open Hardware na Prática - Construindo um Medidor de Consumo de Energia Conectado à Nuvem com Arduino

Aventuras com Open Hardware e Internet das Coisas - 7Masters iMasters
Aventuras com Open Hardware e Internet das Coisas - 7Masters iMastersAventuras com Open Hardware e Internet das Coisas - 7Masters iMasters
Aventuras com Open Hardware e Internet das Coisas - 7Masters iMastersManoel Lemos
 
Apresentação automação residencial final
Apresentação automação residencial finalApresentação automação residencial final
Apresentação automação residencial finalSandra Pavan
 
Minicurso introdução ao html5 e css3
Minicurso introdução ao html5 e css3Minicurso introdução ao html5 e css3
Minicurso introdução ao html5 e css3brenod123
 
[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile TestingGUTS-RS
 
Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Elias Nogueira
 
Projeto UCA - Um Computador por Aluno
Projeto UCA - Um Computador por AlunoProjeto UCA - Um Computador por Aluno
Projeto UCA - Um Computador por AlunoSimão Pedro Marinho
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Wellington Silva
 
Integracao dos Calouros Area1-2012
Integracao dos Calouros Area1-2012Integracao dos Calouros Area1-2012
Integracao dos Calouros Area1-2012Vic Fernandes
 
TCC - Servidor de Impressão
TCC - Servidor de ImpressãoTCC - Servidor de Impressão
TCC - Servidor de ImpressãoAndreza Quintas
 
Automação residencial.doc
Automação residencial.docAutomação residencial.doc
Automação residencial.docSandra Pavan
 
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemTDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemStefan Teixeira
 
Apresentação Primeiro Dia
Apresentação Primeiro DiaApresentação Primeiro Dia
Apresentação Primeiro DiaLuiz Arthur
 
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolsoTecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolsoRodrigo Calumby
 
Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...
Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...
Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...Christopher Cerqueira
 
Negócios e Open Source
Negócios e Open SourceNegócios e Open Source
Negócios e Open SourceOpenBossa
 
Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014Leandro Bennaton
 
Palestras IOT Hacking Health Design Challange UFSC 20170727 Walter Coan
Palestras IOT Hacking Health Design Challange UFSC 20170727 Walter CoanPalestras IOT Hacking Health Design Challange UFSC 20170727 Walter Coan
Palestras IOT Hacking Health Design Challange UFSC 20170727 Walter CoanWalter Coan
 
Periodicos2zeroUFSC
Periodicos2zeroUFSCPeriodicos2zeroUFSC
Periodicos2zeroUFSCSuelybcs .
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 

Semelhante a Open Hardware na Prática - Construindo um Medidor de Consumo de Energia Conectado à Nuvem com Arduino (20)

Aventuras com Open Hardware e Internet das Coisas - 7Masters iMasters
Aventuras com Open Hardware e Internet das Coisas - 7Masters iMastersAventuras com Open Hardware e Internet das Coisas - 7Masters iMasters
Aventuras com Open Hardware e Internet das Coisas - 7Masters iMasters
 
Apresentação automação residencial final
Apresentação automação residencial finalApresentação automação residencial final
Apresentação automação residencial final
 
Minicurso introdução ao html5 e css3
Minicurso introdução ao html5 e css3Minicurso introdução ao html5 e css3
Minicurso introdução ao html5 e css3
 
[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing
 
Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...
 
Projeto UCA - Um Computador por Aluno
Projeto UCA - Um Computador por AlunoProjeto UCA - Um Computador por Aluno
Projeto UCA - Um Computador por Aluno
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)
 
Integracao dos Calouros Area1-2012
Integracao dos Calouros Area1-2012Integracao dos Calouros Area1-2012
Integracao dos Calouros Area1-2012
 
TCC - Servidor de Impressão
TCC - Servidor de ImpressãoTCC - Servidor de Impressão
TCC - Servidor de Impressão
 
Automação residencial.doc
Automação residencial.docAutomação residencial.doc
Automação residencial.doc
 
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemTDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
 
Apresentação Primeiro Dia
Apresentação Primeiro DiaApresentação Primeiro Dia
Apresentação Primeiro Dia
 
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolsoTecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
 
Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...
Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...
Construção de aplicações de Realidade Cruzada Projetiva utilizando openFramew...
 
Negócios e Open Source
Negócios e Open SourceNegócios e Open Source
Negócios e Open Source
 
Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014Sinfonier, Campus Party Recife 2014
Sinfonier, Campus Party Recife 2014
 
Palestras IOT Hacking Health Design Challange UFSC 20170727 Walter Coan
Palestras IOT Hacking Health Design Challange UFSC 20170727 Walter CoanPalestras IOT Hacking Health Design Challange UFSC 20170727 Walter Coan
Palestras IOT Hacking Health Design Challange UFSC 20170727 Walter Coan
 
Periodicos2zeroUFSC
Periodicos2zeroUFSCPeriodicos2zeroUFSC
Periodicos2zeroUFSC
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Pim iv
Pim ivPim iv
Pim iv
 

Mais de Manoel Lemos

Venture Capital & Empreendedorismo
Venture Capital & EmpreendedorismoVenture Capital & Empreendedorismo
Venture Capital & EmpreendedorismoManoel Lemos
 
Product Ownership @ RD Summit 2015
Product Ownership @ RD Summit 2015Product Ownership @ RD Summit 2015
Product Ownership @ RD Summit 2015Manoel Lemos
 
Empreendedorismo Maker 2015 - By Fazedores
Empreendedorismo Maker 2015 - By FazedoresEmpreendedorismo Maker 2015 - By Fazedores
Empreendedorismo Maker 2015 - By FazedoresManoel Lemos
 
The State of The Maker Movement in Brazil - SXSW 2015
The State of The Maker Movement in Brazil - SXSW 2015The State of The Maker Movement in Brazil - SXSW 2015
The State of The Maker Movement in Brazil - SXSW 2015Manoel Lemos
 
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...Manoel Lemos
 
Tecnologia, Mudanças e Oportunidades - DEMO Maceió
Tecnologia, Mudanças e Oportunidades - DEMO MaceióTecnologia, Mudanças e Oportunidades - DEMO Maceió
Tecnologia, Mudanças e Oportunidades - DEMO MaceióManoel Lemos
 
Perspectives from a Publisher - Digital Migration: the good, the bad & the new
Perspectives from a Publisher - Digital Migration: the good, the bad & the newPerspectives from a Publisher - Digital Migration: the good, the bad & the new
Perspectives from a Publisher - Digital Migration: the good, the bad & the newManoel Lemos
 
Curso Abril de Jornalismo 2010 : Manoel Lemos
Curso Abril de Jornalismo 2010 : Manoel LemosCurso Abril de Jornalismo 2010 : Manoel Lemos
Curso Abril de Jornalismo 2010 : Manoel LemosManoel Lemos
 
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao facts
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao factsTendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao facts
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao factsManoel Lemos
 
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...Manoel Lemos
 
Tendências em Aplicações Sociais para 2009
Tendências em Aplicações Sociais para 2009Tendências em Aplicações Sociais para 2009
Tendências em Aplicações Sociais para 2009Manoel Lemos
 
WebCo Way CParty 2009
WebCo Way CParty 2009WebCo Way CParty 2009
WebCo Way CParty 2009Manoel Lemos
 
Startup Yourself : iMasters InterCon 2008 / FF08
Startup Yourself : iMasters InterCon 2008 / FF08Startup Yourself : iMasters InterCon 2008 / FF08
Startup Yourself : iMasters InterCon 2008 / FF08Manoel Lemos
 
Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...
Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...
Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...Manoel Lemos
 
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...Manoel Lemos
 
A importância dos blogs para as empresas
A importância dos blogs para as empresasA importância dos blogs para as empresas
A importância dos blogs para as empresasManoel Lemos
 
RioInfo 2007 - Tecnologias Centradas no Usuário
RioInfo 2007 - Tecnologias Centradas no UsuárioRioInfo 2007 - Tecnologias Centradas no Usuário
RioInfo 2007 - Tecnologias Centradas no UsuárioManoel Lemos
 

Mais de Manoel Lemos (17)

Venture Capital & Empreendedorismo
Venture Capital & EmpreendedorismoVenture Capital & Empreendedorismo
Venture Capital & Empreendedorismo
 
Product Ownership @ RD Summit 2015
Product Ownership @ RD Summit 2015Product Ownership @ RD Summit 2015
Product Ownership @ RD Summit 2015
 
Empreendedorismo Maker 2015 - By Fazedores
Empreendedorismo Maker 2015 - By FazedoresEmpreendedorismo Maker 2015 - By Fazedores
Empreendedorismo Maker 2015 - By Fazedores
 
The State of The Maker Movement in Brazil - SXSW 2015
The State of The Maker Movement in Brazil - SXSW 2015The State of The Maker Movement in Brazil - SXSW 2015
The State of The Maker Movement in Brazil - SXSW 2015
 
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...
 
Tecnologia, Mudanças e Oportunidades - DEMO Maceió
Tecnologia, Mudanças e Oportunidades - DEMO MaceióTecnologia, Mudanças e Oportunidades - DEMO Maceió
Tecnologia, Mudanças e Oportunidades - DEMO Maceió
 
Perspectives from a Publisher - Digital Migration: the good, the bad & the new
Perspectives from a Publisher - Digital Migration: the good, the bad & the newPerspectives from a Publisher - Digital Migration: the good, the bad & the new
Perspectives from a Publisher - Digital Migration: the good, the bad & the new
 
Curso Abril de Jornalismo 2010 : Manoel Lemos
Curso Abril de Jornalismo 2010 : Manoel LemosCurso Abril de Jornalismo 2010 : Manoel Lemos
Curso Abril de Jornalismo 2010 : Manoel Lemos
 
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao facts
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao factsTendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao facts
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao facts
 
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...
 
Tendências em Aplicações Sociais para 2009
Tendências em Aplicações Sociais para 2009Tendências em Aplicações Sociais para 2009
Tendências em Aplicações Sociais para 2009
 
WebCo Way CParty 2009
WebCo Way CParty 2009WebCo Way CParty 2009
WebCo Way CParty 2009
 
Startup Yourself : iMasters InterCon 2008 / FF08
Startup Yourself : iMasters InterCon 2008 / FF08Startup Yourself : iMasters InterCon 2008 / FF08
Startup Yourself : iMasters InterCon 2008 / FF08
 
Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...
Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...
Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...
 
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...
 
A importância dos blogs para as empresas
A importância dos blogs para as empresasA importância dos blogs para as empresas
A importância dos blogs para as empresas
 
RioInfo 2007 - Tecnologias Centradas no Usuário
RioInfo 2007 - Tecnologias Centradas no UsuárioRioInfo 2007 - Tecnologias Centradas no Usuário
RioInfo 2007 - Tecnologias Centradas no Usuário
 

Open Hardware na Prática - Construindo um Medidor de Consumo de Energia Conectado à Nuvem com Arduino

  • 1. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Open Hardware
 na prática: Construindo um medidor de consumo de energia elétrica conectado à nuvem com Arduino Manoel Lemos manoel@lemos.net @mlemos http://fazedores.com http://manoellemos.com
  • 2. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Muito cuidado ao trabalhar
 com a rede elétrica! Não arrisque sua vida!
  • 3. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 "I see no social imperative for free hardware designs like the imperative for free software. Freedom to copy software is an important right because it is easy now - any computer user can do it. Freedom to copy hardware is not as important, because copying hardware is hard to do.” ! Richard Stallman @ Linux Today, 1999 Fonte: http://en.wikipedia.org/wiki/File:NicoBZH_-_Richard_Stallman_(by-sa)_(10).jpg
  • 4. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Hardware é Phodda! Fonte: http://en.wikipedia.org/wiki/File:NicoBZH_-_Richard_Stallman_(by-sa)_(10).jpg
  • 5. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Hardware é Phodda.. 1. Diagrama Elétrico 2. Peças 3. Layout da Placa 4. Firmware 5. Software 6. Diagrama Mecânico
  • 6. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Hardware é Phodda.. 1. Diagrama Elétrico 2. Peças 3. Layout da Placa 4. Firmware 5. Software 6. Diagrama Mecânico era ✔ ✔ ✔ ✔ ✔ ✔
  • 7. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Tudo Isto + Licenças Decentes & Adequadas = Open Source Hardware http://www.inmojo.com/licenses/ http://www.shareable.net/blog/how-to-choose-an-open-source-hardware-license
  • 8. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Open Source Hardware “Open source hardware is hardware whose design is made publicly available so that anyone can study, modify, distribute, make, and sell the design or hardware based on that design.The hardware’s source, the design from which it is made, is available in the preferred format for making modifications to it.” http://www.oshwa.org/faq/
  • 9. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Alguns Projetos
 Open Source Hardware Fonte: http://blog.fazedores.com/arduino-conheca-esta-plataforma-de-hardware-livre-e-suas-aplicacoes/ Fonte: http://en.wikipedia.org/wiki/RepRap_Project Fonte: http://www.indiegogo.com/projects/the-open-hand-project-a-low-cost-robotic-hand Fonte: http://opensourceecology.org/
  • 10. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Para saber mais… • Wikipedia • http://pt.wikipedia.org/wiki/Hardware_livre • Open Source Hardware Association • http://oshwa.org • Lady Ada • O que é Open Hardware • http://www.ladyada.net/ library/openhardware/whatisit.html • Arduino Team • http://www.slideshare.net/arduinoteam/open- source-hardware-summit-speech-2011 • InterCon 2013 • Open Hardware • http://blog.fazedores.com/ open-hardware-no-intercon-2013/
  • 11. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Mas por que um medidor de consumo de energia?
  • 12. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
  • 13. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Porque é Possível e Divertido!
  • 14. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 OpenEnergyMonitor http://openenergymonitor.org/
  • 15. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 1 x Arduino Mega 1 x Ethernet Shield 1 x OLED Display 1 x RTC Clock 1 x Sensor de Temperatura e Humidade Relativa do Ar 2 x Botões
  • 16. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Vamos ao nosso projeto! • Baseado no OpenEnergyMonitor • Protótipo de uma versão simplificada • Apenas um sensor de corrente • Servidor exemplo para receber dados na nuvem • Potência aparente e aproximada (não estamos medindo a tensão da rede e nem a fase)
  • 17. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Um Pouco de Teoria P = U x I Potência Watts (W) Tensão Volts (V) Corrente Ampères (A)
  • 18. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Um Pouco de Teoria P = U x I Potência Watts (W) Tensão Volts (V) Corrente Ampères (A) 
 Quantidade de energia que está sendo consumida ou produzida por unidade de tempo! (Joule/seg) 
 Quantidade de energia necessária para alimentar uma carga de 1 watt pelo período de 1 hora. (Watt-hora) Como: ! 1 hora = 3600 segundos ! Temos: ! 1 watt-hora = 1 watt x 3600 segundos = 1 (joule / segundos) x 3600 segundos = 3600 joules (kWh ou Quilowatt-hora) É por “energia" que pagamos na conta de luz. 3600000 joules
  • 19. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Calculando a Energia a partir de medidas da Potência Potência (W) Tempo (segundos) Área da Figura = Energia (joules)
  • 20. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Um Sensor para Corrente Elétrica (AC)
  • 21. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Um Sensor para Corrente Elétrica (AC) 100A 50mA 127V 100W 0.78A 0.39mA
  • 22. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Interfaceando com o Arduino 100A RMS 50mA RMS 470K 470K +5Vcc Gnd +2.5V Pico a Pico +0.17V a +4.83V Pico a Pico -2.33V a +2.33V Pico a Pico -70.7mA a +70.7mA 33R 10uF +
  • 23. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Interfaceando com o Arduino 100A RMS 50mA RMS 470K 470K +5Vcc Gnd +2.5V Pico a Pico +0.17V a +4.83V Pico a Pico -2.33V a +2.33V Pico a Pico -70.7mA a +70.7mA 33R 10uF +
  • 24. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 1. Diagrama Elétrico
  • 25. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 2. Peças 1 x Arduino Uno 1 x Ethernet Shield 1 x Protoboard 1 x Sensor de Corrente SCT-013-100 1 x Resistor 33𝛀 2 x Resistores 470K𝛀 1 x Capacitor 10μF 1 x Jack P2 Fio Comum & Jumpers
  • 26. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 3. Layout
  • 27. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Quase lá!
  • 28. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 4. Firmware • Nada de especial por aqui. • ;-)
  • 29. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 5. Software • Arduino • Realização das medidas elétricas (emonLib) • Comunicação com o servidor (Ethernet Lib) • Servidor • Recebimento e armazenamento das medidas • Cálculo da energia consumida • Apresentação dos resultados
  • 30. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Arduino : Anatomia de um Sketch // bibliotecas & dependências // variáveis globais // configurações // funçoes ! void setup() { // inicialização // executado antes de tudo e apenas uma vez } ! void loop() { // laço principal // executado indefinidamente }
  • 31. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Arduino : Bibliotecas & Configurações // bibliotecas necessárias #include <EmonLib.h> // Emon lib - monitores de energia #include <SPI.h> // SPI lib - para shield ethernet #include <Ethernet.h> // Ethernet lib - para comunicação ! // variáveis globais EnergyMonitor emon1; // instância de um monitor de energia const int CT_PIN = 1; // pino conectado ao CT (sensor) ! byte mac[] ={0xAA,0xBB,0xCC,0xDD,0xEE,0xFF}; // endereço MAC EthernetClient client; // instância de um cliente TCP
  • 32. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Arduino : setup() void setup() { // inicializa porta serial para usarmos em depuração Serial.begin(9600); // inicializa o monitor de corrente emon1.current(CT_PIN, 64); // inicializa o shield ethernet if (Ethernet.begin(mac) == 0) { Serial.println(“Shield ethernet não inicializado.”); while(1); // abortar (não temos rede) } else { Serial.println(“Shield ethernet inicializado com sucesso!"); } delay(1000); Serial.print("Endereço IP: "); Serial.println(Ethernet.localIP()); // imprime endereço IP }
  • 33. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Arduino : loop() void loop() { double Irms = emon1.calcIrms(1480); // mede a corrente double Potencia = Irms * 127.0; // calcula a potência ! Serial.print("Irms: "); Serial.print(Irms); // imprime a corrente na serial Serial.print(" A t"); Serial.print("Potencia: "); Serial.print(Potencia); // imprime a potência na serial Serial.print(" W"); Serial.println(); ! sendData(Irms, Potencia); // envia dados pro servidor ! delay(15000); // aguarde 15 segundos }
  • 34. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Arduino : sendData() void sendData(double Irms, double Potencia) { client.connect(“10.0.1.108",4000);// conecta ao servidor delay(500); if (client.connected()) { // realiza o GET enviando dados como parâmetros client.print("GET /medida?irms=“); client.print(Irms); client.print(“&potencia="); client.print(Potencia); client.println(" HTTP/1.1"); client.println("Host: 10.0.1.108"); client.println(); delay(500); // lê a resposta (e a ignora) while (client.available()) { char c = client.read(); } delay(500); client.stop(); // fecha a conexao Serial.println("Dados enviados!"); } else { Serial.println("Falha na conexão."); } }
  • 35. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Servidor : GET /medida # recebe dados de uma nova medida # e armazena no banco de dados get "/medida" do # cria objeto com parâmetros da requisição @medida = Medida.new( :irms => @params['irms'], :potencia => @params['potencia'] ) # salva no banco if @medida.save return 'ok' else return 'nok' end end
  • 36. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Servidor : GET /dashboard # calcula energia total consumida no dia get "/dashboard" do # pega todas as medidas de hoje (não faça isto em prod!) @medidas = Medida.where("DATE(created_at) = DATE(?)”, Time.now) @consumo = 0 # acumulador da energia total anterior =’nil # medida anterior @medidas.each do |atual| if anterior # calcula a energia consumida entre duas medidas tempo = atual.created_at - anterior.created_at energia = (atual.potencia + anterior.potencia) * tempo / 2 @consumo = @consumo + energia # acumula end anterior = atual # atualiza medida anterior end @consumo = @consumo / 3600000 # joules -> kWh end
  • 37. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Juntando Tudo Servidor Serial Monitor Arduino + Shield Ethernet Cabo de Rede Circuito Sensor de Corrente Cabo USB Para Rede Elétrica Lâmpada 100W
  • 38. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Juntando Tudo Macete ! A corrente é multiplicada pelo número de voltas.
  • 39. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0
  • 40. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Incrementando… • Medição em 2 ou 3 fases • Medição da tensão da rede • Displays • Sensores de temperature • Você manda…
  • 41. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Crie, Construa e Compartilhe https://github.com/mlemos/energy-monitor-cpbr7
  • 42. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 .com
  • 43. Campus Party 2014 • 30/01/2014 • São Paulo, Brasil • By Manoel Lemos • manoel@lemos.net • fazedores.com • manoellemos.com • CC-BY-SA 3.0 Valeu!