Minhas pesquisas pelo painel de controle fĂ­sico de uma casa inteligente

Há muito tempo, tive a idéia de instalar um painel de controle, localizado próximo à porta da frente do apartamento / casa.


Existem várias opções para implementar essa ideia:


  • Painel de toque do operador PLC
  • comprimido;
  • tela sensĂ­vel ao toque conectada a um microcomputador.


Um requisito adicional que limitou imediatamente a escolha do dispositivo: a imagem da câmera externa deve ser exibida automaticamente no painel de controle quando o sensor de movimento é acionado (e apenas na presença de pessoas em casa).


1. Escolha de um dispositivo


Depois que os requisitos foram claramente formulados, os iPads que eu não sabia controlar externamente desapareceram imediatamente (é uma pena porque eles têm uma grande variedade de suportes de parede) e um dispositivo HMI como o Nextion , pois a imagem da câmera não pode ser exibida neles.



Uma das opções para o suporte de parede para iPad da Loxone


E embora dispositivos especializados tenham aparecido no mercado agora, como:



No entanto, o problema com o controle externo desses dispositivos, como eu o entendo, também permanece e não está completamente resolvido.


Além da parte do programa do painel, outra parte importante para mim é a ausência de uma “fazenda coletiva” ao prender fisicamente esse painel à parede, o que significa conectar pelo menos um cabo para alimentar o dispositivo e uma caixa de junção na parede de tamanho suficiente, no local de instalação deste painel, para ocultar colocação do painel da fonte de alimentação.



Caixa de montagem


2. A influência da “Black Friday” na escolha


Quando me lembrei novamente da minha ideia na véspera da Black Friday de 2019, decidi comprar algo barato para testar. Eu não queria me preocupar em soldar e conectar o painel de toque ao Raspberry Pi, e a opção caiu no Amazon Fire 7 Tablet por US $ 29,99 (cerca de 1.700 ₽). Eu raciocinei que, na oficina de baguetes, seria possível fazer o quadro apropriado do tamanho certo para colocar o tablet na parede.



Projeto de recuperação de vitórias em equipe (TWRP) no Amazon Fire 7 Tablet


Além disso, seguindo as instruções encontradas no recurso popular xda-developers.com, consegui desbloquear programaticamente o carregador de tablet Fire 7 e instalar o TWRP sem desmontagem física.



No processo de desbloqueio do Fire 7 (2019, mustang)


Quero observar que as instruções inicialmente pareciam intimidadoras, mas como resultado - tudo é descrito de maneira bastante transparente por lá. Como inicialmente não tinha planos de usar o Fire OS , instalei uma distribuição limpa do LineageOS Android sem aplicativos adicionais e sem serviços do Google, ou seja, sem instalar o GApps.



LineageOS no Amazon Fire 7 Tablet (2019, mustang)


Eu queria obter um dispositivo limpo com um mĂ­nimo de programas que nĂŁo esteja vinculado a nenhuma conta.


3. Controle remoto via ADB


Como eu tinha um tablet Android enraizado (com acesso total) em minhas mĂŁos, nĂŁo deveria haver problemas com a escolha de programas.
No entanto, eu queria usar algumas ferramentas padrão e, portanto, decidi pelo ADB . Isso funciona em todos os dispositivos Android em que essa funcionalidade não foi intencionalmente bloqueada pelo fabricante - basta clicar no item de menu “Build number” várias vezes e um novo item de menu “For Developers” será aberto, onde todas as configurações são feitas.


