Получение файлов из камер с поддержкой Wi-Fi
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
Автор темы - Сообщения: 928
- Зарегистрирован: 31 авг 2016, 13:38
- Решено: 34
- Благодарил (а): 288 раз
- Поблагодарили: 249 раз
- Контактная информация:
Получение файлов из камер с поддержкой Wi-Fi
Доброго времени суток. Появилась надобность получать снимки и видеозаписи из фотоаппарата Nikon COOLPIX S6500 посредством Wi-Fi. Производитель вроде бы выпускает только приложение WirelessMobileUtility. Есть какой-нибудь способ в LM18 расшарить фотоаппарат через Wi-Fi?
-
- Сообщения: 7069
- Зарегистрирован: 27 авг 2016, 20:03
- Решено: 30
- Откуда: Voskresensk
- Благодарил (а): 1368 раз
- Поблагодарили: 734 раза
- Контактная информация:
Re: Получение файлов из камер с поддержкой Wi-Fi
я, кстати, вроде тоже что-то подобное делал. С телефона управлял камерой... Но как-то о том, чтобы это делать с ПК даже мысли не было ))
-
Автор темы - Сообщения: 928
- Зарегистрирован: 31 авг 2016, 13:38
- Решено: 34
- Благодарил (а): 288 раз
- Поблагодарили: 249 раз
- Контактная информация:
-
- Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Получение файлов из камер с поддержкой Wi-Fi
Для NIKON COOLPIX P340 использую Airnef и скрипт, привязанный к горячим клавишам:
Включаю фотик и активирую в нем точку доступа, нажимаю горячие клавиши и получаю в каталоге "pathout" ранее не скачанные фото и видео файлы.
Код: Выделить всё
adapter="wlp2s0" #Имя wifi адаптера
nikonssid="NikonP34040005585" #SSID точки доступа NIKON
pathairnef="/home/demonlibra/.airnef/airnefcmd.py" #Путь к программе AIRNEF
pathout="/mnt/data/Airnef" #Путь для копирования файлов из NIKON
#Включаем wifi, если выключен
if [[ `nmcli radio wifi` = "disabled" ]]
then
yad --width=300 --form --timeout=5 --timeout-indicator=bottom --title="Wi-Fi выключен" --text="Включить Wi-Fi?"
bbb=$?
if [ $bbb = 0 ] || [ $bbb = 70 ]; then nmcli radio wifi on; fi
sleep 3
fi
timeout=60
#Сканируем сеть и подключаемся к NIKON
if [[ `nmcli radio wifi` = "enabled" ]] && [[ `iwgetid $adapter -r` != $nikonssid ]]; then
(for ((i=$timeout; i>1; i--)); do
nmcli device wifi rescan ifname $adapter
sleep 1
if [[ `iwgetid $adapter -r` != $nikonssid ]]; then nmcli dev wifi connect $nikonssid; fi
echo $(($i*99/$timeout))
echo "# Осталось $i секунд"
if [[ `iwgetid $adapter -r` = $nikonssid ]]; then i=0; fi
done)|zenity --progress --title="Ожидание подключения к NIKON" --auto-close --auto-kill --width=300
fi
#Запускаем airnef и копируем файлы из NIKON в каталог pathout
if [[ `nmcli radio wifi` = "enabled" ]] && [[ `iwgetid $adapter -r` = $nikonssid ]]
then
sleep 3
gnome-terminal --wait --geometry 90x25 -t $nikonssid --hide-menubar -- bash -c "python $pathairnef --outputdir $pathout; echo; echo --------------------------------; echo; echo \"Скачивание завершено\"; echo; read -p \"Нажмите ENTER чтобы закрыть окно\""
#Выключаем wifi, если питание от аккумулятора
if [[ `acpi -a` != "Adapter 0: on-line" ]]; then nmcli radio wifi off; fi
fi
легенда
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
Автор темы - Сообщения: 928
- Зарегистрирован: 31 авг 2016, 13:38
- Решено: 34
- Благодарил (а): 288 раз
- Поблагодарили: 249 раз
- Контактная информация:
Получение файлов из камер с поддержкой Wi-Fi
Кстати, можно доработать таким скриптом:
Bash
Код: Выделить всё
#!/bin/bash
# Скрипт раскладывает фотографии по каталогам вида гггг/мм, изменяет разрешение и качество в
# соответствии с заданными параметрами, а так же переименовывает изображения в формат
# гггг-мм-дд_чч-мм-сс.jpg
# На пример: /mnt/DCIM/IMG-20131014112354.jpg -> $HOME/Photo/2013/10/2013-10-14_11-23-54.jpg
#
# Данные о дате снимка ищутся в следующем порядке:
# 1) Exif данные (Exif.Photo.DateTimeOriginal и Exif.Image.DateTime)
# 2) В названии фотографии. Распознает различные варианты написания даты
# 3) Из даты создания файла
#
# При запуске без аргументов обрабатывает текущий каталог и все его подкаталоги. В качестве аргумента
# можно указать другой рабочий каталог-источник.
# НЕ удаляет оригиналы изображений!
# НЕ увеличивает разрешение
# Для работы необходим пакет exiv2 (sudo apt-get install exiv2)
##################################
src_dir=${1-`pwd`} # По умолчанию используется текущий каталог
dst_dir=$HOME/Photo # Каталог в который будут скопированны обработанные фотографии
quality=80 # Качество JPG изображения
resize=1600x900 # Размер после конвертации
# Ищем JPG файлы в указанной папке
#find "$src_dir" -iname "*.jpg" -print0 | sort | while IFS= read -r -d $'\0' file ; do
# Ищем JPG файлы в указанной папке и всех подпапках!
find "$src_dir" -iname "*.jpg" | sort | while IFS= read -r file ; do
# Пробуем взять дату из Exif.Photo.DateTimeOriginal или Exif.Image.DateTime
for photo_date in "Exif.Photo.DateTimeOriginal" "Exif.Image.DateTime" ; do
photo_date=$(exiv2 -g "$photo_date" -Pv "$file")
if [ -n "$photo_date" ] ; then # Если дата найдена, прекращаем перебор
break
fi
done
if [ -z "$photo_date" ] ; then # Если в exif дата не найдена ищем в названии файла
# Ищем дату в названии файла и приводим её к виду ггггммддччммсс
photo_date=$(basename "$file" ".jpg" | egrep -o -m1 [0-9]\{4\}\([-_:\ ]?[0-9]\)\{10\})
if [ -n "$photo_date" ] ; then
# Приводим дату к виду гггг:мм:дд чч:мм:сс для корректного добавляения в exif
photo_date=$(echo "$photo_date" | tr -d "\_\-\:\ " | sed 's/\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)/\1:\2:\3 \4:\5:/')
# Добавляем дату из названия файла в exif
exiv2 -M"add Exif.Image.DateTime Ascii "$photo_date"" "$file"
else # Если даты в названии не нашли, берем дату изменения (создания) файла
photo_date=$(date +"%Y:%m:%d %T" -r "$file")
#exiv2 -M"add Exif.Image.DateTime Ascii $photo_date" "$file"
fi
fi
# Приводим различные вариации даты к единому виду гггг мм дд чч мм сс
photo_date=$(echo "$photo_date" | egrep -o -m1 [0-9]\{4\}\([-_:\ ]?[0-9]\)\{10\} | tr -d "\_\-\:\ " | sed 's/\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)/\1 \2 \3 \4 \5 /')
# Разбиваем полученную дату (гггг мм дд чч мм сс) на фрагменты
# $1 - Год, $2 - Месяц, $3 - День, $4 - Час, $5 - Минута, $6 - Секунда
set -- $photo_date
mkdir -p "$dst_dir/$1/$2" # Создаем структуру папок гггг/мм
dest_file="$dst_dir/$1/$2/$1-$2-$3_$4-$5-$6.jpg" # Конечное имя файла
a=0;
while [ -f "$dest_file" ] ; do
md5src=$(md5sum "$file")
md5src=${md5src% *}
md5dst=$(md5sum "$dest_file")
md5dst=${md5dst% *}
if [ "$md5src" != "$md5dst" ] ; then
dest_file="$dst_dir/$1/$2/$1-$2-$3_$4-$5-$6_$a.jpg"
let "a+=1"
else
echo "Файл $dest_file уже существует";
break
fi
done
# Копируем фотографию, только если исходный файл новее существующего или отсутствует.
# При копировании сохраняется дата создания фотографии
cp -uvp "$file" "$dest_file"
# Изменяем качество и размер фотографий, переименовываем и копируем в папку назначения
# convert -quality "$quality" -resize "$resize"\> -verbose "$file" "$dest_file"
# Устанавливаем дату создания файла такую же как и дата в exif
# touch -t "$1$2$3$4$5.$6" "$dest_file"
done
exit 0
-
- Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Получение файлов из камер с поддержкой Wi-Fi
Полезно, если надо разобрать много фотографий за длительный период времени.
У меня задачи другие, но ваш код натолкнул на путь автоматизации сжатия после копирования фото. Так же убрал zenity и yad. Они там явно лишние.
Код: Выделить всё
#!/bin/bash
# Скрипт подключается к фотоаппарату через wifi и скачивает фото из видео из фотоаппарата программой airnef
adapter="wlp2s0" # Имя wifi адаптера
nikonssid="NikonP34040005585" # SSID точки доступа NIKON
pathairnef="/home/demonlibra/.airnef/airnefcmd.py" # Путь к программе AIRNEF
pathout="/mnt/data/Airnef" # Путь для копирования файлов из NIKON
quality=85 # Процент сжатия фото
# Включаем wifi, если выключен
if [[ `nmcli radio wifi` = "disabled" ]]
then
echo "Включаем Wi-Fi"
nmcli radio wifi on
sleep 3
fi
nmcli -p radio wifi
echo --------------------------------
timeout=60
# Сканируем сеть и подключаемся к NIKON
if [[ `nmcli radio wifi` = "enabled" ]] && [[ `iwgetid $adapter -r` != $nikonssid ]]; then
for ((i=$timeout; i>1; i--))
do
nmcli device wifi rescan ifname $adapter
sleep 1
if [[ `iwgetid $adapter -r` != $nikonssid ]]; then nmcli dev wifi connect $nikonssid; fi
echo "# Осталось секунд: $i"
if [[ `iwgetid $adapter -r` = $nikonssid ]]; then i=0; fi
done
fi
# Запускаем airnef и копируем файлы из NIKON в каталог pathout
if [[ `nmcli radio wifi` = "enabled" ]] && [[ `iwgetid $adapter -r` = $nikonssid ]]
then
sleep 3
python $pathairnef --outputdir $pathout
fi
# Сжатие новых фотографий
find "$pathout" -iname "*.JPG" | sort | while IFS= read -r file
do
date_change=$(date +"%Y%m%d%H%M%S" -r "$file") # дата изменения файла
date_photo=$(exiv2 -g "Exif.Photo.DateTimeOriginal" -Pv "$file") # дата создания фото
date_photo=`echo $date_photo | sed 's/\(:\| \)//g'` # дата создания фото без двоеточий и пробелов
difference=$(($date_change - $date_photo))
# Сравнение даты создания фото и даты изменения для определения была ли фотография сжата ранее
if [[ $difference < 3 ]]
then
# Сжимаем фото
convert -quality "$quality" -verbose "$file" "$file"
fi
done
echo; echo --------------------------------; echo; echo "Скачивание завершено"; echo; read -p "Нажмите ENTER чтобы закрыть окно"
#Выключаем wifi, если питание от аккумулятора
if [[ `acpi -a` != "Adapter 0: on-line" ]]
then
nmcli radio wifi off
fi
exit 0
легенда
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
- Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Получение файлов из камер с поддержкой Wi-Fi
Еще причесал код немного
Код: Выделить всё
#!/bin/bash
# Скрипт подключается к фотоаппарату через Wi-Fi и скачивает фото из видео из фотоаппарата программой Airnef
adapter="wlp2s0" # Имя Wi-Fi адаптера
SSID="NikonP34040005585" # SSID точки доступа фотоаппарата
pathairnef="/home/demonlibra/.airnef/airnefcmd.py" # Путь к программе AIRNEF
pathout="/mnt/data/Airnef" # Путь для копирования файлов из фотоаппарата
quality=85 # Процент сжатия фото
# Включаем wifi, если выключен
if [[ `nmcli radio wifi` = "disabled" ]]
then
echo "Включаем Wi-Fi"
nmcli radio wifi on
fi
nmcli -p radio wifi
echo --------------------------------
timeout=60
# Сканируем сеть и подключаемся к фотоаппарату
if [[ `nmcli radio wifi` = "enabled" ]] && [[ `iwgetid $adapter -r` != $SSID ]]; then
for ((i=$timeout; i>1; i--))
do
nmcli device wifi rescan ifname $adapter
if [[ `iwgetid $adapter -r` != $SSID ]]
then
check=`nmcli con show $SSID`
if [ $? = 0 ]
then nmcli --wait 1 con up $SSID # Проверяем существование ранее созданного соединения и соединяемся
else nmcli --wait 1 dev wifi connect $SSID # Или подключаемся с созданием нового соединения
fi
fi
echo "# Проверьте фотоаппарат и активируйте точку доступа. Осталось секунд: $i"
if [[ `iwgetid $adapter -r` = $SSID ]]; then i=0; fi
done
fi
# Запускаем airnef и копируем файлы из фотоаппарата в каталог pathout
if [[ `nmcli radio wifi` = "enabled" ]] && [[ `iwgetid $adapter -r` = $SSID ]]
then
sleep 3
python $pathairnef --outputdir $pathout
# Сжатие новых фотографий
find "$pathout" -iname "*.JPG" | sort | while IFS= read -r file
do
if [[ `identify -format '%Q' "$file"` > 95 ]]
then
# Сжимаем фото
echo; echo --------------------------------; echo
convert -quality "$quality" -verbose "$file" "$file"
echo; echo --------------------------------; echo;
fi
done
echo; echo --------------------------------; echo; echo "Скачивание и сжатие завершено"; echo; read -p "Нажмите ENTER чтобы закрыть окно"
fi
#Выключаем wifi, если питание от аккумулятора
if [[ `acpi -a` != "Adapter 0: on-line" ]]
then
nmcli radio wifi off
fi
exit 0
легенда
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
- Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Получение файлов из камер с поддержкой Wi-Fi
Кривые руки погубили любимый NIKON COOLPIX P340. На смену пришел CANON G9X MARK II.
Подружить с Airnef сходу не удалось.
1. Есть Bluetooth и Wi-Fi. И как всегда всё завязано на смартфоне со специальным приложением, которого мне в телефоне так не хватает. Вот на...зачем вообще может потребоваться отправлять фото в смартфон? Если кому-то это и надо, то точно не большинству и не каждый день.
2. В меню подключения к другим устройствам присутствует вариант ПК. Звучит обнадеживающе, если бы не одно волосатое но. Добавили они эту функцию ради картинки на коробке. Всех маркетологов кинуть в одну яму и сжечь.
В инструкции написано:
Интересно, что за де...мо у разработчиков в голове. При таком начале варианты с wine не хочется даже пытаться рассматривать.
В итоге, при выборе варианта Smartphone или PC попытки подключения Airnef приводили к разным ошибкам.
Несколько часов поиска привели на решение в теме форумаAirnef
Вроде должно подходить и для CANON G7X.
Если коротко, то надо в файле airnefcmd.py исключить строку 1137
На CANON`е для подключения выбираем вариант Smartphone.
Подружить с Airnef сходу не удалось.
1. Есть Bluetooth и Wi-Fi. И как всегда всё завязано на смартфоне со специальным приложением, которого мне в телефоне так не хватает. Вот на...зачем вообще может потребоваться отправлять фото в смартфон? Если кому-то это и надо, то точно не большинству и не каждый день.
2. В меню подключения к другим устройствам присутствует вариант ПК. Звучит обнадеживающе, если бы не одно волосатое но. Добавили они эту функцию ради картинки на коробке. Всех маркетологов кинуть в одну яму и сжечь.
В инструкции написано:
Код: Выделить всё
Издания Windows 7 «Начальная» и «Домашняя базовая» не поддерживаются.
...необходимо отдельно загрузить и установить пакет дополнительных компонентов Windows Media Feature Pack.
В итоге, при выборе варианта Smartphone или PC попытки подключения Airnef приводили к разным ошибкам.
Несколько часов поиска привели на решение в теме форумаAirnef
Вроде должно подходить и для CANON G7X.
Если коротко, то надо в файле airnefcmd.py исключить строку 1137
Код: Выделить всё
#mtpwifi.sendProbeRequest(g.socketEvents)
Код: Выделить всё
python airnefcmd.py --ipaddress "Айпи_Адрес_Камеры" --connecttimeout 30 --outputdir "Куда_Сохраняем_Фото"
Проверенные параметры
Вдруг важно
Настройки беспроводной связи -> Параметры Wi-Fi
NFC - Откл
Пароль - Откл
История подключения - Откл
Изменить размер отправки - Нет
Настройки беспроводной связи -> Параметры Wi-Fi
NFC - Откл
Пароль - Откл
История подключения - Откл
Изменить размер отправки - Нет
легенда
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
- Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Получение файлов из камер с поддержкой Wi-Fi
Не удержался и добавил сценарии на github
https://github.com/demonlibra/airnef
https://github.com/demonlibra/airnef
легенда
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей