Automação residencial com Linux

Automação residencial com Linux
Home automation in GNU/Linux
Autor original: Steven Goodwin
Publicado originalmente no:
freesoftwaremagazine.com
Tradução: Roberto Bechtlufft

Automação residencial é quando sua casa faz coisas para você automaticamente, para tornar sua vida doméstica mais agradável e produtiva. Ela abrange muitas áreas, como controle remoto e temporizado das luzes e dos eletrodomésticos, serviços de mídia distribuídos e comunicações. Nos últimos 10 anos, muitos fabricantes de hardware apresentaram suas soluções proprietárias para essas questões. Mas sem que eles soubessem, uma leva de desenvolvedores de todo o mundo já vinha oferecendo soluções semelhantes para a comunidade do código aberto.

Neste artigo introdutório, vou fazer uma análise superficial de vários desses projetos para ver o que já está disponível.

Controle de Eletrodomésticos

Um dos recursos mais impressionantes de uma casa inteligente é a capacidade de controlar as luzes ou acionar a tomada da cafeteira pelo computador. Naturalmente, você vai precisar de algum hardware para fazer isso, e o exemplo mais proeminente (com uma boa relação entre custo, longevidade e flexibilidade) é o X10.

O X10 é um protocolo que implanta pulsos de energia de alta freqüência especialmente formatados na rede elétrica. Como os cabos da rede elétrica estão conectados a todas as lâmpadas e tomadas da casa, um sinal implantado em um ponto da linha de energia é visto por todo o resto da área de fornecimento da rede. Conseqüentemente, uma tomada especialmente habilitada para o X10 é capaz de aguardar por esses pulsos de energia e ligar ou desligar, como for adequado.

Para implantar esses sinais X10 na rede elétrica é necessário um periférico, o CM12U (figura 1), que também contém um plug (RS232 ou USB) que é conectado ao PC. Para receber esses sinais, as opções são:

  • Usar um módulo para eletrodomésticos, que liga e desliga as tomadas. Basta plugar a unidade à tomada, ligar o eletrodoméstico na outra ponta e ativar a tomada. O eletrodoméstico (a cafeteira, por exemplo) passa a ser controlado por um sinal X10 remoto. A figura 2 mostra uma dessas unidades.

  • Uma unidade para bocal de lâmpada, como vemos na figura 3. Ela se encaixa num soquete de lâmpada comum, e age como um circuito “E”. A unidade só pode ser controlada por meio de sinais X10 remotos.

  • Um interruptor especial que substitui o interruptor convencional e controla a luz à qual está ligado. Esse controle se dá pelo próprio interruptor ou pelos sinais X10 remotos. Funciona também como um regulador de luz. Veja a figura 4.

ha-cm12u

Figura 1: esse é o CM12U, que transfere os sinais X10 entre o computador e a rede elétrica

ha-am12u

Figura 2: esse módulo aguarda os sinais X10 e controla o eletrodoméstico que estiver ligado a ele

ha-lm15eb

Figura 3: encaixando diretamente em um bocal de lâmpada comum, essa é a forma mais fácil de adicionar luzes controladas à sua casa

ha-lw10u

Figura 4: esse é um substituto ao interruptor comum, e é a forma mais eficiente de controlar a luz

Cada um desses dispositivos recebe um endereço. Ele consiste do código da casa (de A a F) e do código da unidade (de 1 a 16), relativo ao eletrodoméstico. O código da casa é necessário porque geralmente sua casa é abastecida pela mesma fonte da vizinhança, o que faria com que seus eletrodomésticos “enxergassem” os sinais X10 de seus vizinhos e vice-versa. É possível comprar um supressor X10 para impedir o vazamento de seus sinais, mas a adesão ao X10 ainda não é universal ao ponto de fazer disso um problema (a não ser que você viva num bairro cheio de geeks, isso não deve ser problema tão cedo).

Cada país com seu código

ATENÇÃO: a voltagem e a freqüência da rede elétrica variam de acordo com o país; por isso, dependendo de onde você mora, podem ser necessários dispositivos específicos. Consulte atentamente o site dos fornecedores. Os códigos deste artigo se referem a dispositivos em uso no Reino Unido.

