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

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

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #60 : 04 Июль 2017, 17:24:53 »
Вот сделал парочку скриншотов.
Значит у тебя bt-connect запустился? Через 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
« Ответ #61 : 05 Июль 2017, 02:13:58 »
Через bluez-tray или консоль?
через консоль конечно.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #62 : 05 Июль 2017, 04:20:36 »
немного потестировал, есть мнение что не срабатывает главный цикл gtk_main(); вот код существующий:
Код
    gtk_timeout_add(interval, Update, NULL);
    Update(NULL);

    gtk_main();

return 0;

Я внес изменения:

Код
    gtk_timeout_add(interval, Update, NULL);
/*    Update(NULL);*/
    printf ("%s\n", "MAIN LOOP");
    gtk_main();

return 0;
Стало печатать MAIN LOOP но все равно программа завершается без ошибок. Если раскомментировать  Update(NULL); то до выполнения printf дело не доходит, программа завершается без ошибок.

Из всего вышеизложенного, я делаю вывод что функция Update выдает недостаточно информации для того чтобы gtk_main(); начала работать как положено. И что-то в Update слишком много exit(1) встречается, или это выход из функции а не из программы целиком?
« Последнее редактирование: 05 Июль 2017, 05:34:31 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #63 : 05 Июль 2017, 08:10:09 »
Стало печатать MAIN LOOP но все равно программа завершается без ошибок.
Правильно, ты же исключил функцию Update
Код
/*    Update(NULL);*/
Включай перед каждым exit сообщение, вот так:
Код
if ((fp = fopen(statefile,"r"))==NULL) { printf ("%s\n", "no statefile"); exit(1); } 
Моноблок 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
« Ответ #64 : 05 Июль 2017, 08:42:20 »
да выдает что нету addressfile, я так понимаю что это /sys/class/bluetooth/hci0/ и что-то я там не нахожу address
и в подкаталогах тоже нету.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #65 : 05 Июль 2017, 08:51:41 »
да выдает что нету addressfile, я так понимаю что это /sys/class/bluetooth/hci0/ и что-то я там не нахожу address
и в подкаталогах тоже нету.
Раньше ты писал, что name тоже нету. Интересно. Откуда тогда hciconfig эти данные берёт.
У меня:
Код
# udevadm info -a -p /sys/class/bluetooth/hci0
...........
 looking at device '/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/bluetooth/hci0':
    KERNEL=="hci0"
    SUBSYSTEM=="bluetooth"
    DRIVER==""
    ATTR{name}=="-0"
    ATTR{type}=="BR/EDR"
    ATTR{address}=="00:11:67:bf:03:0c"
............
Моноблок 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
« Ответ #66 : 05 Июль 2017, 08:56:29 »
Раньше ты писал, что name тоже нету. Интересно. Откуда тогда hciconfig эти данные берёт.
понятия не имею. в /sys/class/bluetooth я их не вижу либо они размазаны по отдельным файлам

