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

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

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #120 : 19 Июль 2017, 10:59:45 »
надо делать автообнаружение для внешних программ
Давно есть - $PATH, но при запуске от udev он другой, поэтому приходится писать полный путь. Кроме того, в PRA есть ссылка /usr/sbin -> /usr/bin, так что обязано работать. Можно конечно взять часть кода из pfkill.c, но зачем дублировать?
не ходи по скользкой дороге одного из здешних форумчан
В противоположную иду вроде-бы.
из трех букв
:D
Моноблок 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
« Ответ #121 : 19 Июль 2017, 11:02:46 »
Давно есть - $PATH, но при запуске от udev он другой
буду помнить
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #122 : 20 Июль 2017, 04:58:17 »
Код
unsigned int interval = 1000; /*update interval in milliseconds*/
может 3000-4000 выставить не так уж часто состояние меняется.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #123 : 21 Июль 2017, 03:51:21 »
чтобы работал sdptool надо запускать bluetoothd c параметром -С

-------------------
Выложил модуль для тестирования, только необходимые программы, puppybt пока умеет только показывать доступные сервисы на устройствах, кнопки желательно не нажимать :))
https://github.com/Pro-pra/PuppyBT/blob/master/puppybt-5.0-bluez5.45-pr01.pfs

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

Пора разбираться с парингом устройств, может сделать вкладку Pair и там для каждого устройства рисовать значек состояния и кнопку Pair\Unpair ? на вкладке устройства места под такую кнопку не особо много. Либо на вкладке устройства если нет паринга, то рисовать кнопку а если есть, то ничего не рисовать....

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

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #124 : 21 Июль 2017, 08:33:51 »
Пора разбираться с парингом устройств
Пора, но у меня паринг получается только с bluetoothctl :(
Моноблок 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
« Ответ #125 : 21 Июль 2017, 09:06:51 »
и это правильно.
пока мне нужно решение насчет кнопок или вкладки для паринга.

Вскрытие показало, что один фиг надо запускать сканирование чтобы устройство добавились в dbus, поэтому sdptool надо будет заменить на парсинг dbus.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #126 : 21 Июль 2017, 10:44:30 »
надо запускать сканирование чтобы устройство добавились в dbus
Это я уже заметил. Мне кажется, что dbus больше мешает, чем помогает. Зачем его придумали :( ?
Моноблок 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
« Ответ #127 : 21 Июль 2017, 10:50:33 »
Зачем его придумали :( ?
мне кажется что они пришельцы с Марса.

надо запускать сканирование чтобы устройство добавились в dbus
что-то нестабильно срабатывает,запускаю сканирование, один раз сработало, потом остановил и больше не запускается уже. Телефон свой вижу в dbus, удалить не могу, точнее удаление вроде проходит, но в дереве устройств я его все равно вижу - может d-feet косячит конечно, повторное удаление пишет что нечего удалять.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #128 : 21 Июль 2017, 11:11:23 »
мне кажется что они пришельцы с Марса.
Похоже.
Попробовал запустить puppybt
Код
# puppybt
Unable to start discovery. status 0x0c (Not Supported)
виноват btmgmt
Код
# btmgmt find
Unable to start discovery. status 0x0c (Not Supported)
Моноблок 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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #129 : 22 Июль 2017, 11:45:50 »
 Саша, у меня предложение, сделать запуск программы по клику из /usr/local/bin/defaultbtmanager.
 Bluez-tray, похоже, получился как графическая замена hciconfig. Пожалуй стоит вернуть вырезанную интернационализацию?
 Не получается избавиться от зависимость libbluetooth.so.3. Нужную функцию ba2str я нашёл в lib
Код
int ba2str(const bdaddr_t *ba, char *str) {
return sprintf(str, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X",
ba->b[5], ba->b[4], ba->b[3], ba->b[2], ba->b[1], ba->b[0]);
}
а вот с hci_dflagstostr ничего не получается.
Между делом собрал bluez-5.46, с libbluetooth, но он принципиальным ничем не отличается.
« Последнее редактирование: 22 Июль 2017, 11:57:42 от DdShurick »
Моноблок 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
« Ответ #130 : 22 Июль 2017, 14:02:34 »
Да локализацию вернуть и перевод строк на английском по умолчанию.

Btmngr надо бы протестировать тебе, почему он не срабатывает, должен ведь.

В чем суть запускаться как defaultbtmanager?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #131 : 22 Июль 2017, 14:18:03 »
В чем суть запускаться как defaultbtmanager?
Можно вписать любой BT-manager без перекомпиляции. Так, например, запускается defaultbrowser и другие. Так, по моему, удобнее.
От зависимости libbluetooth.so.3 избавился.
локализацию вернуть
Попробую.
Моноблок 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
« Ответ #132 : 22 Июль 2017, 14:25:36 »
Хорошо, но при отсутствии defaultbtmanager пытаться запустить puppybt. Ибо.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #133 : 22 Июль 2017, 15:41:45 »
 Собрал hcitool 5.46.
Код
hcitool - HCI Tool ver 5.46
Usage:
hcitool [options] <command> [command parameters]
Options:
--help Display help
-i dev HCI device
Commands:
dev Display local devices
inq Inquire remote devices
scan Scan for remote devices
name Get name from remote device
info Get information from remote device
spinq Start periodic inquiry
epinq Exit periodic inquiry
cmd Submit arbitrary HCI commands
con Display active connections
cc  Create connection to remote device
dc  Disconnect from remote device
sr  Switch master/slave role
cpt Change connection packet type
rssi Display connection RSSI
lq  Display link quality
tpl Display transmit power level
afh Display AFH channel map
lp  Set/display link policy settings
lst Set/display link supervision timeout
auth Request authentication
enc Set connection encryption
key Change connection link key
clkoff Read clock offset
clock Read local or remote clock
lescan Start LE scan
leinfo Get LE remote information
lewladd Add device to LE White List
lewlrm Remove device from LE White List
lewlsz Read size of LE White List
lewlclr Clear LE White List
lerladd Add device to LE Resolving List
lerlrm Remove device from LE Resolving List
lerlclr Clear LE Resolving List
lerlsz Read size of LE Resolving List
lerlon Enable LE Address Resolution
lerloff Disable LE Address Resolution
lecc Create a LE Connection
ledc Disconnect a LE Connection
lecup LE Connection Update

For more information on the usage of each command use:
hcitool <command> --help
Моноблок 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
« Ответ #134 : 22 Июль 2017, 15:59:51 »
Не вижу в нем смысла,  т.к. Придётся все равно регистрировать устройства в dbus, а оттуда уже вытащить можно любые данные.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.