O envio de sinais X10 adequados (pelo CM12) exige um software, e no momento o favorito é o heyu. Ele não é realmente código aberto, mas é aberto o suficiente. Trata-se de um simples utilitário de linha de comando (a configuração fica no arquivo /etc/heyu/x10.conf) que permite controlar as luzes com comandos como:

heyu turn bedroom_light on (heyu ligar luz_do_quarto)

e

heyu dim studio_light 2 (heyu diminuir luz_do_estudio 2)

Esses comandos podem ser disparados a partir de um site, de um script, do crontab ou da linha de comando. Como alternativa ao cron, é possível carregar um programa que contenha uma seqüência de mensagens liga/desliga diretamente para o CM12, o que permite especificar uma série de eventos agendados, mesmo que o computador esteja desligado.

O CM12 oferece um maior controle sobre a seqüência de luzes da casa do que um interruptor temporizado tradicional, além de permitir a programação de situações mais realistas. Por exemplo, é possível programar uma seqüência em que a unidade acende as luzes do segundo andar, aguarda um minuto, apaga as luzes do primeiro andar, aguarda mais um minuto e acende as luzes do terceiro andar. Esse detalhe sutil dá a impressão de alguém que sobe as escadas e que vai acendendo e apagando as luzes conforme caminha, o que é uma caraterística humana, e não de uma máquina.

Como esses comandos podem ser inseridos em um script do bash, seria trivial criar um script faz_um_cafezinho que ligaria o módulo de eletrodoméstico conectado à cafeteira (E5, na minha casa), esperaria a água ferver (3 minutos e 35 segundos para um litro e meio de água, por exemplo) e então anunciaria (por meio de um sintetizador de voz, o Festival) que a cafeteira já ferveu a água, desligando novamente a cafeteira. Há um vídeo mostrando tudo isso em funcionamento no site da zdNet, como parte de uma competição doméstica. Só é preciso lembrar de pôr água na cafeteira após o uso.

Outros dispositivos que podem ser controlados pelo X10 incluem cortinas, sensores de movimento e válvulas de água.

Controle Cósmico

Além de receber os sinais, há vários dispositivos X10 que podem enviar sinais, como o HR10e, na figura 5. Ele é um transmissor RF para X10, que envia mensagens para ligar, desligar e regular ao receptor RF (figura 6) e lança o sinal adequado pela rede elétrica. Normalmente, essas mensagens seriam enviadas diretamente ao dispositivo X10 apropriado, mas com um computador rodando o GNU/Linux e um CM12 podemos escutar esses sinais e fazer algo diferente.

ha-hr10e

Figura 5: um transmissor RF

O programa heyu, que eu mencionei anteriormente, pode aguardar pelas mensagens X10 na linha de energia e disparar um comando ao recebê-las. Por isso, ao adicionar as seguintes linhas ao arquivo de configuração:

SCRIPT e1 on :: /usr/local/minerva/bin/mixer default dec master 10
SCRIPT e1 off :: /usr/local/minerva/bin/mixer default inc master 10

É possível aumentar ou diminuir o volume da música que está tocando no computador.

ha-TM13UAH

Figure 6: o TM13UAH escuta sinais RF e emite o comando X10 pela rede elétrica

Eu uso o transmissor RF X10 padrão (exibido na figura 5) para enviar sinais a esse receptor, e dividi os controles em três áreas principais:

  1. Operações comuns. Alterar o volume, tirar o som e pausar são usados com tanta freqüência que merecem estar presentes em todos os modos.

  2. Funções específicas de modo. Os 8 botões do meio.

  3. Sistema comum. Esses alteram o modo e relatam o estado geral do sistema.

Como você pode ver na foto, esse dispositivo não exibe saída alguma. Sendo assim, deve haver um feedback sonoro que indique ao usuário que sua solicitação foi encaminhada, gentilmente lembrando-o de que ele deve parar de socar os botões. Na minha casa, uso um sino básico e o sintetizador de voz Festival como feedback. O Festival permite que um texto qualquer seja falado, o que inclui o despertador, a previsão do tempo e os horários de partida dos trens, que são transportes muito comuns aqui no Reino Unido.

O software que eu uso é parte da suíte Minerva Home Automation, e se chama Cosmic. Os modos padrões em uso são:

  • Multimídia: execução de CD, controle de jukebox MP3

  • Timer: acerte o timer para 5 minutos, e uma voz vai avisá-lo quando o tempo acabar.

  • Notícias: informações básicas, como a previsão do tempo, as notícias e os eventos do dia.