Como eu precisava reproduzir o fluxo de vídeo da câmera IP (no meu caso, RTSP , para isso, precisava de um reprodutor VLC e também do Google Chrome para exibição em tela cheia do painel inicial inteligente. Para fazer as manipulações necessárias com o tablet a partir do terminal do computador, execute os seguintes comandos.


Instale o aplicativo no tablet via linha de comando:
adb install VLC.apk
Ligue / desligue o tablet através da linha de comando:
adb shell input keyevent KEYCODE_POWER
Inicie a transmissão da câmera através da linha de comando:
adb shell am start -a android.intent.action.VIEW -d rtsp://login:pass@192.168.15.21:88/videoMain -t video/mp4
Por meio da linha de comando, inicie o painel de controle doméstico inteligente no navegador:
adb shell am start -a android.intent.action.VIEW -d http://192.168.15.10:8123/lovelace/default_view


Para funcionar corretamente, defino as configurações da tela estendida - quando os painéis de controle estão completamente ocultos.



Configurar o LineageOS


E, Ă© claro, desliguei o bloqueio da tela - sem isso, Ă© difĂ­cil automatizar alguma coisa.



Configurar o LineageOS


Aqui está um pequeno truque de vida, pois você pode encontrar uma lista de todos os aplicativos e comandos instalados para iniciá-los. Para começar, efetue login no console:
adb shell
e então faça:
pm list packages | sed -e "s/package://" | while read x; do cmd package resolve-activity --brief $x | tail -n 1 | grep -v "No activity found"; done
Isso listará todos os programas:



Executando um comando para exibir todos os programas no dispositivo


As informações obtidas podem ser usadas a seu critério e, por exemplo, iniciar o relógio:
adb shell am start -a android.intent.action.VIEW -d -n com.android.deskclock/.DeskClock


4. Assistente Doméstico


Tudo acima foi apenas uma preparação para automatizar a exibição da câmera e o painel de controle do software na tela do tablet. Eu tenho duas opções de câmera acima da porta da frente em lugares diferentes:


  1. Câmera Hikvision DS-2CD2463G0-IW com sensor de movimento integrado.
  2. A câmera dome é emparelhada com um sensor de movimento por microondas escondido acima do teto suspenso do corredor de acesso e conectado ao controlador Ethernet multifuncional MegaD-2561 . O sensor de movimento não é visível a olho nu, mas funciona. A câmera é uma instalação comum, não oculta.

Primeiro, vocĂŞ precisa habilitar o ADB pela rede:



Configurar o LineageOS


Depois disso, o tablet está pronto para o controle remoto.


Como uso o Hass.io , usei o complemento especial do ADB - Android Debug Bridge , que permite controlar qualquer dispositivo que suporte o controle do ADB. Na configuração deste complemento, ele indicou seu único dispositivo:


 { "devices": [ "192.168.15.24" ], "reconnect_timeout": 90 } 

Depois disso, é um pouco estranho, mas todos esses dispositivos são configurados no Assistente Doméstico como androidtv .


configuration.yaml
 media_player: - platform: androidtv name: Amazon Fire 7 host: 192.168.15.24 adb_server_ip: 127.0.0.1 

A etapa final é registrar a automação, que exibe a câmera na tela do tablet, fecha o aplicativo e, em seguida, exibe o painel de controle do Assistente de residência e também o fecha depois de um tempo:


automations.yaml
 ################################################### # # #  android  # # # ################################################### - alias: Amazon Fire 7 Mikhail trigger: - platform: state entity_id: binary_sensor.kamera_u_liftov_pir_alarm from: 'off' to: 'on' condition: - condition: state entity_id: device_tracker.7c_xx_5c_b5_xx_1b # state: 'home' action: - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent KEYCODE_POWER - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: am start -a android.intent.action.VIEW -d rtsp://login:pass@192.168.15.21:88/videoMain -t video/mp4 - delay: '00:00:30' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent KEYCODE_APP_SWITCH - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent DEL - delay: '00:00:01' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: am start -a android.intent.action.VIEW -d http://192.168.15.10:8123/lovelace/default_view - delay: '00:00:10' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent KEYCODE_APP_SWITCH - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent DEL - delay: '00:00:01' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: HOME 

O resultado resultante ainda não está na porta, mas no local de trabalho:



Vista traseira


Também removi o painel em ação, mas não consegui descobrir como cobrir todos os dados pessoais do vídeo, e muitos deles apareceram, então trago apenas a vista traseira :)


Sumário


Foi possível criar um painel de controle físico com as características especificadas. Dos principais custos - apenas um tablet barato. Resta resolver o problema com uma instalação de qualidade no local de uso, mas esse já é um tópico de construção.


Publicado por: Mikhail Shardin ,
4 de janeiro de 2020

Source: https://habr.com/ru/post/pt482800/


All Articles