Problema
Estou procurando um detector de movimento que possa ser configurado para ativar um tablet Android (4.3) com raiz e ativar a tela quando alguém passar por ele em um raio de talvez 2-3m.
Ideias
Definitivamente, estou disposto a comprar um dispositivo externo para isso e investir uma quantia (razoável) de dinheiro, seria apenas um que eu possa conectar de alguma forma ao tablet.
Talvez haja algum detector de proximidade do campo da automação residencial com uma qualidade de detecção decente (bom ângulo e distância configurável) que possa enviar notificações push do Android? Sou capaz de escrever um código do zero, se necessário, mas sou muito ignorante e inexperiente no campo de hardware, por isso não saberia como segurar um ferro de solda, por exemplo. ;)
fundo
A idéia aqui é transformar um tablet antigo em algum tipo de tela estacionária do painel, por isso não estou particularmente preocupado com o desgaste da bateria (é o fim da vida útil agora e a partir de agora será usado com o cabo de alimentação conectado até morre) ou uso intenso (a menos que falemos de 100% da CPU 24/7, o que provavelmente mataria em alguns dias).
Pesquisa anterior
Investiguei um pouco se isso poderia ser feito com os sensores existentes no dispositivo e acredito que isso não é possível.
O problema do uso do sensor de proximidade é que ele realmente retorna apenas se algo (supostamente o seu ouvido durante uma ligação) está bem próximo a ele (a alguns centímetros de distância). Mas estou procurando algo na área de 2-3m.
A outra idéia seria a câmera frontal, mas o problema parece ser que: a) a câmera em muitos dispositivos é desligada automaticamente quando a tela está desligada eb) apenas aplicativos em primeiro plano podem acessar a câmera, mas eu quero que o tablet mostrar outro aplicativo na detecção.
Eu dei uma olhada rápida em relação à ativação da tela em resposta a notificações por push e isso não parece muito difícil usando a API do PowerManager . Não tenho certeza da rapidez com que o dispositivo responderia a um empurrão durante o sono profundo, mas esse é um problema secundário.
Respostas:
Só para informar que tenho alguma solução simples, ele combina um aplicativo da loja de aplicativos chamado Motion Detector da jastrzab: https://play.google.com/store/apps/details?id=org.motion.detector Em seguida, instale um plug-in chamado Turn Screen: https://play.google.com/store/apps/details?id=org.jastrzab.plugin.screen
Funciona muito bem durante o dia ou com as luzes acesas. Atualmente, estou trabalhando em um sensor de movimento PIR externo que permitirá que o tablet acorde na escuridão. Até agora, o design simples usa apenas um sensor PIR barato e uma pequena luz led montada abaixo da câmera. Quando passo pelo PIR, aciona a luz do LED, permitindo que a câmera veja, o que aciona o movimento. Esperando descobrir como eliminar o LED e simplesmente executar o PIR diretamente no tablet usando o fone de ouvido ou USB no tablet. Sugestões bem-vindas.
fonte
Como mencionado por Dallas Partin aqui , existe um aplicativo gratuito chamado Motion Detector . Uso-o há algum tempo e posso dizer que ele funcionará com outros aplicativos em primeiro plano e com a tela bloqueada. Isso detectará movimento usando a câmera embutida, portanto é gratuito. Além disso, você não precisa fazer root no seu dispositivo para isso.
Você disse que não sabia como soldar, mas existe uma maneira muito simples de criar seu próprio sensor externo para isso. Dos dois métodos que conheço, mencionei um abaixo:
Método 1. Usando câmera embutida
Faça o download do Detector de movimento .
Faça o download do Tasker .
Baixar AutoStart
Inicie o aplicativo Tasker e toque nos três pontos no canto superior direito.
Toque em Preferências → UI (na parte superior), desmarque o Modo Iniciante .
Saia disso e toque na guia Vars na parte superior.
Toque
+
e nomeie % DISPLAYSTATE .Vá para a guia Perfis e toque em
+
→ selecione Evento → Tela → Tela ativada .Toque na Backtecla / botão. Toque em Nova tarefa , nomeie-a
Display On
.Toque em
+
→ Variáveis → Conjunto de variáveis . Toque no ícone de lápis ao lado de Nome .Toque em % DISPLAYSTATE e, onde diz Para , faça
1
.Repita "passo 11" a não ser que a mudança de tudo para Desligar LCD e mudança onde colocamos
1
a0
.Vá para a guia Cenas na parte superior.
Toque
+
e nomeie algo.Mantenha pressionado e arraste a linha tracejada e torne-a do tamanho da sua tela.
Toque no ícone de roda dentada no canto superior esquerdo para voltar.
Toque em Perfis e crie um novo usando o
+
botãoToque em Evento → Sistema → Intenção recebida .
Você pode ignorar tudo, exceto onde diz Ação . Aqui você precisa entrar
org.jastrzab.move.ACTION_GLOBAL_BROADCAST
(os limites são importantes). Se isso não funcionar, tente o seguinteorg.motion.detector.ACTION_GLOBAL_BROADCAST
.Toque no ícone de roda dentada (traseira) no canto superior esquerdo. Aparecerá com um menu.
Toque em Nova tarefa e dê um nome a ela.
Dentro dessa tarefa, toque
+
novamente e clique em Cena → Mostrar cena .Onde está escrito Nome , toque no ícone da lupa (não no lápis) e toque no nome da cena .
Agora, onde diz Exibir como , "Atividade, Tela inteira, Sem barra".
Role para baixo e ele dirá se . Toque no ícone de lápis e selecione % DISPLAYSTATE .
Toque no botão no meio e mude para Igual a. Na caixa direita, digite
0
.Toque
+
e execute Tarefa → Aguardar .Altere MS para algo entre 25 e 100.
Toque em
+
→ Cena → Destruir cena e pressione o ícone de lupa em Nome . Selecione sua cena.Agora volte para a tela principal do aplicativo Tasker .
Entre no aplicativo Motion Detector e verifique se está desativado. Caso contrário, toque no círculo azul.
Vá para o final e, onde está Enviar , verifique se está Ativado .
Volte ao topo e toque no círculo azul novamente para ligá-lo.
Abra o Auto Start e verifique se ele diz On .
Toque em Adicionar → Mostrar todas as aplicações → Detector de movimento .
Marque "ir para a tela inicial após o início automático" e altere "iniciar atraso" para
5
.Isso tem funcionado perfeitamente para mim!
Além disso, observe que no Detector de movimento existem configurações que você pode alterar quando o Detector de movimento está desativado . Um dos mais importantes é a câmera. Se você estiver tendo problemas, verifique se a câmera está configurada para frente .
Você disse que queria um sensor externo que pudesse detectar a distância dentro de 2 a 3 cm, mas se você preferir uma solução mais sensível, isso é muito confiável e relativamente fácil de configurar! Mas se você ainda tem o coração em um sensor externo, eu ficaria mais do que feliz em lhe dar algumas instruções para isso!
Boa sorte e espero que isso ajude você!
fonte
org.motion.detector.ACTION_GLOBAL_BROADCAST
. Consulte a documentação aqui: programy.jastrzab.com/… e a discussão aqui: reddit.com/r/tasker/comments/27bvf8/help_motion_detector_app/… O exemplo acima ainda funciona; basta mudar o nome do pacote pelo novo neste comentário.Não sei se isso combina com você, mas que tal uma tomada com sensor de movimento? Quando detectar movimento, o tablet conectará a energia e a tela será ligada. Além disso, com o Tasker você pode configurar muito mais coisas para detectar quando detectar movimento.
fonte
Eu odeio dizer isso pessoal, mas tudo o que fiz foi anexar meu feed do meu PIR no teto (que já controla os leds no chuveiro) ao meu androide. Quando alguém entra, o telefone liga e Bob é seu tio.
fonte
Eu estava procurando uma maneira de ter a tela do tablet quando chego perto do Tablet, que está montado na parede, para monitorar minha casa. Assim como o termostato Nest. Recentemente, comprei a placa do sistema de alarme Konnected e o módulo wifi da Nate Clark. Ele sugeriu que eu usasse www.ozerov.de/fully-kiosk-browser/ Há uma pequena taxa de licença. Funciona bem para a finalidade pretendida. Estou usando o Actiontiles integrado ao meu Smartthings. Meu tablet é montado na parede com fonte de alimentação contínua.
fonte
Você pode querer conferir o Wimoto . Eles são pequenos e baratos, sensores bluetooth que possuem alguns sabores (temperatura, detecção de movimento, detecção de líquidos etc.). Eles dizem que existe um aplicativo para Android e que haverá um SDK lançado em breve.
Então, novamente, se você quiser algo mais simples (e o tablet tiver uma câmera frontal), basta usar um aplicativo. Por exemplo (logo após uma pesquisa rápida, por isso não a usei), o Camera Trigger .
Espero que isto ajude.
fonte
O único sensor de movimento acessível e razoavelmente acessível que eu encontrei é o Belkin WeMo Motion .
Ian McCracken criou um SDK não oficial para o WeMo chamado Ouimeaux ( docs , PyPi ).
Meu plano atual é escrever um pequeno aplicativo em execução em um Raspberry Pi que use Ouimeaux para responder a um sinal do WeMo Motion e enviar uma notificação por push para o dispositivo Android. E, em seguida, um aplicativo Android ainda mais simples, que responde à notificação por push, ativa o dispositivo e liga a tela. (O último também pode ser possível com o Tasker.)
Como uma segunda etapa, as partes relevantes do Ouimeaux poderiam ser reescritas em Java e, então, seria possível conectar-se diretamente do aplicativo ao WeMo, tornando supérfluo o Raspberry Pi.
Sugestões de melhoria são bem-vindas, é claro. Em particular, se você conhece uma maneira existente de ativar uma tela do Android a partir de um script Python / shell / acionar a notificação por push. Isso parece trivial demais para exigir a criação de um novo aplicativo.
fonte
adb
com algo como Wakey Droid .