quinta-feira, 29 de agosto de 2013

Série Projetos em Pi

Boa tarde,
Hoje venho anunciar que a primeira fase da Série Projetos em Pi está concluída.
Pelo html posso controlar minha multi-canal (GVT), tocar músicas (pelo artista ou playlists), e agora conclui um programa para baixar músicas pelo youtube e upar para o Google Music.
Para aqueles que tiverem mais idéias que eu possa implementar, favor colocar nos comentários, estarei estudando mais funções para implementar na fase 2 do projeto, vale lembrar que o controle de luzes ainda não foi iniciado por não ter como comprar os relês. (aceito doações :-P)
Vale lembrar também que o projeto encontra-se no github: https://github.com/caioketo/KController
Acredito que hoje consiga upar o programa para download.
Por enquanto é isso ae, em breve postarei as próximas fases do projeto.
Até lá!

terça-feira, 27 de agosto de 2013

Série Projetos em Pi - Aumenta o Som Parte I

O projeto do controle está funcionando, só precisando adicionar funções, então, parti para outro projeto, tocar músicas pelo pi, controlado pelo celular, com a mesma interface do controle.
Para esse projeto, achei o melhor jeito sendo usar o google music, existe uma API (unnoficial) para streama as músicas.
Neste momento já estou listando os artistas, ao selecionar um artista, lista os albums, e depois as músicas, fora que já consegui carregar as playlists. Agora só falta fazer tocar a musica selecionada.
Em breve postarei no github os códigos para tal, e na parte de hardware, é só ligar o som na saída de audio do pi.

sábado, 24 de agosto de 2013

Série Projetos em Pi - O Controle - Parte VI

Finalmente o controle de canais pelo smartphone (ou pc), já está funcionando.
Eu me baseei em outro projeto que achei em um blog, muito bom: https://github.com/slimjim777/web-irsend
Porém, eu alterei para funcionar do jeito que eu preciso, ou seja, não terá que selecionar dispositivo, e não terá um controle.
Por enquanto já está funcionando a lista de canais, peguei na internet uma lista de canais em JSON da GVT, e fiz o programa em python importar essa lista, e ao clicar em um item da lista, o pi, envia pelo IR, os botões referentes ao canal, por exemplo, o Universal Chanel (43) o pi vai enviar, KEY_4, KEY_3, KEY_OK, e com isso vai mudar o canal.
Agora preciso colocar o controle de volume, e outros controles que surgirão..
O código do meu programa em python para fazer isso está no github também: https://github.com/caioketo/KController
Conforme eu vá adicionando recursos, vou colocar lá no repositório e também criarei posts aqui explicando cada recurso.

quinta-feira, 22 de agosto de 2013

Série Projetos em Pi - O Controle - Parte V

Agora iremos aprender a ligar o transmissor e testá-lo.

Conectando o transmissor

O problema com o transmissor, é que o GPIO do pi vai mandar um sinal muito fraco, etnão precisaremos de um transistor para funcionar. Esse é o schematic que eu uso, sem o R2, que seria uma resistência muito baixa (que não é nescessária)

Os componentes são (R1=220ohm, Q1=BC547 transistor), 3.3V liga junto com o receptor, no pi, e o GROUND também.

Testando o transmissor

Para testá-lo, teremos que ter uma configuração básica no LIRC, como eu tinha o receptor já conectado, eu usei ele para criar a configuração, mas existe várias configurações pela internet.
Para criar uma configuração, mapeando o controle remoto, você terá que rodar:


Primeiro paramos o lirc
sudo /etc/init.d/lirc stop
Usamos o irrecord para gravar os comandos
irrecord -d /dev/lirc0 ~/lircd.conf
Fazemos um backup do lircd.conf original
sudo mv /etc/lirc/lircd.conf /etc/lirc/lircd_original.conf
agora copiamos o nosso
sudo cp ~/lircd.conf /etc/lirc/lircd.conf
Iniciamos o lirc novamente
sudo /etc/init.d/lirc start


Agora dentro do arquivo lircd.conf terá uma linha que será o nome do dispositivo, que estará assim