Controle de Mídia

Para muita gente, a experiência com a automação doméstica começa (e termina) na distribuição de mídia, que pode ir de um servidor de arquivos simples ou de um NAS servindo sua coleção em MP3 ao PC até um conjunto completo de DVRs para cada cômodo da casa. Não há uma única solução correta, ela varia de acordo com a quantidade de tempo e dinheiro que você está disposto a dedicar ao problema, além da experiência que você tem com essas coisas.

Servidores de arquivos e NAS

Você vai precisar, no mínimo, de um servidor. Pode ser algo complexo, como uma série de máquinas em estantes em um local específico (chamadas de nó 0 pelos geeks HA), ou um NSLU2 (ou Slug) escondido embaixo das escadas com HDs USB anexados. Qualquer que seja a sua abordagem, ter toda a sua coleção multimídia disponível em um compartilhamento Samba oferece a maior abrangência para a automação, já que todos os dados podem ser acessados por quase todos os tipos de sistemas operacionais, bem como por equipamento customizados de hardware como o Slingbox.

DVRs e PVRs

Para algumas pessoas, fazer o GNU/Linux rodar o MythTV é o ápice da automação doméstica. Não mesmo! Há muitas alternativas livres disponíveis, e muitas configurações possíveis.

Para começar, o MythTV oferece dois componentes separados: o back end e o front end mythfrontend. Com isso, o computador pode gravar e converter os programas de TV em um local central (como o nó 0), e eles podem ser reproduzidos em qualquer front end da casa. A vantagem dessa abordagem é ter um armazenamento central com toda a mídia, que fica disponível a todos os aposentos da casa, somado aos benefícios físicos de se poder usar um equipamento potente num local remoto, no qual as ventoinhas necessariamente barulhentas não atrapalharão a exibição dos vídeos.

Ainda no âmbito das soluções para TV, os gamers também poderão tirar a poeira de seus Xbox instalando o XBMC (Xbox Media Centre), embora as ventoinhas sejam bem barulhentas.

Além disso, vale à pena conhecer soluções alternativas como DVR, Video Disk Recorder e FreeVo. Também há projetos como o MVPServer, que podem servir conteúdo diretamente ao (proprietário) Hauppauge MVP. Como ele é bem silencioso, vale à pena considerar a idéia.

Mídia e Jukebox MP3

Depois de reunir seus MP3s em um servidor central, há três maneiras de transmitir a música pela casa.

Operação Local

Usar um PC em cada cômodo para transmitir o arquivo pela rede e decodificar a música localmente. Não é preciso um computador muito poderoso (um Mini-ITX é mais do que suficiente) e há até algumas soluções baseadas em hardware, como o já mencionado Slingbox. Também é possível usar qualquer reprodutor de mídia e sistema operacional para essa tarefa, já que basta montar o servidor de mídia como se fosse uma unidade comum do sistema.

Servidor de Transmissão

Configure um servidor de transmissão no nó 0 e use o VLC para distribuir a música pela rede cabeada (ou wireless). Também há um plugin para o Firefox que permite transmitir os dados do VLC diretamente para o navegador. Outra opção é transmitir usando o Shoutcast e o Darwin.

Se você só precisar transmitir o vídeo, como no caso de um circuito interno, o camserv é uma possibilidade. Ele transmite imagens Mjpeg por uma porta específica do seu próprio servidor web integrado, o que permite exibir a saída da câmera em qualquer navegador compatível.

Operação Remota

Adicione uma placa de som ao servidor e ligue alguns cabos a outros amplificadores espalhados pela casa. Isso pode dar algum trabalho, mas nada muito complicado. Com isso já é possível configurar um software simples de jukebox MP3 no servidor, e controlar a reprodução das músicas pelo navegador.

Eu adotei a terceira abordagem, já que com ela também posso controlar meu CD player (pelo cdcd), o volume (pelo aumix) e a rádio FM (presente na maioria das placas de TV, controlada pelo pacote fmtools). Usei o Bearskin (parte do projeto Minerva) para abstrair o software básico, de modo que eu não precise atualizar nenhum script ou página web caso mude de ferramenta.

Extras para a TV

