Herramientas de usuario

Herramientas del sitio


informatica:hardware:perifericos:ipcam:xiaomi_dafang

¡Esta es una revisión vieja del documento!


Xiaomi Dafang

Cámara IP

  • Procesador principal: Ingenic T20
  • Wifi: Realtek 8192
  • LED Driver: ULN2803

Custom firmware

Primero hay que instalar el cargador de arranque:

  1. Descargar el binario del firmware para el modelo en cuestión
  2. Renombrarlo a demo.bin y copiarlo a una tarjeta microSD formateada en FAT32
  3. Con la cámara apagada, meter la tarjeta
  4. Mantener el botón de setup pulsado mientras encendemos la cámara.
  5. Mantener pulsado el botón otros 10 segundos.
  6. Esperar que se instale el firmware (más o menos 3 minutos).
  7. Apagar la cámara cuando empiece a moverse
  8. Quitar la tarjeta y encender la cámara

El LED azul aparecerá unos 5 segundos antes de que se empiece a mover la base de la cámara. Si eso no sucede, repetir los pasos.

Instalación del firmware:

  1. Clonar el repositorio de github.
  2. Copiar el contenido de firmware_mod a la raíz de la tarjeta microSD
  3. Copiar firmware_mod/config/wpa_supplicant.conf.dist a firmware_mod/config/wpa_supplicant.conf
  4. Modificar el fichero firmware_mod/config/wpa_supplicant.conf para adaptarlo a nuestra configuración WiFi
  5. Meter la tarjeta microSD y encender la cámara.
  6. Iniciar sesión a https://ip.camara con las credenciales root:ismart12

SSH

Credenciales por defecto:

  • Usuario: root
  • Contraseña: ismart12

Captura

Para obtener una captura de lo que está viendo la cámara:

curl --insecure https://usuario:contraseña@di.rec.cion.ip/cgi-bin/currentpic.cgi --output dafang-capture.jpg

Streaming

Cuando está activado el servidor RTSP H264 permite conectarse al streaming mediante:

Modo nocturno

Al no disponer de sensor de luz, el cambio a modo nocturno se hace por software. Se pueden configurar los parámetros que indican cuando se debe cambiar de modo desde ServicesSW night configuration.

Para poder probar y guardar los cambios, el servicio auto-night-detection debe estar detenido (ServicesServices)

La visión nocturna está funcionando si IR Led está activado e IR-Cut está apagado.

Si los parámetros no se guardan, podemos hacerlo a mano entrando por SSH a la cámara y editando el fichero /system/sdcard/config/autonight.conf

MQTT

Se configura desde el fichero /system/sdcard/config/mqtt.conf:

# Options for mosquitto_sub & mosquitto_pub
USER=user
PASS=pass
HOST=192.168.0.110
PORT=1883

# Define a location
LOCATION="home"

# Define device name
DEVICE_NAME="dafang"

# Define the base topic used by the camera
# send a message to myhome/dafang/set with the payload help for help.
# Results will be placed in myhome/dafang/${command} or topic/dafang/error - so please subscribe topic/dafang/# for testing purposes
TOPIC="$LOCATION/$DEVICE_NAME"

# Define an autodiscovery prefix, if autodiscovery is desired:
AUTODISCOVERY_PREFIX="hassio"

Luego hay que arracar los servicios mqtt-control y mqtt-status desde ServicesServices

Si todo ha ido bien, en Home Assistant, ConfiguraciónIntegraciones veremos la cámara con sus sensores, etc.

Telegram

Configuración en /system/sdcard/config/telegram.conf:

apiToken=""
userChatId=""

El chat id podemos obtenerlo tras haber “hablado” con nuestro bot yendo a https://api.telegram.org/bot[apiToken]/getUpdates

  • Ejecutable: /system/sdcard/bin/telegram
  • Registro: /tmp/telegram.log
  • Comandos: /system/sdcard/scripts/telegram-bot-daemon.sh

Podríamos añadir un nuevo comando en /system/sdcard/scripts/telegram-bot-daemon.sh:

# Función a ejecutar
restart() {
. /system/sdcard/scripts/common_functions.sh
$TELEGRAM m "reboot"
reboot_system
}
 
# Comandos y sus llamadas
respond() {
  cmd=$1
  [ $chatId -lt 0 ] && cmd=${1%%@*}
  case $cmd in
    /mem) sendMem;;
    (...)
    /reboot ) restart;;
    (...)

Ethernet USB

Se puede usar el puerto USB trasero para conectar una tarjeta de red Ethernet. Por ahora solo se soporta el driver ASIX

Para activar el soporte, hay que crear el fichero usb_eth_driver.conf en la ruta /system/sdcard/config/

Tras reiniciar, se deshabilitará la WiFi y se habilitará la conexión vía Ethernet.

Flash U-boot bootloader

Las mejoras de utilizar el cargador opensource U-boot en esta cámara:

  • Utilizar streaming en FullHD
  • Arrancar con kernel/rootfs personalizados desde la SD
  • Modificar los parámetros de arranque del kernel (uEnv.txt)
  • Flash la NAND utilizando este cargador de arranque.
  • Modificación de los parámetros a través de fw_printenv
  • Open source.
cd /system/sdcard/

# Copia del cargador de arranque original por si queremos restaurarlo más tarde:
dd if=/dev/mtd0 of=/system/sdcard/original-bootloader.bin

# Descarga del cargador de arranque adecuado al dispositivo:
wget https://github.com/Dafang-Hacks/uboot/raw/master/compiled_bootloader/NAME_OF_YOUR_BOOTLOADER_FILE.bin 

# Comprobación de la suma md5:
md5sum NAME_OF_YOUR_BOOTLOADER_FILE.bin 

# Borrado del cargador de arranque
flash_eraseall /dev/mtd0

# Escritura del nuevo cargador de arranque
dd if=/system/sdcard/NAME_OF_YOUR_BOOTLOADER_FILE.bin of=/dev/mtd0

# Renombramos el fichero 'uEnv.bootfromnand.txt' para habilitar el arranque desde la NAND.
mv uEnv.bootfromnand.txt uEnv.txt

Para comprobar que todo ha ido bien, reiniciamos la cámara:

  • LED amarillo: se usa la configuración por defecto.
  • LED azul: se usa la configuración de uEnv.txt

Actualización

Vía web o a través de SSH:

cd /system/sdcard/

./autoupdate.sh -v

Ejemplo de salida:

[root@DAFANG2:sdcard]# ./autoupdate.sh -v
Starting AutoUpdate
Getting list of remote files.
autoupdate.sh is up to date.
run.sh is up to date.
uEnv.bootfromnand.txt is up to date.
uEnv.bootfromsdcard.txt is up to date.
bin/README.md is up to date.
bin/audioplay is up to date.
bin/autonight is up to date.
(...)
No files to update.

Firmware original

Recursos

informatica/hardware/perifericos/ipcam/xiaomi_dafang.1610979741.txt.gz · Última modificación: por tempwin