Begin remote
    name ~/lircd.conf


Vamos modificar o name para o nome do controle que usamos, assim ficará mais fácil de enviar os sinais.
Para enviar os sinais é só usar o comando:

irsend SEND_ONCE nome KEY_POWER

(nome=nome do controle) KEY_POWER será a tecla que você mapeou no irrecord. Pronto, ele terá que funcionar corretamente, lembrando novamente de checar tudo caso não funcione.

quarta-feira, 21 de agosto de 2013

Série Projetos em Pi - O Controle - Parte IV

Hoje irei ensinar como fazer o receptor e transmissor IR funcionarem no raspberry pi.

Instalando o LIRC no raspberry pi

Instalar o LIRC no raspberry pi é bem fácil, mais do que eu pensava.
Primeiro temos que baixar o LIRC:

sudo apt-get install lirc

Após ele baixar e instalar, precisamos configurar 2 arquivos antes de começar a usar o LIRC.
O primeiro é para o pi carregar o módulo do lirc, então, iremos no arquivo /etc/modules e adicionaremos as seguintes linhas:

lirc_dev
lirc_rpi gpio_in_pin=18 gpio_out_pin=17

Lembrando de trocar o 18 e 17 pelos pinos nos quais você colocou o receptor (out) e transmissor (in).
Depois disso precisamos configurar o hardware do LIRC, então iremos no arquivo /etc/lirc/hardware.conf e deixaremos assim:

######################################################## 
# /etc/lirc/hardware.conf 

# Arguments which will be used when launching lircd 
LIRCD_ARGS="--uinput" 
# Don't start lircmd even if there seems to be a good config file 
# START_LIRCMD=false 
# Don't start irexec, even if a good config file seems to exist. 
# START_IREXEC=false 
# Try to load appropriate kernel modules 
LOAD_MODULES=true 
# Run "lircd --driver=help" for a list of supported drivers. 
DRIVER="default" 
# usually /dev/lirc0 is the correct setting for systems using udev DEVICE="/dev/lirc0" 
MODULES="lirc_rpi" 
# Default configuration files for your hardware if any 
LIRCD_CONF="" 
LIRCMD_CONF="" 
########################################################

Agora precisamos reiniciar o LIRC para que ele assuma as alterações:

sudo /etc/init.d/lirc stop
sudo /etc/init.d/lirc start

Pronto, agora nosso LIRC está instalado e configurado.

Conectando o receptor

Essa é a parte mais fácil, o receptor possui 3 pernas, 1- VCC, 2- GROUND, 3- VOUT (lembre-se de procurar o datasheet do seu modelo para pegar a ordem correta das pernas). O VCC iremos ligar no 3.3V do pi, o GROUND ligaremos no GROUND do pi, e o VOUT, nós iremos ligar no gpio que foi configurado.
Mais ou menos assim:


Testando o receptor

Para testar o receptor é bem simples, primeiro vamos parar o LIRC, e depois iremos mandar um comando para ele escrever no terminal tudo que ele ler.

sudo /etc/init.d/lirc stop mode2 -d /dev/lirc0

Agora aponte o controle remoto para o receptor, e aperte alguns botões, você deverá ver no seu terminal algo assim:

space 16300 
pulse 95 
space 28794 
pulse 80 
space 19395 
pulse 83 
space 402351 
pulse 135 
space 7085 
pulse 85 
space 2903

Se não aparecer nada provavelmente você configurou alguma coisa errada, verifique todas as configurações novamente. Para mapear os botões do controle, você pode usar o comando "irrecord" desse jeito

irrecord -d /dev/lirc0 ~/lircd.conf

No próximo post irei explicar como conectar o transmissor IR, para deixar tudo 100%.
Até lá!

terça-feira, 20 de agosto de 2013

Série Projetos em Pi - O Controle - Parte III

