Hace mucho tiempo, tuve la idea de instalar un panel de control, ubicado al lado de la puerta principal dentro del apartamento / casa.
Hay varias opciones para implementar esta idea:
- Panel táctil de operador PLC
- tableta
- Pantalla táctil conectada a una microcomputadora.

Un requisito adicional que limitaba inmediatamente la elección del dispositivo: la imagen de la cámara externa debería mostrarse automáticamente en el panel de control cuando se activa el sensor de movimiento (y solo en presencia de personas en el hogar).
1. Elección de un dispositivo
Después de que los requisitos se formularon claramente, los iPads que no sabía cómo controlar desde el exterior desaparecieron inmediatamente (es una pena porque tienen una gran selección de soportes de pared) y un dispositivo HMI como Nextion , ya que la imagen de la cámara no se puede mostrar en ellos.

Una de las opciones para el iPad Wallmount de Loxone
Y aunque los dispositivos especializados han aparecido en el mercado ahora, como:
Sin embargo, el problema con el control externo de estos dispositivos, según tengo entendido, también permanece y no se resuelve por completo.
Además de la parte del programa del panel, otra parte importante para mí es la ausencia de una "granja colectiva" al asegurar físicamente este panel a la pared, lo que significa conectar al menos un cable para alimentar el dispositivo y una caja de conexiones de montaje en la pared de un tamaño suficiente, en el sitio de instalación de este panel, para ocultar colocación del panel de alimentación.

Caja de montaje
2. La influencia del "Viernes Negro" en la elección
Cuando volví a recordar mi idea en la víspera del Black Friday 2019, decidí comprar algo barato para probar. No quería molestarme en soldar y conectar el panel táctil a la Raspberry Pi, y la elección recayó en la tableta Amazon Fire 7 por $ 29.99 (alrededor de 1,700 ₽). Pensé que en el taller de baguette sería posible hacer el marco apropiado del tamaño correcto para colocar la tableta en la pared.

Team Win Recovery Project (TWRP) en la tableta Amazon Fire 7
Además, siguiendo las instrucciones que se encuentran en el recurso popular xda-developers.com, logré desbloquear mediante programación el cargador de tabletas Fire 7 e instalar TWRP sin desmontaje físico.

En el proceso de desbloqueo de Fire 7 (2019, Mustang)
Quiero señalar que la instrucción inicialmente parecía intimidante, pero como resultado, todo se describe de manera bastante transparente allí. Como inicialmente no tenía planes de usar Fire OS , instalé una distribución Android LineageOS limpia sin aplicaciones adicionales y sin servicios de Google, es decir, sin instalar GApps.

LineageOS en la tableta Amazon Fire 7 (2019, mustang)
Quería obtener un dispositivo limpio con un mínimo de programas que no esté vinculado a ninguna cuenta.
3. Control remoto a través de ADB
Como tenía una tableta Android rooteada (con acceso completo) en mis manos, no debería haber problemas con la elección de los programas.
Sin embargo, quería usar algunas herramientas estándar y, por lo tanto, me decidí por ADB . Esto funciona en todos los dispositivos Android donde esta funcionalidad no fue bloqueada intencionalmente por el fabricante: simplemente haga clic en el elemento de menú "Número de compilación" varias veces y se abrirá un nuevo elemento de menú "Para desarrolladores", donde se realizarán todas las configuraciones.
Como necesitaba reproducir la transmisión de video desde la cámara IP (en mi caso RTSP , para esto necesitaba un reproductor VLC y también Google Chrome para la visualización en pantalla completa del panel de inicio inteligente. Para hacer las manipulaciones necesarias con la tableta desde la terminal en la computadora, ejecuta los siguientes comandos.
Instale la aplicación en la tableta a través de la línea de comando:
adb install VLC.apk
Encienda / apague la tableta a través de la línea de comando:
adb shell input keyevent KEYCODE_POWER
Inicie la transmisión desde la cámara a través de la línea de comando:
adb shell am start -a android.intent.action.VIEW -d rtsp://login:pass@192.168.15.21:88/videoMain -t video/mp4
A través de la línea de comando, inicie el panel de control del hogar inteligente en el navegador:
adb shell am start -a android.intent.action.VIEW -d http://192.168.15.10:8123/lovelace/default_view
Para que funcione correctamente, configuré la configuración de la pantalla extendida, cuando los paneles de control están completamente ocultos.

Configurar LineageOS
Y, por supuesto, apagué el bloqueo de pantalla; sin esto, es difícil automatizar algo.

Configurar LineageOS
Aquí hay un pequeño truco de vida, ya que puede encontrar una lista de todas las aplicaciones y comandos instalados para iniciarlos. Para comenzar, inicie sesión en la consola:
adb shell
y luego hacer:
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
Esto enumerará todos los programas:

Ejecutar un comando para mostrar todos los programas en el dispositivo
La información obtenida se puede utilizar a su discreción y, por ejemplo, iniciar el reloj:
adb shell am start -a android.intent.action.VIEW -d -n com.android.deskclock/.DeskClock
4. Asistente de casa
Todo lo anterior fue solo una preparación para automatizar la visualización de la cámara y el panel de control del software en la pantalla de la tableta. Tengo dos opciones de cámara sobre la puerta principal en diferentes lugares:
- Cámara Hikvision DS-2CD2463G0-IW con sensor de movimiento integrado.
- La cámara domo se combina con un sensor de movimiento de microondas oculto sobre el techo suspendido del corredor de acceso y conectado al controlador Ethernet multifunción MegaD-2561 . El sensor de movimiento no es visible a simple vista, pero funciona. La cámara es una instalación ordinaria, no oculta.
Primero debe habilitar ADB a través de la red:

Configurar LineageOS
Después de eso, la tableta está lista para el control remoto.
Como utilizo Hass.io , utilicé el complemento ADB especial : Android Debug Bridge , que le permite controlar cualquier dispositivo que admita el control ADB. En la configuración de este complemento, indicó su único dispositivo:
{ "devices": [ "192.168.15.24" ], "reconnect_timeout": 90 }
Después de eso, es un poco extraño, pero todos estos dispositivos se configuran en Home Assistant como androidtv
.
configuration.yaml media_player: - platform: androidtv name: Amazon Fire 7 host: 192.168.15.24 adb_server_ip: 127.0.0.1
El último paso es registrar la automatización, que muestra la cámara en la pantalla de la tableta, luego cierra la aplicación y luego muestra el panel de control del Asistente de inicio y también la cierra después de un tiempo:
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
El resultado resultante aún no está en la puerta, sino en el lugar de trabajo:

Vista trasera
También eliminé el panel en acción, pero no pude encontrar la forma de cubrir todos los datos personales en el video, y muchos de ellos resultaron, así que solo traigo la vista posterior :)
Resumen
Fue posible crear un panel de control físico con las características especificadas. De los principales costos: solo una tableta económica. Queda por resolver el problema con una instalación de calidad en el lugar de uso, pero este ya es un tema más de construcción.
Publicado por: Mikhail Shardin ,
4 de enero de 2020