Há dois recursos que geralmente são subestimados quando se tem uma placa de TV no computador. O primeiro é o controle remoto infravermelho. Muitos usam o controle remoto que vem com a placa de TV apenas para mudar de canal. Esses vão se impressionar com o projeto LIRC, que enxerga os sinais infravermelhos e realiza outras tarefas mais interessantes, disparando scripts arbitrários no host. Ele também funciona como um mouse, caso você use o X. Mesmo sem placa de TV, o site do LIRC detalha circuitos simples que você mesmo pode fazer.

A segunda função “oculta” das placas de TV é a capacidade de exibir teletexto, um sistema muito comum na Europa. Imagine o teletexto como a internet, se ainda usássemos conexões discadas. O teletexto consome muito pouca banda, sendo perfeito para o uso de programas screen scrapers, que varram as páginas menos freqüentadas, como os passatempos dos jornais, e que selecionam os trechos desejados. Ferramentas como o Alevt podem rodar noite a dentro, armazenando páginas no cache para revisão. Um dia inteiro de teletexto ocupa tão pouco espaço que cabe na maioria dos telefones celulares.

Comunicação

Com a casa funcionando como um periférico do computador, temos uma mudança de paradigma significativa, da mesma maneira que a banda larga trouxe mudanças mais substanciais do que simplesmente downloads mais rápidos e contínuos. Ter seu próprio servidor doméstico rodando 24/7 é mais importante que a capacidade de checar o email sem ter que discar para o provedor.

Poder se conectar à sua casa a qualquer hora para dar uma olhada naquele documento gravado no servidor doméstico via SSH é um benefício óbvio, do qual os usuários do GNU/Linux já desfrutam há muitos anos. Mas com as soluções de automação residencial, é possível acompanhar o circuito interno e ouvir a babá eletrônica pela internet. Ambos podem ser disponibilizados pela mesma tecnologia de transmissão (como o vlc) usada pelo servidor MP3, eliminando qualquer carga extra.

Não é muito difícil expandir a idéia e providenciar seus próprios sistemas de segurança, parecidos com as caras soluções proprietárias, como o Comfort. Nesse exemplo, uma mera dobradinha campainha/interfone se torna uma melhoria significante na segurança doméstica, já que o áudio do interfone pode ser roteado (via Asterisk) para o computador do seu escritório, ou para o seu celular, se você estiver de férias. Eventuais visitantes vão achar que você está em casa de cama por causa de algum resfriado, e dificilmente voltarão para tentar roubar a casa.

Mas VoIP não é a única interface baseada em telefonia disponível. Há vários telefones celulares compatíveis com utilitários como o Gnokii, o Gammu e o gsmlib. Eles permitem que um computador com o GNU/Linux, devidamente equipado (você vai precisar de mais um cabo), aguarde mensagens de texto SMS e dispare os eventos apropriados, de acordo com o conteúdo. Esses scripts podem cuidar do controle das luzes ou da ativação do PVR para gravar um programa que você não sabia que ia passar. Você também vai poder receber alertas de texto sem precisar de servidores externos (e caros). Seria fácil configurar avisos sobre o último trem ou mesmo despertadores.

De forma parecida, já que tudo é controlado por um servidor GNU/Linux, seria trivial adicionar seu próprio servidor de email à mistura, e controlar as outras tecnologias (rádio, vídeo e iluminação) por email. De vez em quando eu mando um email para as luzes da minha casa, só por esporte! Ou algo ainda mais prático: você pode mandar um email para a cafeteira quando sair do escritório, considerando o tempo que vai levar no trânsito e o tempo que leva para a água ferver. Ao entrar em casa, vai ter um café fresquinho esperando por você. Também é possível usar o procmail para monitorar a thread “onde vamos nos encontrar hoje à noite?”. Um SMS pode ser enviado para você se houver alguma alteração importante na thread. Como estamos falando de automação residencial, não é preciso usar soluções tecnicamente sofisticadas, já que você pode confiar nas pessoas da casa que usam o sistema junto com você.

Os usuários avançados também podem usar bluetooth para detectar a aproximação do seu telefone celular e usar isso como controle remoto para ligar as luzes e começar a tocar música.

Vida Online

