Automação residencial em módulos

LegendBR:
Vai fazer o que com a foto? Arquivar? Mostrar em uma tela? Em um website?

Eu acho que vou comprar uma central de monitoramente, alguma coisa do tipo. Mas tem que ser algo que eu possa pegar imagem para jogar em um site, esse tipo de coisa.

Pois... estive a pensar em guardar para um cartão de memória... mas se alguém calha de levar a câmara, lixei-me. Eu lembro-me dum colega meu ter algo semelhante com CCTV em que sempre que alguém entrasse no perímetro dele, as câmaras batiam uma foto e guardavam no servidor. Eu, para ser sincero, queria algo menos high tech e $$$ então descobri umas câmaras IP wireless que podem ser a solução para o que quero.

LegendBR:
Esse site/blog é muito bom, bubulindo! Acho que vou adicionar a medição de consumo da energia da casa também, gostei da ideia!

O blog é dum utilizador do fórum. Creio que é o draythomp.
Medir o consumo da casa é a minha prioridade, principalmente com o tipo de fornecimento de energia que pretendo ter. :slight_smile:

bubulindo:
Lembrei-me agora...

Eu vou colocar um sensor de movimento na minha porta para acender uma luz de presença... e tirar uma foto de quem está à porta. :slight_smile:
Alguma ideia para implementar isso?

Existem algumas câmeras ip que o próprio software dela já faz isso. Ela tem sensor de presença e movimento. Você seleciona a área de monitoramento
e quando a imagem muda naquele quadrante selecionado ela grava (envia via ftp) e pode disparar um alarme, nesse caso acho que ativando um relé
pode ligar a lâmpada. Veja as câmeras da http://www.easyn.com/.

LegendBR:
E mardden, o rpi é perfeitamente capaz de fazer o que você quer, e o consumo de energia é ridículo quando comparado a um PC. Acho que vale a pena você testar um pouco mais antes de desistir dele.

LegendBR, vou ver se pego o rpi pra fazer mais testes. Ele era pra mim a melhor opção justamente pelo consumo de energia. Ainda tenho uma pequena esperança.

LegendBR,

Meus max485 chegaram, testei sua lib e funcionou perfeitamente. Foi preciso fazer 3 pequenas correções do código do slave.

LegendBR:

(...)

if (rs485->type == ENQ)
// trocar por:
  if (rs485->type == MasterSlaveFuji::ENQ)

(...)

rs485->sendACK(0, 'F', 1, rs485->sign, rs485->data1, rs485->data2, rs485->data3, rs485->data4);
// trocar por:
        rs485->sendACK(0, 'L', 1, rs485->sign, rs485->data1, rs485->data2, rs485->data3, rs485->data4);

(...)

rs485->sendACK(0, 'F', 1, rs485->sign, rs485->data1, rs485->data2, rs485->data3, rs485->data4);
// trocar por:
        rs485->sendACK(0, 'L', 1, rs485->sign, rs485->data1, rs485->data2, rs485->data3, rs485->data4);

(...)

Fiz também o fluxograma dos meus slaves. Em anexo.

Falta o master e depois escrever o código.

Eu costumo ler o blog desert-home.com e ele refere que já lhe apareceram clientes estranhos nos seus arduinos ligados à net. É tudo uma questão de compromisso. Para mim não vale a pena. Para vocês vale.

Segurança acima de tudo.
A minha sugestao se querem mesmo expor a vossa casa via net entao simples, usem VPN IPSec/L2TP :grin:
Recordo que android e Iphone suportam nativamente este cliente de VPN.Assim quando querem "mexer" na vossa casa remotamente ligam a VPN e acedem ao site local que controla o arduino.
Completamente seguro.Nao vou dizer impenetravel mas teriam muito trabalho pois teriam de furjar o certificado digital ...
Eu uso as diariamente para fazer tunneis quer para minha casa quer para aceder a clientes remotos.
Router que recomendo Mikrotik

@mardden
Muito bom o teu fluxograma.Com esse diagrama é meio caminho na programação.È algo que faço sempre no inicio de qualquer projecto num papel e evoluo a partir dele.
Se muitos utilizadores fizessem este tipo de abordagem (primeiro pensar no papel e depois partir para a IDE do arduino) resolviam muitos problemas logo de inicio.

