Category Archives: Sem categoria

Como testar o envio de notificações para o Pushbullet

Neste texto eu vou usar o complemento Postman do Google Chrome para enviar notificações para dispositivos com o Pushbullet configurado para a minha conta. Enviar notificações para outras pessoas será abordado em outra oportunidade.

Você vai precisar do Access Token que é obtido na sua conta em Settings -> Account -> Create Access Token

Digamos que seu AccessToken seja

Com o Postman:

Selecione “POST” e coloque o endereço “https://api.pushbullet.com/v2/pushes”

Chrome_Postman_Pushbullet_detalhe1_automalabs.com.br

Em Headers, acrescente um key de nome Authorization com o conteúdo

Chrome_Postman_Pushbullet_detalhe2_automalabs.com.br

Em Body, selecione “raw” e na caixa de seleção à direita escolha JSON

Cole na caixa diretamente abaixo o texto a seguir:

{“type”: “note”, “title”: “Enviado pelo Postman”, “body”: “Sucesso!”}

Chrome_Postman_Pushbullet_detalhe3_automalabs.com.br

Você verá que em Headers foi acrescentado um key de nome “Content-Type” e valor “application/json”

Chrome_Postman_Pushbullet_detalhe4_automalabs.com.br

Clique em SEND. Você deverá receber uma resposta do tipo:

E seus dispositivos conectados à mesma conta deverão receber a notificação

Se a resposta for do tipo “Invalid Token” como esta:

e você tiver certeza de que o Token está certo, experimente limpá-lo de caracteres estranhos (invisíveis).
Para isso você pode colar o Access Token no notepad e salvar como ANSI. Se for esse mesmo problema você verá uma mensagem sobre a conversão. Confirme e o Token já deverá estar limpo.

Porém essa “limpeza” às vezes dá mais trabalho. Eu notei que a versão anterior do Postman, quando ainda se chamava “Postman REST client” não tem esse problema.

Postado em Sem categoria | Deixe um comentário (responderei para o seu e-mail)

Códigos do controle remoto do DVR ControlBR iDVR CBR-ST16H

controle_remoto_DVR_ControlBR_iDVR_CBR-ST16H_DSC02640_640_automalabs.com.br

Protocolo NEC de 32 bits

 

Postado em Sem categoria | Deixe um comentário (responderei para o seu e-mail)

Códigos do controle remoto do receptor de satélite ASAMÉRICA

Nota: Eu não anotei o modelo do receptor onde esse controle funcionava. Não sei se funciona com todos ASAMÉRICA.

Protocolo NEC de 32 bits

 

Postado em Sem categoria | Tags: | Deixe um comentário (responderei para o seu e-mail)

Códigos do controle remoto do receptor de satélite OI TV SD

Este controle remoto não tem a palavra “HD”. Os códigos do receptor HD são estes.

Protocolo RC6 de 36 bits

 

Postado em Sem categoria | Tags: | Deixe um comentário (responderei para o seu e-mail)

Códigos do controle remoto do receptor de satélite OI TV HD

Protocolo RC6 de 36 bits

 
 Controle_Remoto_OI_small_automalabs.com.br

 

Postado em Sem categoria | Tags: | Deixe um comentário (responderei para o seu e-mail)

Códigos do controle remoto lennox RC-109

Este remoto é usado em uma TV Lenoxx cujo modelo ainda não sei.

Protocolo NEC 32 bits

 

 

Postado em Sem categoria | Tags: | Deixe um comentário (responderei para o seu e-mail)

Códigos do controle remoto do receptor ISDB-T Aquário DTV-6000

Este controle não apenas é parecido com o do receptor ISDB-T comercializado pela Infokit. Os códigos são os mesmos.

Protocolo NEC de 32bits

 

 

Postado em Sem categoria | Tags: | Deixe um comentário (responderei para o seu e-mail)

Códigos do controle remoto do receptor de satélite GVT/VIVO

Até onde sei todos os aparelhos da GVT usam o mesmo controle remoto e a VIVO ao comprar a GVT só mudou o nome.

Protocolo RC6 de 36 bits

O quinto byte alterna (é um protocolo Philips) entre “A” (00001010) e “2” (00000010)

Controle_remoto_GVT_DSC02639_640_automalabs.com.br

Este controle tem uma particularidade. As rotinas de leitura da biblioteca IRremoteESP8266 interpretam sem problemas os comandos acima, mas se você usar esses comandos com a função sendRC6 da mesma biblioteca, o receptor da GVT ignora completamente. A mesma biblioteca mostra que o que ela está transmitindo não bate com o remoto original. Se você transmitir com 36 bits é completamente diferente. Se transmitir como 32 bits o código decodificado confere, mas há uma diferença.

Analisando bit por bit eu identifiquei essa diferença. É assim a forma real do código da tecla “zero”:

