Як підключитися до камери Sony через Wifi від Linux


9

Камери Sony мають підключення до Wi-Fi, але їх програмне забезпечення поширюється лише для Mac та Windows. (www.sony.net/pm/)

Як я можу підключитися до нього з Linux? (Зокрема, Fedora 22 <--> DSC-HX60)

Коли я вмикаю функцію Wifi push, камера повідомляє мені, що потрібно спочатку додати інформацію про пристрій через USB. Здається, це можливо лише із згаданого вище програмного забезпечення PlayMemories.

Хтось придумав, як це зробити в Linux?

Як не дивно, здається, що сама камера працює на BusyBox: / http://oss.sony.net/Products/Linux/DI/DSC-HX60V.html

ps Я б не використовував Wine або VM для запуску програмного забезпечення Windows.

Відповіді:


3

Ви можете перевірити цей альтернативний проект Playmemories . Один видатний розробник розробив зворотно розроблені власні частини модифікованого протоколу PTP / IP від ​​Sony, і встиг змусити його працювати з комбінацією користувальницького сценарію Python та GPhoto2 .

Спосіб передачі зображень Sony здійснюється через PTP / IP (протокол передачі зображень через протокол Internet). З моменту ввімкнення опції «Надіслати на комп’ютер» з камери вона починає трансляцію пакетів UDP UPNP по всій мережі на багатоадресну адресу (239.255.255.250:1900). Це також відоме як Простий протокол виявлення служби (SSDP). Одночасно камера запускає PTP / IP-сервер на порт 15740. Пакети UPNP містять усі дані про з'єднання. Додаток Playmemories (або sony-pm-alt.py) бачить ці пакети, а потім обертається натисканням на PTP / IP-сервери та передає зображення.

Sony вимагає декількох нестандартних пакетів для відображення на камері "Надсилання ...". Це також стосується функції автоматичного відключення після завершення. Без цього у вас є близько 2 хвилин, щоб перенести знімок до того, як камера зупиниться, і у вас немає підтвердження того, що воно працювало. Крім того, камера залишиться увімкнена, тому ви не можете піти пішки, інакше ваш акумулятор продовжить розряджатися. Я сподівався, що буде один магічний пакет, щоб увімкнути ці параметри, але, схоже, це не так. Роблячи серію tcpdumps, я зміг визначити, які пакети змушують його працювати. Я почав з понад 100 пакетів, які потрібні, і остаточно звузив його до 23 пакетів (оновлення: 4 пакети для початку та 3 пакети до кінця). Я також сподівався, що зможу надіслати ці пакети прямо з python, використовуючи інший сеанс tcp, ніж gphoto, але не пощастило. Тому, Я зрештою справді зламав код libgphoto, щоб зробити цю роботу. Тоді розробник libgphoto був досить люб'язним, щоб працювати зі мною і включати зміни, щоб зробити роботу без злому.

Я сам цього не перевіряв, але схоже, що @ falk0069 зробив роботу yeoman, що забезпечує вихідну точку підключення до камер Sony з підтримкою Wi-Fi.


0

Наступне стосується Sony A7, я думаю, він подібний до інших камер Sony, але DSC-HX60 не знаю.

У камери є 2 режими підключення Wi-Fi: (a) AP-режим ("Підключення до смартфона"), де камера працює як AP, до якого ви можете підключитися. Тільки надає доступ до JPG-файлів, а не до рамок. API є власницьким, але загальнодоступним ( https://developer.sony.com/develop/cameras/ ) (b) Інфраструктурний режим ("Підключення до комп'ютера"), коли камера підключається до AP та пересилає будь-які файли на комп'ютер на локальна мережа. Використовує деякий MTP-аромат (на основі PTP / IP).

Я припускаю, що ви маєте на увазі (б). Ви можете спробувати gphoto2, який повинен бути в змозі підключитися за допомогою PTP (однак, за 5 хвилин я намагався не встигнути працювати). Якщо ви визначите Linux для включення Android, ви можете використовувати raw2dng для копіювання необроблених файлів на телефон / планшет - він використовує власний стек PTP / IP (відмова від відповідальності: я автор).

Однак для (b), незважаючи ні на що, вам доведеться спочатку "спарити" камеру з комп'ютером за допомогою USB. Це фірмовий протокол, який реалізований лише в програмах Win / Mac компанії Sony. Все, що він робить, - це сказати камері зберегти MAC-адресу комп’ютера. У майбутніх з'єднаннях хост надсилає свою MAC-адресу як частину початкового запиту на з'єднання (не потрібно надходити з фактичного мережевого інтерфейсу).

raw2dng може приймати "парний" MAC-адресу як вхід, gphoto2, можливо, також (не впевнений - якщо ви хочете спробувати, це 16-байтний UID: 8 * 0x00 + 2 * 0xFF + MAC). Тож потенційно ви могли б з'єднати камеру з іншим комп'ютером Win / Mac, до якого ви могли б отримати доступ, а потім використовувати MAC-адресу цього комп'ютера для підключення зі свого вікна Linux ... (не перевірено)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.