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

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

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

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #195 : 10 Август 2017, 05:33:17 »
<action>\"UNPAIR $BDA &\"</action>
нет, не годится.
в файл /tmp/panel будет же записано UNPAIR $BDA и когда придет время нажатия на кнопку, переменная $BDA будет иметь значение равное последнему добавленному устройству.

Надо чтобы в /tmp/panel записался код \"UNPAIR 12:12:34:45:56:67 &\" т.е. со значением переменной $BDA на тот момент.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #196 : 10 Август 2017, 07:06:06 »
будет же записано UNPAIR $BDA
Нет, "UNPAIR 12:12:34:45:56:67 &", я проверял.
/tmp/panel (part):
Код
...............
<frame>
<hbox>
<text>
    <label>Paired</label>
</text>
<button yes>
  <action>"PAIR BC:B1:F3:46:7C:44 &"</action>
</button>
</hbox>
</frame>
.............
« Последнее редактирование: 10 Август 2017, 07:58:02 от 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
« Ответ #197 : 10 Август 2017, 10:58:33 »
исправил ошибки в коде. Накосячил жестоко. Добавил заготовки для rfcomm

так получилось что bluetoothd запускался из скрипта puppybt
и в такой ситуации он не дает скрипту работать пока его не прибьешь по ctrl+C, надо наверное как-то по другому запускать?
« Последнее редактирование: 10 Август 2017, 11:00:55 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #198 : 10 Август 2017, 13:53:37 »
надо наверное как-то по другому запускать?
У меня этим заведует udev:
/lib/udev/rules.d/97-bluetooth.rules:
Код
# Run helper every time a Bluetooth device appears
# On remove actions, bluetoothd should go away by itself
ACTION=="add", KERNEL=="rfkill?", ATTR{type}=="bluetooth", RUN+="bluez.sh %s{name} %k"
/lib/udev/bluez.sh:
Код
#!/bin/sh
#без аргументов не запускаем
[ $1 ] || exit
#запускаем bluetoothd если не запущен
[ "$(/bin/pidof bluetoothd)" ] || /usr/sbin/bluetoothd &
#ждём иксы
until [ -f /tmp/dsp ]; do /bin/sleep 1; done
#добавляем переменные
export DISPLAY=$(/bin/cat /tmp/dsp)
export $(/bin/grep LANG= /etc/profile)
/usr/bin/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
« Ответ #199 : 10 Август 2017, 14:39:28 »
Да это я помню, но в скрипте тоже есть код проверки и запуска, и раз уж он есть - хотелось бы чтоб работал. Мож через exec или sh запуск вписать?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #200 : 10 Август 2017, 15:59:13 »
 Добавил в bluez-tray возможность поднимать интерфейс по команде "bluez-tray $HCI_DEV up". Сильно покоцал начало puppybt, посмотри, приемлемр ли это для тебя?
Моноблок 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

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #201 : 10 Август 2017, 19:32:18 »
 Выжал из inqury_info кажется всё
Код
# ./scan
Scanning ...
BC:B1:F3:46:7C:44 C3520
01 00
[ Net Capture Obex Phone ] Cell Phone
20:A9:0E:72:AF:9C ALCATEL ONETOUCH 2012D
01 00
[ Net Capture Obex Audio Phone ] Cell Phone
00:11:67:6A:05:5D SPARKLE
01 00
[ Render Audio ] Loudspeaker Audio/Video
По порядку:
bdaddr name
pscan_rep_mode pscan_mode
dev_class
Что из этого полезного можно поиметь?
Моноблок 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
« Ответ #202 : 11 Август 2017, 03:08:39 »
Что из этого полезного можно поиметь?
думаю пока ничего


Цитата
Сильно покоцал начало puppybt, посмотри, приемлемр ли это для тебя?
ты так и не осилил pull request? ну сложно же читать отличия :(

------------------------------
два кодовых вопроса:
1. из выхлопа rfcomm -a , надо определить какой номер можно занять под создание нового соединения, если пусто то брать 0
т.е. из списка:
rfcomm0
rfcomm13
rfcomm1
Определить что 13 самое большое и следующее число давать как 14 (хотя на практике больше 9 врядли будет) а общее ограничение по rfcomm вроде 31 порт.
« Последнее редактирование: 14 Август 2017, 07:30:34 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #203 : 14 Август 2017, 07:32:21 »
Сильно покоцал начало puppybt, посмотри, приемлемр ли это для тебя?
забрал изменения, только rfkill unblock сделал более конкретным
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #204 : 15 Август 2017, 09:13:47 »
Загрузил на гитхаб модуль puppybt-5.1
Научил подключаться-отключаться от serial порта.

---------------
ddshurick, выявлена проблема в коде, при подключении порта в каталоге /sys/class/bluetooth создается еще одно устройство вида hci0:21 и код который ты выкладывал думает что адаптеров стало два. Надо как-то более строго сделать определение?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #205 : 15 Август 2017, 19:07:25 »
ddshurick, выявлена проблема в коде
Ты про это?
Код
N=$[$(ls -1 /sys/class/bluetooth | wc -l) - 1] 
Вот на замену пара вариантов, выбирай что нравится
Код
N=$[$(ls -1 /sys/class/bluetooth | grep -v \: | wc -l) - 1]
N=$[$(find /sys/class/bluetooth -name hci? | wc -l) - 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
« Ответ #206 : 16 Август 2017, 08:01:42 »
гуд.

Сделал функцию приема файлов с устройств. Протестировал несколько программ для приема файлов, наиболее компактный obexpushd выбрал. Кнопка включает и отключает прием.

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

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

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #207 : 16 Август 2017, 09:50:15 »
Выяснено что OBEX push и OBEX file transfer это разные системы.
ранее работавшая программа ussp-push перестала отправлять файлы, из работающих решений найдено:


Собственно после тестирования осталось отказаться от obexpushd в пользу связки obexd + bt-obex :(
« Последнее редактирование: 17 Август 2017, 03:52:15 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #208 : 17 Август 2017, 06:00:31 »
загрузил на github версию puppybt-5.2
Научил отправлять и принимать файлы через OBEX push. Не проверял отправку нескольких файлов и каталогов.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #209 : 17 Август 2017, 07:45:44 »
в пользу связки obexd + bt-obex
Да, obexd входит в основной пакет bluez-5, требует libical-2.0.0.
загрузил на github версию puppybt-5.2
Взял. Мне кажется, что ~/Startup/bluetooth это лишнее, udev вполне справляется. Достаточно костылика /tmp/dsp.
Моноблок 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