Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
wiki:мобильные_устройства [2012/09/21 18:07] создано |
wiki:мобильные_устройства [2014/01/21 19:16] (текущий) |
||
---|---|---|---|
Строка 5: | Строка 5: | ||
Данное руководство описывает способ синхронизации содержимого вашего мобильного устройства с большим братом, посредством Bluetooth. Создание этого скрипта меня сподвигла единственная полезная функция в приложении NokiaPCSuite((которая на наших Ubuntu не работает))- автоматическое сохранение отснятых фотографий при появлении устройства со включенным bluetooth в зоне видимости компьютера. Другими словами достаточно включить Bluetooth на телефоне и запускается сохранение фотографий. Данный скрипт позволяет сохранять не только фотографии, но и любые другие папки с внутренней или внешней памяти телефона. | Данное руководство описывает способ синхронизации содержимого вашего мобильного устройства с большим братом, посредством Bluetooth. Создание этого скрипта меня сподвигла единственная полезная функция в приложении NokiaPCSuite((которая на наших Ubuntu не работает))- автоматическое сохранение отснятых фотографий при появлении устройства со включенным bluetooth в зоне видимости компьютера. Другими словами достаточно включить Bluetooth на телефоне и запускается сохранение фотографий. Данный скрипт позволяет сохранять не только фотографии, но и любые другие папки с внутренней или внешней памяти телефона. | ||
====Установка дополнительных пакетов==== | ====Установка дополнительных пакетов==== | ||
- | Для работы скрипта необходим дополнительный пакет ''obexfs'' обеспечивающий создание из bluetooth устройства- файловой системы, которую можно подключить к файловой системе Ubuntu и ''bluez-compat'', обеспечивающий команды управления bluetooth устройством компьютера Устанавливаем | + | Для работы скрипта необходим дополнительный пакет ''obexfs'' обеспечивающий подключение файловой системы мобильного устройства к файловой системе Ubuntu и ''bluez-compat'', обеспечивающий управление bluetooth устройством компьютера через командную строку. Устанавливаем: |
<code>sudo apt-get install obexfs bluez-compat</code> | <code>sudo apt-get install obexfs bluez-compat</code> | ||
====Настройка==== | ====Настройка==== | ||
===Определение параметров мобильного устройства=== | ===Определение параметров мобильного устройства=== | ||
- | Для того, что бы монтировать мобильное устройство к файловой системе Ubuntu нужно знать два параметра- Bluetooth адрес устройства, и канал, по которому данное устройство предоставляет FTP доступ. И то и другое можно узнать введя в терминале команду | + | Для того, что бы монтировать мобильное устройство к файловой системе Ubuntu нужно знать два параметра- Bluetooth адрес устройства, и канал, по которому данное устройство предоставляет FTP доступ. И то и другое можно узнать введя в терминале команду (не забудьте включить bluetooth на телефоне и компьютере) |
<code>sdptool search FTP</code> | <code>sdptool search FTP</code> | ||
В ответ вы получите подобный вывод: | В ответ вы получите подобный вывод: | ||
Строка 33: | Строка 33: | ||
Version: 0x0100 | Version: 0x0100 | ||
</file> | </file> | ||
- | Если вывода на эту команду нет, то, вероятнее, всего ваш телефон не предоставляет доступ к своему содержимому по Bluetooth, можете закрывать эту страничку. | + | Если вывода на эту команду нет, то, вероятнее всего, ваш телефон не предоставляет доступ к своему содержимому по Bluetooth, можете закрывать эту страничку. |
Если вывод есть, то нас интересуют две строчки (запомним их): | Если вывод есть, то нас интересуют две строчки (запомним их): | ||
* Searching for FTP on 00:25:CF:C2:B6:D5 -последняя последовательность- это Bluetooth адрес устройства(далее в тексте он будет заменен на XX:XX:XX:XX:XX:XX) | * Searching for FTP on 00:25:CF:C2:B6:D5 -последняя последовательность- это Bluetooth адрес устройства(далее в тексте он будет заменен на XX:XX:XX:XX:XX:XX) | ||
Строка 43: | Строка 43: | ||
==Разрешаем пользователям использовать опцию allow_other== | ==Разрешаем пользователям использовать опцию allow_other== | ||
<code>sudo gedit /etc/fuse.conf</code> | <code>sudo gedit /etc/fuse.conf</code> | ||
+ | Нужно раскомментировать строчку ''user_allow_other'' | ||
==Меняем права на файл fusermount== | ==Меняем права на файл fusermount== | ||
- | <code>chmod 4755 /bin/fusermount</code> | + | <code>sudo chmod 4755 /bin/fusermount</code> |
===Настройка монтирования=== | ===Настройка монтирования=== | ||
==Создание точки монтирования== | ==Создание точки монтирования== | ||
Строка 53: | Строка 54: | ||
==Проверка монтирования== | ==Проверка монтирования== | ||
В принципе этого достаточно, что бы проверить схему и примонтировать мобильное устройство от root. | В принципе этого достаточно, что бы проверить схему и примонтировать мобильное устройство от root. | ||
- | <code>obexfs -bXX:XX:XX:XX:XX:XX -BYY /mnt/Nokia</code> | + | <code>sudo obexfs -bXX:XX:XX:XX:XX:XX -BYY /mnt/Nokia</code> |
Проверка результата | Проверка результата | ||
<code>sudo ls /mnt/Nokia</code> | <code>sudo ls /mnt/Nokia</code> | ||
- | Должно отобразиться содержимое мобильного устройства, часто это два диска- его внутренняя и внешняя память. Если содержимого нет и вы не знаете что делать, попробуйте написать в этой теме(ссылка на обсуждение статьи). | + | Должно отобразиться содержимое мобильного устройства, часто это два диска- его внутренняя и внешняя память. Если содержимого нет и вы не знаете что делать, попробуйте написать в [[http://forum.ubuntu.ru/index.php?topic=202292|этой теме]].\\ |
+ | Для отмонтирования используйте следующую команду: | ||
+ | <code>sudo fusermount -u /mnt/Nokia</code> | ||
==Создание скрипта монтирования== | ==Создание скрипта монтирования== | ||
Так как команда монтирования довольно странная, то её в таком виде запихнуть в /etc/fstab у меня не получилось, если хотите попробовать, то строчка должна выглядеть так: | Так как команда монтирования довольно странная, то её в таком виде запихнуть в /etc/fstab у меня не получилось, если хотите попробовать, то строчка должна выглядеть так: | ||
Строка 71: | Строка 74: | ||
<code>sudo gedit /etc/fstab</code> | <code>sudo gedit /etc/fstab</code> | ||
Добавляем в конец файла строчку<code>obexfs-mount /mnt/Nokia fuse users,noauto,allow_other,fsname=obexfs-mount 0 0</code> | Добавляем в конец файла строчку<code>obexfs-mount /mnt/Nokia fuse users,noauto,allow_other,fsname=obexfs-mount 0 0</code> | ||
+ | После этого можно монтировать мобильное устройство от пользователя, например командой<code>mount /mnt/Nokia</code>отмонтировать командой<code>umount /mnt/Nokia</code> | ||
+ | ====Cоздание скрипта-демона=== | ||
+ | Для автоматизации сохранения файлов с мобильного устройства, естественно, понадобится процесс, запускающийся в фоне и следящий за появлением вашего устройства в зоне видимости bluetooth-адаптера компьютера. Для синхронизации будем использовать ''rsync''. | ||
+ | Принцип действия: | ||
+ | * Каждые 60 секунд скрипт проверяет доступность устройства с указанным адресом; | ||
+ | * В случае доступность запускается копирование новых и измененных файлов из указанного пути в мобильном устройстве по указанному пути на ПК; | ||
+ | * После успешной синхронизации демон "засыпает" на 12 часов (43200 секунд), это сделано, чтобы он не начинал повторную синхронизацию каждый раз, пока вы не выключите где нибудь bluetooth. | ||
+ | <code>gedit ~/bin/mobile_sync.sh</code> | ||
+ | Содержимое файла: | ||
+ | <code bash mobile_sync.sh>#!/bin/bash | ||
+ | address="XX:XX:XX:XX:XX:XX" | ||
+ | while (sleep 60) | ||
+ | do | ||
+ | str=$(hidd --connect 00:25:CF:C2:B6:D5 2>&1) | ||
+ | if [[ $str =~ .*Success.* ]] ; then | ||
+ | mount /mnt/Nokia | ||
+ | notify-send "Синхронизация запущена" -i bluetooth | ||
+ | rsync -tr /mnt/Nokia/E:/Images/Камера/ /home/<имя_пользователя>/Изображения/Фото/ | ||
+ | umount /mnt/Nokia | ||
+ | notify-send "Синхронизация закончена" -i bluetooth | ||
+ | sleep 43200 | ||
+ | fi | ||
+ | done | ||
+ | </code> | ||
+ | <note>В данном примере выполняется сохранение всех новых фотографий с телефона Nokia N79 в папку пользователя. Для редактирования путей, просмотрите их в Nautilus, если вам необходимо добавить пути или ввести какие либо исключения, ознакомьтесь с ''man rsync'', в крайнем случае спросите в [[http://forum.ubuntu.ru/index.php?topic=202292|теме на форуме]].</note> | ||
+ | Делаем исполняемым | ||
+ | <code>chmod +x ~bin/mobile_sync.sh</code> | ||
+ | Добавляем скрипт в автозагрузку пользователя. | ||
===== Ссылки ===== | ===== Ссылки ===== | ||
- | * [[FIXME]] | + | * [[http://dev.zuckschwerdt.org/openobex/wiki/ObexFs| Wiki Obexfs]] |
+ | * [[http://forum.ubuntu.ru/index.php?topic=202292|Тема]] на форуме с обсуждением статьи | ||
- | {{tag>мобильные_устройства синхронизация}} | + | {{tag>мобильные_устройства синхронизация Bluetooth}} |