Outro dia eu estava comentando com um amigo sobre meus projetos atuais e ele comentou: “todos os seus projetos começam com uma página web”. E ele tem razão! Isso acontece porque o navegador web é uma tecnologia ubíqua, com uma interface uniforme em vários dispositivos diferentes, sem distinguir se você está em casa ou no escritório, se está trabalhando em um PC, em um PDA ou em um telefone celular. Conseqüentemente, não há diferença entre o que pode ser feito em casa ou no trabalho, e como os dados ficam armazenados num servidor próprio, o controle é total. Esse é um recurso que a maioria das soluções comerciais vem deixando passar.

É fácil preparar um servidor doméstico, só precisamos do Apache como servidor web e de habilidades rudimentares com uma das linguagens de programação ‘P” (Perl, PHP, Python ou, hã, Ruby!). Assim podemos oferecer acesso aos calendários do Google Calendar, gerenciar nossa lista de contatos e acompanhar o quadro de avisos da casa. Tudo isso pode ser acessado de qualquer lugar do mundo, bem como cada PC da casa.

Tem-se um único local para armazenar favoritos da família toda, incluindo os sites com a programação da TV, com a previsão do tempo e com os horários de saída dos trens. Nós já tem nossas próprias páginas mais acessadas. Por exemplo, sempre lemos as notícias do Slashdot e nossa agenda diária durante o café da manhã. Pegar todas essas informações e juntá-las em um resumo pessoal diário, em uma página web ou no PDA, é uma tarefa útil e fácil de realizar com o software livre.

Além da instalação padrão do Apache, pode ser interessante configurar um DNS dinâmico para que você possa acessar o servidor da sua casa pelo endereço http://my.homelinux.net, por exemplo. O serviço DynDNS cuida disso. Naturalmente, você vai ter que providenciar a segurança por conta própria, talvez com SSL, mas há vários documentos na web detalhando o processo. Dá até para exigir SSL para acesso remoto, mas não para tráfego local. Afinal de contas, todo o tráfego local só pode mesmo vir da sua casa, onde qualquer “cracker” obteve acesso físico ao computador, à geladeira e à televisão. Você pode lidar com esses ataques mandando o responsável para a cama mais cedo, e sem jantar!

Fontes de Dados

O que diferencia um servidor de automação residencial de outros servidores comuns é que as informações presentes são de natureza predominantemente doméstica. Assuntos cotidianos como “será que vai chover hoje à tarde” e “tomara que o trem não atrase” são mais importantes para a vida doméstica do que quantas páginas sua instalação do Apache pode servir. Ou seja, quem manda é o conteúdo. Logo, precisamos saber de onde esses dados vêm, e como apresentá-los.

Os serviços web parecem ser a solução para tudo. Porém, como muitos provedores de conteúdo não são capazes (ou não estão dispostos) a fornecer suas informações de maneira simples e direta, temos que obter nossas informações de outras fontes, usando um software que cole tudo.

Guias de Programação

Listar todos os programas de TV no ar hoje que falem sobre o Freddie Mercury (nunca me lembro de procurar por eles, mas assisto sempre que passa algum!) é um recurso bastante característico da atividade doméstica. Naturalmente, o melhor lugar para isso é um servidor, pois a informação pode ser reunida localmente e distribuída para o computador em que você estiver trabalhando (ao contrário dos guias de programação de boa parte dos sistemas de TV a cabo, que ficam presos ao equipamento, ou das revistas, que ficam embaixo do sofá!). Para que tudo funcione você vai precisar de uma fonte de informações sobre a programação da TV, e isso varia bastante de acordo com sua localização.

Aqui no Reino Unido, os melhores guia de programação online que eu uso vêm do Bleb. É um serviço fantástico que oferece detalhes da programação da semana toda, em um formato XML fácil de processar. Eu o uso para gerar agendamentos automáticos todos os dias, procurando nos títulos e descrições dos programas por palavras-chave específicas. O applet Minerva TV Guide também usa essa fonte, como vemos na figura 7. Com certeza há outras fontes disponíveis em outros países.

ha_tvguide

Figura 7: meu guia de programação personalizado.

O único problema dessa fonte de dados é que o canal ITV, famoso aqui no Reino Unido, não está disponível no Bleb. Parece que há alguns problemas legais em redistribuir a programação do canal. Por isso, só nos resta usar um screen scraper no site do ITV para buscarmos as informações relevantes. Isso é divertido, pois o ITV também fornece a programação de outros canais!