Após muito sofrimento com a configuração, finalmente consegui fazer o básico funcionar.
Hoje montei a "interface" de transmissão de IR, testei uns botões do controle (mapeei, e transmiti para a TV) tudo funcionou direitinho.
Agora vem a parte legal, programar um jeito fácil de utilizar, através do celular (android), e provavelmente HTML5, irei adicionar as funções que acho mais útil.
No próximo post, irei explicar direitinho como fazer tudo funcionar, desde os esquemas eletrônicos, até as configurações, tudo detalhadamente para quem quiser replicar em casa.
Bom, só vim atualizar o andamento do projeto, até a próxima!

domingo, 18 de agosto de 2013

Série Projetos em Pi - O Controle - Parte II

Bom dia,
Mais uma atualização sobre o andamento do projeto. Após os testes de ontem, descobri que um dos receptores estava com problema, com sorte, eu tinha mais um receptor, que estava funcionando.
Consegui testar ele normalmente, e após muita luta no raspberry pi, consegui fazer o pi reconhece-lo.
Já consegui mapear um controle, direitinho, agora para testar 100% preciso fazer funcionar os LED IR, e testar os comandos na TV, se tudo funcionar direitinho, espero ter o projeto funcionando em poucos dias.
No próximo post, colocarei as fotos do receptor e LED ligados no pi, para quem quiser acompanhar, e também postarei um tutorial com tudo que tive que fazer para funcionar direitinho.
Por hoje é só, até a próxima!!

sexta-feira, 16 de agosto de 2013

Série Projetos em Pi - O Controle - Parte I

Boa tarde,
Ontem consegui o receptor IR e o led IR, para mapear os botões do controle, e depois poder controlar a TV pelo raspberrypi (led IR). Porém fui testar hoje o receptor, após ligar no raspberry pi, e instalar a LIRC que é uma biblioteca pronta para IR (receiver e transmitter), ele me retorna erro.
Após pesquisar muito, não conseguir definir o problema ainda, pode ser a voltagem, o receptor danificado, ou mesmo eu que esteja fazendo algo errado.
Achei um jeito de testar o receptor fora do raspberrypi, ligando um led na saída dele, assim, quando ele receber um sinal ele pisca o led.
O esquema eletrônico será mais ou menos assim:
Porém, ao invés das pilhas, irei ligar na alimentação do raspberry, primeiramente em 3.3v, como eu testei hoje, e se não funcionar, ligarei na 5v (que pode ser o problema do erro). Se funcionar, testarei no pi ligando em 5v, se mesmo assim não funcionar, ou o receptor está danificado, ou eu não configurei corretamente, e terei que gastar mais tempo pesqusiando.
Bom, postei aqui só para notificar o andamento do projeto, em breve (hoje ou amanha) postarei os resultados.
Até!

quarta-feira, 14 de agosto de 2013

Série Projetos em Pi - O Controle

Bom dia,
Após uma boa pesquisa, tive uma ideia de outra função para minha automação residencial. Controlar sua TV/Multi-Canal/DVD/etc pelo celular/raspberry-pi.
Comecei a pesquisar sobre IR (infra-red), que todos os controles remotos são feitos com IR, e cada um com sua codificação. Então, só o que precisarei será de um transmissor IR para emitir os sinais, posicionado próximo aos aparelhos, e um receptor IR para codificar o raspberry-pi, irei identificar cada comando de cada controle, e armazenar, criando funções no pi.
Assim poderei ter todas as funções de todos os controles (TV/GVT/DVD) no mesmo aparelho, e ainda controlando pelo celular, afinal, perder o celular é mais difícil do que perder o controle remoto :-P
Enfim, agora preciso encontrar/comprar o receptor e o transmissor IR, e poderei começar meu projeto.
Bom, por hoje é só! ;-)
Até a próxima!

terça-feira, 13 de agosto de 2013

Série Projetos em Pi - O começo

Hoje decidi criar uma série de posts à respeito dos meus futuros projetos com o raspberry-pi.
Para quem nunca ouviu falar, o raspberry-pi, é um computador (uma placa) com processador ARM, focado no baixo custo, lá fora o preço é de 35 dólares, aqui no Brasil no entanto você não compra por menos de R$160,00. Ela roda linux (distribuição baseada no debian), contém saída HDMI, LAN, USB, e a alimentação é feita pela microUSB 5v 1A. Ela também possui vários GPIOs que seriam portas (pinos) programáveis via software.