отсутствие подобной информации не должно приводить к неработоспособности программы!!!! без всяких объяснений.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #67 : 05 Июль 2017, 09:31:02 »
!!!!
Саша, не кричи пожалуйста
понятия не имею
Вот и я понятия не имею. А в bluez5 отсутствует hciconfig :(
Моноблок 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
« Ответ #68 : 05 Июль 2017, 09:34:36 »
!!!!
КРИК ЭТО ВОТ а восклицательные знаки это вот !!!! три дня так-то уже бьюсь, неужели нет повода для волнений?
я хотел модуль для тестов сделать, точнее сделал но без нормально запускающейся программы трея он не нужен, т.к.

надо отладить запуск
А в bluez5 отсутствует hciconfig
вобще его не обязательно брать из bluez5
« Последнее редактирование: 05 Июль 2017, 10:47:57 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #69 : 05 Июль 2017, 18:25:26 »
Саша, попробуй вот такое ругательство, сработает ли у тебя
Код
dbus-send --system --dest=org.bluez --print-reply $(dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.ListAdapters|awk -F\" '/object path/ {print $2}') org.bluez.Adapter.GetProperties
method return time=1499274977.018769 sender=:1.0 -> destination=:1.8 serial=16 reply_serial=2
   array [
      dict entry(
         string "Address"
         variant             string "00:11:67:BF:03:0C"
      )
      dict entry(
         string "Name"
         variant             string "-0"
      )
      dict entry(
         string "Class"
         variant             uint32 0
      )
      dict entry(
         string "Powered"
         variant             boolean true
      )
      dict entry(
         string "Discoverable"
         variant             boolean false
      )
      dict entry(
         string "Pairable"
         variant             boolean true
      )
      dict entry(
         string "DiscoverableTimeout"
         variant             uint32 0
      )
      dict entry(
         string "PairableTimeout"
         variant             uint32 0
      )
      dict entry(
         string "Discovering"
         variant             boolean false
      )
      dict entry(
         string "Devices"
         variant             array [
            ]
      )
      dict entry(
         string "UUIDs"
         variant             array [
               string "00001000-0000-1000-8000-00805f9b34fb"
               string "00001001-0000-1000-8000-00805f9b34fb"
               string "00001112-0000-1000-8000-00805f9b34fb"
               string "0000111f-0000-1000-8000-00805f9b34fb"
               string "0000110c-0000-1000-8000-00805f9b34fb"
               string "0000110e-0000-1000-8000-00805f9b34fb"
            ]
      )
   ]
Моноблок 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
« Ответ #70 : 06 Июль 2017, 02:12:33 »
Саша, попробуй вот такое ругательство, сработает ли у тебя
я не понимаю что с этим делать. hciconfig работает и показывает то что нужно, к чему эти извраты с dbus


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

У меня нормально работает управление из командной строки bluetoothctl
примеры кода:
echo -e "help \nquit" | bluetoothctl показывает помощь и выключается
echo -e "show \nquit" | bluetoothctl показывает полную информацию о адаптере и выключается
« Последнее редактирование: 06 Июль 2017, 07:28:38 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #71 : 06 Июль 2017, 08:48:56 »
к чему эти извраты с dbus
Саша, не я это придумал. На разрабов блюза в инете уже неприличными словами ругаются. Мне польза от dbus совершенно непонятна.

Bluetoothctl: pair и connect не работают без предварительного scan. :( Разрабы просто издеваются. Придётся брать hciconfig от 4 версии.
Моноблок 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
« Ответ #72 : 06 Июль 2017, 08:53:27 »
pair и connect не работают без предварительного scan.
echo -e "scan \n pair 22342\n connect 12:12:12:12:12:12 \nquit" | bluetoothctl
должно работать, но нет...

может так:
Код
#!/bin/bash
bluetoothctl << EOF
power on
EOF
« Последнее редактирование: 06 Июль 2017, 10:26:20 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #73 : 06 Июль 2017, 09:17:53 »
Разрабы просто издеваются. Придётся брать hciconfig от 4 версии.
ничего они не издеваются, все логично пока что.
hciconfig есть и в 5 версии, убрано только начиная с 5.44, в более ранних все есть. hciconfig в любом случае нужен, т.к. без запущенного bluetoothd не работает bluetoothctl, а hciconfig нормально показывает информацию об адаптере независимо от bluetoothd.

Есть мнение что вместо hciconfig надо попробовать использовать везде hcitool

Я перенес скрипт bt-connect в репозитарий PuppyBT, теперь он называется puppybt и коммиты писать в него желательно.
« Последнее редактирование: 06 Июль 2017, 10:29:15 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #74 : 06 Июль 2017, 13:22:15 »
ничего они не издеваются, все логично пока что.
Саша, а ты поглубже вникни, когда вникнешь сразу сникнешь.
надо попробовать использовать везде hcitool
Ok
перенес bt-connect в репозитарий PuppyBT
Ok
Моноблок 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