HugoPT:
(...)
A minha sugestao se querem mesmo expor a vossa casa via net entao simples, usem VPN IPSec/L2TP :grin:
(...)
Eu uso as diariamente para fazer tunneis quer para minha casa quer para aceder a clientes remotos.
Router que recomendo Mikrotik

Bem lembrado, usar uma vpn é mais simples, e e com Mikrotik fica perfeito. Uma RB750 acho que já da conta do recado.
Ela tem consumo nominal de 2.4W e máximo de 3.6W.

HugoPT:
@mardden
Muito bom o teu fluxograma.Com esse diagrama é meio caminho na programação.È algo que faço sempre no inicio de qualquer projecto num papel e evoluo a partir dele.
Se muitos utilizadores fizessem este tipo de abordagem (primeiro pensar no papel e depois partir para a IDE do arduino) resolviam muitos problemas logo de inicio.

Obrigado HugoPT :smiley:

Uma RB750 acho que já da conta do recado.

Sim ás mil maravilhas

Depois vou estudar sobre VPN e esse tal de Mikrotik que vocês estão falando. Se tiverem algum material, agradeço :D.

@mardden

Realmente ficou muito bom esse seu fluxograma. Eu tenho o custume de partir logo para a programação (depois de pensar um pouco, lógico), mas vou fazer um desses também para o meu projeto, uma vez que será um tanto grandinho!

Cheguei ontem em terra, e como minhas primeiras PCIs (compradas na IteadStudio) haviam chegado, já soldei os componentes. Tudo parece estar em ordem, e pelo menos a parte de conversão 12v -> 5v parece estar funcionando direitinho (só vi os leds acenderem, falta testar com o multimetro). Depois posto uma foto.

Hoje devo fazer testes de comunicação. Depois posto os resultados e a nova biblioteca de comunicação RS485, sem timeout.

LegendBR:
Depois vou estudar sobre VPN e esse tal de Mikrotik que vocês estão falando. Se tiverem algum material, agradeço :D.

Pode começar por aqui Manual:TOC - MikroTik Wiki
No youtube você também vai achar muito material em português. Qualquer dúvida é só falar.

LegendBR:
Cheguei ontem em terra, e como minhas primeiras PCIs (compradas na IteadStudio) haviam chegado, já soldei os componentes. Tudo parece estar em ordem, e pelo menos a parte de conversão 12v -> 5v parece estar funcionando direitinho (só vi os leds acenderem, falta testar com o multimetro). Depois posto uma foto.

Hoje devo fazer testes de comunicação. Depois posto os resultados e a nova biblioteca de comunicação RS485, sem timeout.

Cadê, cadê, cadê?????

Não deu muito certo não, hehehe. Inventei de testar tudo de uma vez, agora vou ter que fazer testes por partes.

Pelo menos o Mega que eu comprei chegou hoje, monitorando o serial fica mais fácil de ver o que deu errado. Já identifiquei um problema com o relé com optoacoplador (exagerei no resistor, hehehe), mas assim que tiver resultados, posto.

edit: agora entendi o que é esse MikroTik, é uma marca de roteador e que também tem um OS, semelhante ao DD-WRT.

Estava vendo o manual do meu roteador e acho que ele já tem suporte VPN. Será que vale a pena comprar outro roteador?

Minha rede é composta de um roteador da GVT (todo travado) que serve como modem (e é responsável por fazer a atualização do IP dinâmico pelo no-ip), que faz routing para o TL-WR1043ND, que faz o routing para o resto da rede.

LegendBR,

Acredito que seu roteador deva funcionar a vpn sim. Mas... o mikrotik é muito mais estável e robusto.

Como você gravou o bootloader no seus chips atmel? Mesmo gravando bootloader para 8MHz precisou do cristal 16MHz no momento da gravação?

Atualizando conforme prometido: estava tendo dificuldade em testar a PCI com os 2 relés, mas acabou que a PCI mais "simples", de 5 x 5 cm, que encomendei na Elecrow, chegou, e decidi montar logo ela e testar. E para minha felicidade, tudo parece estar funcionando 100% (quer dizer, 90%, pois o capacitor acabou ficando na frente do segundo conector :blush:).

