За 11$ на AliExpress було куплено безкорпусну мережеву IP камеру із кабелем 720P. Було обрано фокусну відстань 2.8mm яка деє кут огляду ~100 градусів, а також є наявний механічний IR фільтр.
Якість пайки може бути. Купляючи перевіряйте щоб кабель був в наявності, бо конектори з шагом 0.64 проблематично обжати.
Процесор IPC XM510A1. Ідентифкатор у прошивці 23.
Прошивка V5.00.R01.00023650.10010.248201.00000 2017/7/18 16:33:56.
Остання камера прийшла із V5.00.R01.00023650.10010.249201 2017/5/31 17:13:5
Включає:
u-boot.bin.img - 194 560 byte u-boot.env.img - 65 600 byte, не перезаписується, мість налаштувнаня mac custom-x.cramfs.img - 262 144 romfs-x.cramfs.img - 3 604 480 user-x.cramfs.img - 2 621 440 web-x.cramfs.img - 1 310 720
Камера ідентифікується 50X10_32M.
Споживання 160 мА (на прошивці 249201) при 12 вольтах (2 вт). Гріється досить сильно. На прошивці 248201 споживання 120 мА (~1,5 Вт). Нагрів помірний: 55 градусів.
Ціль живити камеру від свинцевого акумулятора із БЖ UPS Mean Well PSC-35. Включено на тест на 15 вольт. Споживання майже не змінилося. Камера має DC-DC перетворювачі.
У роз’ємі який йшов штатно, виявилися виведені 7,8 (–) і 4,5 (+) контакти для пасивного POE. Розпіновка на фото нижче:
⚪ GND ⚪ ЗЕЛ ⚪ VIN ⚪ LED – ⚪ LED + ⚪ БІЛ-ЗЕЛ ⚪ СИН ⚪ БІЛ-СИН
Кабель скоротив, а також зафіксував у корпусі термоклеєм. Додано перемичку між GNG і LED-.
При підключенні до RB750UP автоматично подається живлення на порт, діод статусу засвічується червоним.
У RouterOS відображається споживання у mA і потужність по порту.
Ціль: отримати скріншот із камери віддалено. Способи:
1. Через HTTP за лінкою. Віддається пуста відповідь. Не підходить.
http://192.168.1.10/webcapture.jpg?command=snap&channel=1
2. Через RTSP.
rtsp://192.168.1.10:554/user=admin&password=&channel=1&stream=1.sdp?real_stream
далі можна зробити скріншот через ffmpeg.
ffmpeg -ss 2 -i "rtsp://192.168.1.10:554/user=admin&password=&channel=1&stream=1.sdp?real_stream" -y -f image2 -qscale 0 -frames 1 /var/www/tmp/screenshot.jpeg
Замітка по стрімах: камера віддає 1 канал, у якому є стріми. 0 стрім віддає потік для мобільних (D1 або CIF), а 1 стрім віддає нормальне розширення (720P). На DVR H264 можна обрати тільки канал, стрім не можна, рекордер пише 0 стрім у якому погана якість. Те саме у XMEye у режимі SD нормальна якість, а у HD якість для мобільних.
3. Через сервіс XMEye. Камера генерує код, за яким можна підключитися через хмарний сервіс. Пароль користувача admin.
5a230ca27a096896
На даний час не досліджувався.
Напис на платі BLK510A-S1-38×38-IM
Шлейф 24 контактний матриці 0218165556 К-2016.05.25.
Мікросхема мережі MII/RMII IC+ IP101GR.
Флеш пам’ять 25Q64JVSIQ. Є роз’єм Serial не розпаяний.
Конфігуратор камер DeviceManage можна завантажити на cctvcd.com.
Гарна мульти вендорна тапка для дослідження камер: ONVIF Device Manage.
Підключення UART на 115200 до 6 пінового роз’єму (розпіновка):
⚪ +3.3V ⚪ ? ⚪ RX ⚪ TX ⚪ GND ⬜ ?
При завантаженні випльовує U-Boot:
U-Boot 2014.04 (Dec 16 2016 - 14:37:27) CPU: XM510 DRAM: 32 MiB In: serial Out: serial Err: serial Net: dwmac.20040000 Press Ctrl+C to stop autoboot ### CRAMFS load complete: 1640396 bytes loaded to 0x81000000 ## Booting kernel from Legacy Image at 81000000 ... Image Name: Linux-3.0.101 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1640332 Bytes = 1.6 MiB Load Address: 80008000 Entry Point: 80008000 Loading Kernel Image ... OK Starting kernel ... Uncompressing Linux... done, booting the kernel.
Вивід змінних:
U-Boot> printenv baudrate=115200 bootargs=mem=18M console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mt dparts=xm_sfc:256K(boot),3520K(romfs),2560K(user),1280K(web),256K(custom),320K(m td) bootcmd=cramfsload;bootm 0x81000000 bootdelay=1 cramfsaddr=0x40000 da=mw.b 0x81000000 ff 800000;tftp 0x81000000 u-boot.bin.img;sf probe 0;flwrite dc=mw.b 0x81000000 ff 800000;tftp 0x81000000 custom-x.cramfs.img;sf probe 0;flwr ite dd=mw.b 0x81000000 ff 800000;tftp 0x81000000 mtd-x.jffs2.img;sf probe 0;flwrite dr=mw.b 0x81000000 ff 800000;tftp 0x81000000 romfs-x.cramfs.img;sf probe 0;flwri te du=mw.b 0x81000000 ff 800000;tftp 0x81000000 user-x.cramfs.img;sf probe 0;flwrit e dw=mw.b 0x81000000 ff 800000;tftp 0x81000000 web-x.cramfs.img;sf probe 0;flwrite ethact=dwmac.20040000 ethaddr=00:12:16:cd:c7:02 ipaddr=192.168.1.10 netmask=255.255.255.0 serverip=192.168.1.107 stderr=serial stdin=serial stdout=serial telnetctrl=0 tk=mw.b 0x81000000 ff 800000;tftp 0x81000000 uImage; bootm 0x81000000 ua=mw.b 0x81000000 ff 800000;tftp 0x81000000 upall_verify.img;sf probe 0;flwrite up=mw.b 0x81000000 ff 800000;tftp 0x81000000 update.img;sf probe 0;flwrite verify=n Environment size: 1187/65532 bytes
Дійшли, для чого підключався по UART: хтось змінив пароль, тому стер розділ mtd. Програми ResetUser, Onvif Device Manager, Batch ConfigTool результату не дали.
U-Boot> sf erase 0x7b0000 0x50000 FLASH_ERASE-------[100%] SF: 327680 bytes @ 0x7b0000 Erased: OK
Вивід довідки, немає команди копіювання розділу на tftp, не зміг переглянути старий пароль, а підпаюватися до SPI було впадло:
U-Boot> help ? - alias for 'help' base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy cramfsload- load binary file from a filesystem image cramfsls- list files in a directory (default /) crc32 - checksum calculation dhcp - boot image via network using DHCP/TFTP protocol echo - echo args to console editenv - edit environment variable env - environment handling commands flwrite - SPI flash sub-system go - start application at address 'addr' help - print command description/usage imxtract- extract a part of a multi-image itest - return true/false on integer compare loadb - load binary file over serial line (kermit mode) loadx - load binary file over serial line (xmodem mode) loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing address) mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables setexpr - set environment variable as the result of eval expression sf - SPI flash sub-system sleep - delay execution for some time source - run script from memory tftpboot- boot image via network using TFTP protocol version - print monitor, compiler and linker version
Не рекомендую до покупки. Краще пару доларів доплати і взяти з корпусом і на потужнішому процесорі.
Юрій Р. ◯ 0009-0005-3702-9223. (2020). IP камера за 11$. Блог UA ID. Взято з: https://blog.uaid.net.ua/ipc-xm510a1