bluetooth в linux

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Killer_Angel
Сообщения: 38
Зарегистрирован: Сб дек 01, 2012 9:05 am
Благодарил (а): 0
Поблагодарили: 1 раз

bluetooth в linux

Сообщение Killer_Angel » Пт дек 07, 2012 4:33 pm

сделал скрипт для сканирования bt устройств
как интегрировать в базу чтобы при обнаружении определенного mac запускался один скрипт, а при исчезновении другой скрипт ?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: bluetooth в linux

Сообщение sergejey » Пт дек 07, 2012 4:35 pm

Killer_Angel писал(а):сделал скрипт для сканирования bt устройств
как интегрировать в базу чтобы при обнаружении определенного mac запускался один скрипт, а при исчезновении другой скрипт ?
а можно исходник? я бы посмотрел куда вставить вызов по аналогии с windows-скриптом.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Killer_Angel
Сообщения: 38
Зарегистрирован: Сб дек 01, 2012 9:05 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: bluetooth в linux

Сообщение Killer_Angel » Пт дек 07, 2012 4:42 pm

sergejey писал(а):
Killer_Angel писал(а):сделал скрипт для сканирования bt устройств
как интегрировать в базу чтобы при обнаружении определенного mac запускался один скрипт, а при исчезновении другой скрипт ?
а можно исходник? я бы посмотрел куда вставить вызов по аналогии с windows-скриптом.
Сканирует и складывает в логи
http://nevicom.dyndns.org/scan_bt.txt
пример вывода команды hcitool scan
http://nevicom.dyndns.org/bt.txt
Killer_Angel
Сообщения: 38
Зарегистрирован: Сб дек 01, 2012 9:05 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: bluetooth в linux

Сообщение Killer_Angel » Пт дек 07, 2012 4:48 pm

вообще надо всего лишь парсить вывод команды "hcitool scan"
пример вывода в файле bt.txt
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: bluetooth в linux

Сообщение sergejey » Пт дек 07, 2012 6:11 pm

я в исходниках проапдэйтил /scripts/cycle_bluetooth.php -- теперь он должен поддерживать hcitool для Linux-а. попробуй пожалуйста. делал "в слепую", но вроде как в примере. если всё заведётся, то будет просто работать стандартный модуль Bluetooth-сканнера, в котором можно на отдельные устройства вешать скрипты и т.п.

после обновления можно проверить сначало зайдя в папку scripts и выполнив команду php cycle_bluetooth.php, если всё ок, то потом можно зайти в панель управления, в общие настройки и там включить опцию загрузки bluetooth цикла при старте общего цикла системы.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Killer_Angel
Сообщения: 38
Зарегистрирован: Сб дек 01, 2012 9:05 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: bluetooth в linux

Сообщение Killer_Angel » Пт дек 07, 2012 6:32 pm

завелось, в bt устройствах появилось, а как повесить скрипт на появление/исчезновение или это еще не реализовано ?
как часто происходит обновление ?

PS: спасибо за оперативную помощь ! )
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: bluetooth в linux

Сообщение sergejey » Пт дек 07, 2012 6:46 pm

Пожалуйста )

Проверка каждые 30 секунд идёт, если я не ошибаюсь.
Скрипт сейчас есть, хоть и не очень удобно сделан. В общем надо в объектах редактировать эти методы
Изображение

пример кода для Found:

Код: Выделить всё

$tm=registeredEventTime('bluetooth_found_'.$params['mac']); 
if ($params['user']!='') {
  registerEvent('bluetooth_found_'.$params['mac']); 
  $tm2=registeredEventTime('bluetooth_lost_'.$params['mac']); 
  if (((time()-$tm)>1*60*60  || $tm<0) &&
      ((time()-$tm2)>1*60*60  || $tm2<0)
      ) {
   say($params['user'].' уже дома');
//здесь можно проверку
/*
if ($params['mac']=='какой-то адрес') {
 say("появилось устройство такое-то");
}
или
if ($params['user']=='какой-то пользователь') {
 say("появился пользователь такой-то");
}
*/
  }
}

 if ($params['new']) {
  say('Обнаружено новое блютуз устройство');
 }

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Killer_Angel
Сообщения: 38
Зарегистрирован: Сб дек 01, 2012 9:05 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: bluetooth в linux

Сообщение Killer_Angel » Пт дек 07, 2012 6:51 pm

ok, буду ковырять
Killer_Angel
Сообщения: 38
Зарегистрирован: Сб дек 01, 2012 9:05 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: bluetooth в linux

Сообщение Killer_Angel » Пт дек 07, 2012 8:38 pm

del
Последний раз редактировалось Killer_Angel Сб дек 08, 2012 3:25 pm, всего редактировалось 1 раз.
tammat
Сообщения: 165
Зарегистрирован: Пт янв 20, 2012 3:05 pm
Благодарил (а): 9 раз
Поблагодарили: 1 раз

Re: bluetooth в linux

Сообщение tammat » Пт дек 07, 2012 8:51 pm

Запускаю из под рута hcitool scan | grep :
Ошибка
Device is not available: No such device
В чем проблема
Ответить