Abaixo seguem fotos das PCIs montadas, e da PCI simplificada com o "shield" ICSP (está bem ruinzinha, mas era só para testar, como funcionou, vou fazer um design e encomendar junto com uns outros shields que devo desenvolver, além de outras PCIs).

Fiz um teste de comunicação serial pelo MAX485, e está funcionando bem! Só falta eu testar a alteração da biblioteca, que parece que não está funcionando muito bem.

Fiquei bem satisfeito com o resultado da PCI simplificada, e soldar foi mais fácil do que eu imaginava, achava que ia ser muito difícil de evitar que os contatos tivessem curto, mas a máscara de solda funciona melhor do que eu achava!

Se alguém tiver alguma sugestão de modificação, por favor falem logo, pois acho que a PCI está quase final :D.

@mardden

Cara, tem um jeito de gravar sem precisar dos cristais, utilizando esse esquema.

Mas tive dificuldade em utilizá-lo, pois meu Uno está com problema na parte de comunicação USB, daí tentei utilizar o Mega, mas acho que os pinos são diferentes. Então a solução foi utilizar o esquema de ArduinoISP, e colocar o chip no Uno, aí funcionou sem problemas, consegui gravar o bootloader de 8 MHz e ele já está funcionando na placa sem cristal numa boa.

Fiz algumas alterações na PCI, agora acho que está próxima de ser final. Modifiquei o conector do VCC / GND para poder alimentar tudo com fio de 2,5 mm (pelos cálculos anteriores, o fio 24 awg do cabo de rede não iria dar certo), modifiquei os pinos para programação serial de acordo com o que me parece que é default para um cabo/adaptador FTDI, e arranjei os componentes.

Novamente, se alguém tiver sugestões para modificação/melhoria, peço que façam o quanto antes, já estou querendo encomendar as PCIs logo :stuck_out_tongue_closed_eyes:.

LegendBR,

Dica:
Eu li em algum lugar que devemos evitar trilhas em 90graus, sempre que possível usar ângulos de 45graus. Para evitar capacitância.

Crítica construtiva:
Particularmente gostei mais da ideia de placa única (placa com relé). A placa menor pelo que entendi tem o regulador de tensão,
arduino (8MHz) e o max485. Já pensou no mini-pro 8MHz? Como você vai prender mais de uma pcb dentro da caixa de interruptores?

Meu cenário atual:
Estou apanhando pra fazer o arduino em 8MHz funcionar. Já consigo gravar o bootloader (com um Duemilanove) seguindo esse site:
http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
Para gravar o programa (hex) segui esse site:
http://engenheirando.com/arduino/montando-arduino-na-protoboard/
Mas infelizmente em 8MHz funcionou apenas uma vez. Vou brincar mais um pouco e se ficar complicado partirei para o mini-pro.
Se eu for usar o mini vou desenha uma shield com regulador de tensão, max485, relé ou triac e barra de pinos para encaixar o mini-pro.
Essa semana vou fazer alguns testes com relé e triac para comparar o consumo de energia desses caras.

Segue o fluxograma do arduino master. Versão alfa ainda.

Pensei em fazer um shield para o mini pro sim, mas acabei achando mais prático fazer o "meu arduino pro", já com o regulador e o módulo RS485.

Minha ideia dessa placa foi utilizar módulos de relés prontos (comprei 10 módulos com 2 relés no eBay por pouco mais de 20 dólares), e nessa PCI algumas das portas estão desperdiçadas. Mas vou fazer uma outra PCI, agora com TRIAC, e pinos para os botões capacitivos.

edit: sobre prender na caixa, pensei em deixar solto mesmo, não pensei em prender não... acho que não tem necessidade de fixar na caixa não, a parede é fixa, hehehehe.

Sobre a crítica, quero isso mesmo, não se preocupe em criticar não, recebo críticas muito bem. Estou começando nessa área, ainda tenho muito o que aprender, e trocar informações é sempre bom :). Depois vou ver se consigo eliminar as curvas de 90°, embora ache que não via trazer muito problema, é bom previnir.

Novamente, se alguém tiver sugestões para modificação/melhoria, peço que façam o quanto antes, já estou querendo encomendar as PCIs logo