Enfim, o primeiro objetivo, era automatizar minha Kombi, porém, como tenho que mexer muito ainda nela, vou usar primeiramente para automatizar minha residência.
E aqui irei postando os passos realizados para tal.
Todos os controles irei realizar por um smartphone (android) ou internet.
No começo do projeto, ele irá conter os seguintes itens:

-Controlar luzes (acender e apagar)
-Controlar músicas

E depois vou adicionando mais funções, caso alguém tenha idéias para funções de automação residencial, pode postar que se for viável eu tentarei colocar na pauta.

Por hoje é só, espero que em breve possa dar início à série.
Até a próxima!

App do Dia - CheapCast

CheapCast (ChromeCast em qualquer android)

O que faz?
CheapCast habilita qualquer aparelho com android a se tornar um ChromeCast, ou seja, fazer streaming de outro aparelho android ou de computador com chrome, simplesmente conectando pela wireless.
Apenas alguns aplicativos estão habilitados para isso por enquanto. Ao contrário do ChromeCast, o CheapCast está limitado à qualidade de vídeo do aparelho no qual ele está instalado, e não funciona ainda por abas.




Pontos positivos:
Como dificilmente o ChromeCast vai chegar ao Brasil, e se chegar, além de demorar no mínimo uns 3 meses, vai chegar num preço um "pouco" mais caro do que lá fora, é vantajoso para quem tem um aparelho sobrando, ou um celular e um tablet, ligar o aparelho na TV pelo HDMI, e assistir o que quiser direto na TV. Ele é fácil para configurar, pois o aparelho já está na rede wireless, e funciona sem maiores problemas.

O que poderia ser melhor?
Não vejo muita coisa a mais para o aplicativo, além do que eles já falaram que vão fazer, ou seja, implementar o que está faltando do ChromeCast, como fazer stream de abas do chrome, além disso, vai de aplicativo a aplicativo, aproveitar o melhor do sdk, e criar coisas novas para se usar.

Se você gostaria de um jeito fácil de assistir filmes e vídeos do youtube, direto na sua TV, essa é a melhor solução, como o aplicativo é de graça, você só precisará de um cabo HDMI para ligar na sua TV e aproveitar o melhor dos filmes.

Download: CheapCast Play Store

Keto Review - Android Studio


A Google anunciou o Android Studio, uma nova IDE para desenvolver aplicativos para android. Andei trabalhando bastante com ela, e tenho que dizer que estou muito satisfeito. Antigamente usava o Eclipse, o que dava muito mais trabalho para configurar e programar.

-Pontos Positivos:

  • Ele configura todo o sdk sozinho, sem ter trabalho para instalar e configurar.
  • Existe a opção de automatizar os imports, então quando você coloca uma função de outra classe que não está no import ele já faz isso automatico.
  • Você consegue ter o preview do Layout em várias telas diferentes ao mesmo tempo
  • Mais rápido para compilar/debugar
  • Constroi o Manifest automático
  • Cria activities (com layout, menu, etc) automático
  • Menos problemas que o Eclipse
-Pontos Negativos:
  • Ele só funciona com gradle, ou seja, para importar os projetos do eclipse dá um pouco de trabalho
  • Acho que só.

Basicamente é isso, no resto ele é bem parecido com o eclipse, o que facilita a migração de quem veio do eclipse.
Após vários dias usando ele diariamente, não voltaria pro eclipse de jeito nenhum.
Quem quiser experimentar o link para donwload: http://developer.android.com/sdk/installing/studio.html
Por hoje é só.
Em breve postarei mais dicas sobre o Android Studio.

Em breve estarei de volta!

Bom dia,
Para quem acompanha, fiquei um bom tempo afastado do blog, por motivos pessoais.
Mas agora quero voltar com tudo, fique ligado, em breve teremos reviews de aplicativos, aparelhos, etc..
Também colocarei um review do Android Studio, melhor IDE atual para se programar para android.
Enfim, em breve estarei votlando...
Obrigado à todos.