Сайт | Скачать | Видео | Wiki

Автор Тема: Bluez-tray  (Прочитано 111947 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #75 : 06 Июль 2017, 14:49:27 »
Фиг. Hcitool все не заменяет, локальное устройство поднимает hciconfig.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #76 : 06 Июль 2017, 16:07:03 »
 Вот, немножко поковырял, но мне не очень нравится
puppybt с 3 строки:
Код
#это будет работать некорректно при 2 и более Local bluetooth devices
if [ ! "`rfkill list | grep Bluetooth`" ]; then err_msg "Local bluetooth device not found"; exit 1; fi
if [ ! "`rfkill list | grep -A 2 Bluetooth | grep Hard | grep no`" ]; then
err_msg "Local bluetooth device hard blocked"; exit 1; fi
[ "`rfkill list | grep -A 1 Bluetooth | grep Soft | grep no`" ] || /usr/bin/rfkill unblock bluetooth

if ! [ $1 ]; then
HCI_DEV=`rfkill list | awk '/Bluetooth/ {print $2}' | tr -d \:`
if [ "`hcitool dev | grep -v Devices`" = "" ]; then
if ! hciconfig $HCI_DEV up; then
err_msg "Local bluetooth device not found"; exit 1
fi
fi
HCI_ADDR=`hcitool dev | awk '!/Devices:/ {print $2}'`
HCI_RFKILL=`ls -1 /sys/class/bluetooth/$HCI_DEV | grep rfkill`
else
HCI_DEV=$1
HCI_RFKILL=$2
fi
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #77 : 06 Июль 2017, 16:33:18 »
Rfkill показывает только то что аппаратно переключателем отключается, если блютус типа внешнего донгла, то в Rfkill его может не быть?

Например в стационарный комп вставили usb-bluetooth адаптер.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #78 : 06 Июль 2017, 17:12:20 »
Например в стационарный комп вставили usb-bluetooth адаптер.
У меня только такой и есть.
Код
# rfkill list bluetooth
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
Убрал addressfile из bluez-tray, посмотри.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #79 : 07 Июль 2017, 02:42:42 »
Убрал addressfile из bluez-tray, посмотри.
Ты не доверяешь своему коду? зачем переименовал под другое имя? хотя бы вручную перенес из моего файла исправления ошибок

Тесты:
1. Не прорисовывает значек в трее при запуске, видимо bluetooth_off
2. Меню правой кнопки мыши показывает только пока кнопка прижата, стоит отпустить - меню исчезает.
3. опрос ожидания запуска xorg в файле bluez.sh можно увеличить до 2-5 сек т.к. некритично.


-------------------------------------------------------

Код
sdptool browse $BDA > /tmp/${BDA}-info.lst || continue
 echo "<vbox>" >> /tmp/panel
 awk -F[\(\)] '/0x11/ {print $2}' /tmp/${BDA}-info.lst | sort -u | while read S
do
CH=$(grep -A4 $S /tmp/${BDA}-info.lst | awk '/Channel/ {print $2}')
case $S in
0x1101) echo "<frame Serial Port>
для bluez5 эту информацию надо брать из bluetoothctl подставляя адрес устройства в команду echo -e "info $BDA \nquit" |bluetoothctl

на данном этапе основной вопрос в том что надо чтобы уже был запущен bluetoothd запускать его из скрипта или bluez_tray запустит а в скрипте только проверять запущен ли bluetoothd?
« Последнее редактирование: 10 Июль 2017, 04:17:40 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #80 : 07 Июль 2017, 08:39:47 »
чтобы уже был запущен bluetoothd
У меня udev запускает bluetoothd.
в скрипте только проверять
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Bluez-tray
« Ответ #81 : 07 Июль 2017, 16:10:46 »
Возможно чем-то поможет...
В http://www.opennet.ru/opennews/art.shtml?num=46796 есть bluetooth-sendto (бинарник, про исходники мне не известно)
Сам не проверял (не на чем) и глубоко не ковырял

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #82 : 07 Июль 2017, 16:25:53 »
Возможно чем-то поможет...
В http://www.opennet.ru/opennews/art.shtml?num=46796 есть bluetooth-sendto (бинарник, про исходники мне не известно)
Сам не проверял (не на чем) и глубоко не ковырял
Т.к гномовская вещь, может тянут много по зависимостям. Ussp-push нормально отправлял.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #83 : 07 Июль 2017, 16:26:58 »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #84 : 07 Июль 2017, 16:30:31 »
GConf, dbus-glib, libhal - досвиданья.
Ребята помогайте лучше с кодом
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #85 : 07 Июль 2017, 16:40:10 »
GConf, dbus-glib, libhal
Саша, гораздо больше. Я пытался собрать.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #86 : 10 Июль 2017, 02:06:15 »
Цитата: Ddshurick
У меня udev запускает bluetoothd.
bluez.sh который на git bluez5 не запускает, строка закоментирована.
« Последнее редактирование: 10 Июль 2017, 02:17:28 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #87 : 10 Июль 2017, 04:37:40 »
НАШЕЛ /sys/kernel/debug/bluetooth/hci0
видимо отсюда hciconfig берет информацию об адаптере
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #88 : 10 Июль 2017, 09:29:17 »
НАШЕЛ /sys/kernel/debug/bluetooth/hci0
видимо отсюда hciconfig берет информацию об адаптере

----------------------------

Для копания в D-bus обязательно надо что-то типа d-feet, собрать самый свежий у меня не получилось, но сделал модуль для gtk-2 и Python2. запускать из /opt/d-feet/d-feet --local-dirs
Требует модуль Python-2.7.x
модуль позже выложу, сюда по размеру не проходит
« Последнее редактирование: 10 Июль 2017, 09:30:57 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #89 : 10 Июль 2017, 10:00:11 »
Рабочий запрос в dbus:
Код
dbus-send --system --print-reply --dest=org.bluez /org/bluez/hci0 org.freedesktop.DBus.Properties.Get string:org.bluez.Adapter1 string:Address 
выдаст адрес адаптера

Что-то похожее на твой пример с dbus, у меня выдает команда
Код
dbus-send --system --print-reply --dest=org.bluez / org.freedesktop.DBus.ObjectManager.GetManagedObjects
« Последнее редактирование: 10 Июль 2017, 10:04:53 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.