Cá vão as minhas sugestões.
Ao olhar para a tua placa não gosto particularmente da posição dos dois conectores (lado esquerdo junto ao díodo).Porque nao facialos com a borda da placa?
Para la ligares o cabo ele vai ter de andar em cima da PCB junto onde colocaste a fixaçao para os parafusos.
Podias ter dado uma arrumadela melhor nos componentes.O circuito e simples e podias ter colocado os componentes mais bonitinhos.
Quando desenhares a placa no final de teres feito o auto-routing (se fizeres com auto) faz um ratsnest á placa e aplica um polygon em ambas as faces da placa.Depois liga esse poligon a massa tocando na label e escrevendo GND.
Com isto a placa fica com aspecto mais profissional.

A uns tempos construí uma placa para sensores de temperatura e a minha placa é em parte parecida ao que tu fizeste.Também uso um max485 para fazer os nós dos slaves.Usa como termo de comparaçao as minhas tambem foram feitas na elecrow

Captura de ecra? 2013-07-21, a?s 16.41.02.png

Captura de ecra? 2013-07-21, a?s 16.43.08.png

Captura de ecra? 2013-07-21, a?s 16.41.19.png

HugoPT:
Cá vão as minhas sugestões.
Ao olhar para a tua placa não gosto particularmente da posição dos dois conectores (lado esquerdo junto ao díodo).Porque nao facialos com a borda da placa?
Para la ligares o cabo ele vai ter de andar em cima da PCB junto onde colocaste a fixaçao para os parafusos.

Nas primeiras placas estava assim, mas quando adicionei os parafusos de fixação tive que colocar os conectores mais para frente. Qual a sua sugestão, retirar os parafusos de fixação? Colocá-los ao lado dos conectores, deixando-os fora da borda? No início eu nem estaca pensando em utilizar parafuso de fixação, mas depois, pensando melhor, acho que vai ficar bem legal deixar a placa fixada no fundo da caixa de luz.

HugoPT:
Podias ter dado uma arrumadela melhor nos componentes.O circuito e simples e podias ter colocado os componentes mais bonitinhos.

Pois é, a arrumação dos componentes é meu grande problema, hehehehe. O que está me dificultando é a conversão de 12v para 5v, a quantidade de componentes é considerável, e o LM2576 ocupa bastante espaço.

HugoPT:
Quando desenhares a placa no final de teres feito o auto-routing (se fizeres com auto) faz um ratsnest á placa e aplica um polygon em ambas as faces da placa.Depois liga esse poligon a massa tocando na label e escrevendo GND.
Com isto a placa fica com aspecto mais profissional.

Comecei fazendo fazendo auto-routing, mas depois achei melhor eu mesmo traçar os caminhos, basicamente para poder utilizar a maior trilha possível (auto-routing utiliza uma trilha padrão, daí ter que ficar apagando trilha e traçando de novo, ou então ficar modificando o tamanho, dá mais trabalho).

Sobre a malha GND, já apliquei na parte de baixo, você acha que vale a pena colocar na parte de cima também?

HugoPT:
A uns tempos construí uma placa para sensores de temperatura e a minha placa é em parte parecida ao que tu fizeste.Também uso um max485 para fazer os nós dos slaves.Usa como termo de comparaçao as minhas tambem foram feitas na elecrow

Com certeza vou dar uma olhada na sua PCI, valeu! =D

Depois dos conselhos do HugoPT e do mardden, fiz uma outra PCI, mais organizada e com 3 TRIACs. Segue em anexo.

Coloquei malha GND nos dois lados. O que talvez não ficou muito bom foi o deslocamento entre o conector da alimentação (VCC / GND) e o da comunicação RS485 (A / B). Mas como eles devem acabar ficando em cabos diferentes, esse não deve ser grande problema.

Como sempre, aguardo comentários/sugestões :D.

Parece melhor.
Ja agora ao reparar que usas um LM2576 onde esta a bobine ?
Por acaso não a suprimiste por pensares que ela e desprezável pois não?

HugoPT:
Parece melhor.
Ja agora ao reparar que usas um LM2576 onde esta a bobine ?
Por acaso não a suprimiste por pensares que ela e desprezável pois não?

Ela está ao lado do diodo. Estou utilizando um indutor que tem formato de resistência. Quando utilizei essa "fonte" para alimentar o raspberry pi, o indutor aqueceu, mas para essa PCI, parece estar tranquilo.

Depois vou testar com mais carga para ver como ele reage.