1. Задача
Попробуем обнаружить, включенные по близости bluetooth устройства, определим их имя и адрес. Если повезет то может и удастся переслать файл.
2. Необходимо установить
Использовать будем библиотеку pybluez и lightblue.
[code lang=python]sudo apt-get install python-bluez, lightblue[/code]
3. Оброз наявной информации
1) Что такое bluetooth почитаем здесь:
http://en.wikipedia.org/wiki/Bluetooth
2)Очень неплохая книга, правда на ангилйском языке: Bluetooth Essentials for Programmers
http://www.btessentials.com/examples/examples.html
http://www.ebook3000.com/Bluetooth-Essentials-for-Programmers_4851.html
3)Описание библиотеки lightblue:
http://lightblue.sourceforge.net/
4. Реализация
Вот есть простой пример:
#!/usr/bin/env python from bluetooth import * target_name = "k750i"; target_address = None nearby_devices = discover_devices() for address in nearby_devices: if target_name == lookup_name( address ): target_address = address break if target_address is not None: print "found target bluetooth device with address", target_address else: print "could not find target bluetooth device nearby"пере запуском необходимо отредактировать следующую строку:
target_name = "My Phone"My Phone — название Вашего телефона или bluetooth устройства. Перед запуском нужно конечно же что бы bluetooth на телефоне был включен и выставлена опция «видимый для всех»
Программа должна по идеи ответить:
found target bluetooth device with address 00:12:34:56:78:AB00:12:34:56:78:AB - собственно адрес Вашего усройства.
Немного модифицируем скрипт:
#!/usr/bin/env python from bluetooth import * print 'start of search' nearby_devices = discover_devices() for address in nearby_devices: print 'name of device = ', lookup_name( address ),'address = ',address print 'end'Очевидно, что discover_devices() ищет все включенные по близости устройства и сохраняет их в словарь, а последующий цикл выводит имена и 48 битные адреса устройств.
Результат выполнения:
start of search name of device = k750i address = 00:12:34:56:78:AB name of device = nokia 6300 address = 00:12:34:56:78:AB endТак искать bluetooth устройства получилось. Правда практичной задачу особо не назовешь. В следующей заметке попробую написать о передачи файла с ноутбука на телефон с помощью библиотеки lightblue, так же надо бы разобраться с функцией иследования сервисов bluetooth устройства.
No comments:
Post a Comment