remoto_gvt_SignalPlot_key0

E criei uma nova função que chamei de sendRC6gvt.

Eu acrescentei essa rotina ao arquivo IRremoteESP8266.cpp e a chamada para ela em IRremoteESP8266.h. Eu estou usando a versão 1.x. Se você estiver usando a versão 2.x vai precisar fazer algumas mudanças.

Note que você deve chamar essa rotina alternativa dizendo que o código é de 32bits e não de 36.  Os outros 4 bits, do cabeçalho, minha rotina transmite “por fora”.

 

Postado em Sem categoria | Tags: | Deixe um comentário (responderei para o seu e-mail)

Como localizar automaticamente seu projeto na rede

Neste post, ao menos por enquanto, eu não vou dar nenhum código. Apenas explicar em linhas gerais o processo.

Considerações gerais

Os três protocolos mais usados para comunicação com seu projeto são UDP, TCP e HTTP. Cada um deles tem suas vantagens e desvantagens, mas o único realmente apropriado para localização é o UDP, porque é o único que pode enviar mensagens sem ficar esperando por uma resposta.

Digamos que sejam dois dispositivos: cliente e servidor.

  • No cliente, emita um broadcast (mensagem para 255.255.255.255) UDP na rede com uma mensagem do tipo: “onde você está”?. Todos os dispositivos no mesmo segmento de rede recebem o broadcast;
  • No servidor você deve responder essa pergunta de uma forma que o cliente saiba que a resposta vem do dispositivo certo. Você pode responder direto para o cliente ou fazer também um broadcast com a resposta. Por exemplo, se a consulta tiver a pergunta “MEUSERVIDOR?” a resposta pode ser “MEUSERVIDOR!” ou “MEUSERVIDOR1”, “MEUSERVIDOR2”, etc;
  • Na ponta que fez a consulta, extraia da resposta o IP de quem enviou;
  • Pronto, agora você pode usar esse endereço IP para se conectar ou enviar mensagens por outros protocolos, como TCP e HTTP.

Outras considerações

Isso não é gambiarra. Produtos comerciais usam esse mesmo método geral de localização automática. Por exemplo, câmeras IP;

Em condições normais, broadcasts não são propagados através de roteadores. Seria um pesadelo se fossem;

Ao fazer broadcast para 255.255.255.255 o servidor responderá mesmo que esteja em outra sub-rede lógica. Por exemplo, se o cliente tiver um IP do tipo 10.0.0.x e por alguma razão o servidor estiver configurado para 192.168.0.x , ainda assim haverá resposta para o broadcast, mas o cliente só a receberá se a resposta também for um broadcast. Isso é útil para localizar equipamentos mal configurados, mas você não poderá estabelecer uma conexão HTTP ou TCP enquanto não trouxer o servidor para a mesma sub-rede lógica que o cliente. Se quiser que o broadcast somente localize dispositivos na mesma sub-rede lógica, deve mandar a mensagem para o endereço de broadcast da sub-rede. Por exemplo, numa rede do tipo 10.0.0.x o endereço de broadcast é 10.0.0.255.

Sempre que seu servidor iniciar, é recomendável fazer o broadcast de sua identificação. Faça também com que o cliente esteja atento a esses broadcasts para detectar automaticamente a presença do servidor;

 

Postado em Sem categoria | Tags: | Deixe um comentário (responderei para o seu e-mail)

Ferramentas de criação de menus HTML

A melhor opção gratuita que encontrei até agora foi o Easy CSS Menu.

Prós

  • Realmente gratuito e aparentemente sem pegadinhas;
  • Gera menus profissionais, muito bonitos;
  • Gera código HTML e CSS fácil de editar;
  • Você pode usar esse código no seu projeto de automação.

Contras

  • Efeitos dependem de código javascript obfuscado.

Notas

1) Você pode tornar o código javascript “legível” usando o serviço online jsbeautifier.

2) O código javascript gerado impede o uso do evento onClick dos itens de menu. Como o código é obfuscado o jeito mais fácil de habilitar os eventos é remover a linha que carrega o arquivo .js.

Com isso você perde os efeitos, mas de resto tudo continua funcionando.

3) Alternativamente, você pode editar o código apagando todas as referências a .onClick. Mas comigo funcionou bastando dar uma busca pela função que começa com

e apagar o seguinte trecho que vem logo a seguir:

4) Você pode acrescentar manualmente (com copiar e colar em um editor de textos) itens ao menu, mas preste atenção a linhas como esta:

Nas configurações default o número no final da linha precisa corresponder ao número de itens do menu * 36, ou o gradiente ficará bagunçado. No exemplo são (216/36=) 6 itens.

 

 

Postado em Sem categoria | Deixe um comentário (responderei para o seu e-mail)