Já os guias de rádios não são tão bem suportados. Há várias explicações para isso (mercado pequeno e específico demais) mas pelo menos a rádio pode ser identificada de maneira genérica, porque todas as freqüências transmitidas são controladas pelo orgão governamental de cada país. No Reino Unido quem cuida disso é a OFCOM, e o site dela traz informações sobre as estações e a freqüência de cada uma. Essas informações são disponibilizadas na forma de uma planilha Excel ou no formato RadioML.

Horários dos Trens

Várias estações de trem do Reino Unido já se modernizaram e oferecem ao público informações sobre os trens pelo seu site. É trivial preparar uma solicitação HTML GET ao servidor delas, gerando um favorito simples com informações detalhadas sobre o trem que você vai pegar para casa. Uma programação inteligente também permite a criação de um despertador cujo horário varia de acordo com a pontualidade do trem. Greg McCarroll nos dá um exemplo.

Previsão do Tempo

Meus pais e meus avós tinham um barômetro, que dava dicas sobre o tempo baseado nas alterações na pressão atmosférica. Antes de sair, eles davam uma batidinha no barômetro para observar o movimento da agulha e pegavam o guarda-chuva se ela se movesse para a esquerda.

Já eu uso minha conexão à internet e um feed RSS do Yahoo! Previsão do Tempo. A previsão é atualizada todos os dias. Tudo o que meu computador tem a fazer é emitir um

wget -q http://weather.yahooapis.com/forecastrss?p=UKXX0088 -O cache/weather.xml

e processar o XML para transformá-lo em uma planilha XSL. A referência UKXX0088 é uma indicação da sua localização física no mundo, e por meio dela você pode obter a previsão do tempo adequada. O texto resultante é então renderizado em uma das minhas páginas web, e é falado (com o “Festival”) pelos alto-falantes, como parte do meu despertador. Esse código todo está disponível livremente na suíte Minerva Home Automation, mas é bem simples e você mesmo pode fazê-lo.

Para obter boletins meteorológicos mais avançados, algumas pessoas têm suas próprias estações meteorológicas em casa. Elas podem ser compradas em lojas de dispositivos eletrônicos, e até que não são caras. Só que a maioria delas funciona apenas como um barômetro eletrônico, pois não interagem com o computador.

CDs de Áudio

A maioria das pessoas já deve saber disso, mas a FreeDB contém a listagem das faixas de milhões de CDs. Esse banco de dados pode ser incorporado aos aplicativos que tocam CDs, oferecendo uma interface melhorada. A interface web do applet de CD player, por exemplo, permite clicar no nome da música, ao invés do número da faixa, para tocá-la (figura 8). Com esse procedimento, o “07” sem graça que indica a faixa em execução desde os anos 80 pode ter seu título renderizado em uma página web, em uma tag line do Jabber, no Twitter ou no Facebook!

ha_cdplayer

Figura 8: tocando um CD pela web

E o que mais?

O software livre oferece muitas possibilidades para aperfeiçoar os serviços existentes de automação residencial, e em alguns casos chega a superar os produtos comerciais, mas sempre é possível melhorar ainda mais tanto o hardware quanto o software.

Sistemas embarcados ainda são exigidos em muitas áreas, para reduzir as emissões de carbono decorrentes da colocação de um PC em cada cômodo. Uma possibilidade é usar um quiosque de navegação. Ele pode rodar em hardware básico, com uma placa de rede, alto-falantes, um microfone, monitor touch-screen e mais nada. Dessa forma, você tem um controle remoto que pode ser colocado em qualquer lugar da casa, oferecendo acesso completo a tudo (incluindo transmissão de vídeo, VoIP e controle das luzes), dando um toque verdadeiramente futurista à casa.

Espera-se que surjam ainda mais serviços. É necessário um método comum e acessível de oferecer dados a todos os usuários de automação residencial. Até o momento, é preciso ser meio geek para compreender como tudo funciona. O software livre pode ajudar a diminuir essa barreira oferecendo soluções que já vêm prontas para o uso das massas.

Há muitos fóruns, lojas e sites falando sobre automação residencial. Você pode conhecer várias dessas referências na página de automação residencial da Minerva. Por tanto, boa leitura e divirta-se hackeando sua automação residencial!

Créditos a Steven Goodwinfreesoftwaremagazine.com/
Tradução por Roberto Bechtlufft <robertobech at gmail.com>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X