Благодаря поддержке и потраченному времени tarasfrompir(а) имеем возможность пользоваться в одном модуле сразу двумя ибо известный модуль ( Системное имя модуля: bluetoothdevices) хоть и крут функциональностью , но не раз ложил систему наглухо..
Может я просто его готовить не умею..))
Ну это такое...
Что имеем... Пару исправлений и вуаля..
P.S, Обидеть никого не хотел , если что , критикуйте, и подскажите как, что, поправить!
В папке lib создаем файл bluetooth.class.php (/var/www/html/lib/bluetooth.class.php)
<?php
function pingbt($host) {
$data = exec('l2ping '.$host.' -c1 -f | awk \'/loss/ {print $3}\'');
if (intval($data) > 0) {
$result = 1;
} else {
$result = 0;
}
return $result;
}
function pingble($host) {
$data = exec('sudo timeout -s SIGINT 10s hcitool lescan | grep "'.$host.'"');
if (stristr($data, $host)) {
$result = 1;
} else {
$result = 0;
}
return $result;
}
в папке pinghosts в файле pinghosts.class.php вносим пару правок , ворт здесь боюсь запутаться лучше наверное выложить правленый файл (/var/www/html/modules/pinghosts/pinghosts.class.php)
было так ( 11 строка)
//Define('DEF_TYPE_OPTIONS', '0=PING (HOST)|1=WEB PAGE (URL)'); // options for 'HOST TYPE'
стало так
Define('DEF_TYPE_OPTIONS', '0=PING (HOST)|1=WEB PAGE (URL)|2=BLUETOOTH (MAC)|3=BLE (Only LINUX) (MAC)');
далее в этом же файле (стр 210 -212 у кого как )
было так
$online=0;
// checking
if (!$host['TYPE']) {
//ping host
$online=ping(processTitle($host['HOSTNAME']));
} else {
//web host
$online=getURL(processTitle($host['HOSTNAME']), 0);
SaveFile("./cms/cached/host_".$host['ID'].'.html', $online);
if ($host['SEARCH_WORD']!='' && !is_integer(strpos($online, $host['SEARCH_WORD']))) {
$online=0;
}
if ($online) {
$online=1;
}
}
стало так
$online = 0;
// вставил свою функцию
// checking
if ($host['TYPE'] == 0) {
//ping host
$online = ping(processTitle($host['HOSTNAME']));
} elseif ($host['TYPE'] == 1) {
//web host
$online = getURL(processTitle($host['HOSTNAME']), 0);
SaveFile("./cached/host_".$host['ID'].'.html', $online);
if ($host['SEARCH_WORD'] != '' && !is_integer(strpos($online, $host['SEARCH_WORD']))) {
$online = 0;
}
if ($online) {
$online = 1;
}
} elseif ($host['TYPE'] == 2) {
$online = pingbt(processTitle($host['HOSTNAME']));
} elseif ($host['TYPE'] == 3) {
$online = pingble(processTitle($host['HOSTNAME']));
}
// конец поменяного блока
И еще, на малине должна стоять библиотека для работы с Бле и Блютузом. Пару ссылок, а так Гугл рулит!)
https://xakep.ru/2020/02/21/bluetooth-ddos/#toc01
https://command-not-found.com/l2ping
Ну и подобная тема еще здесь...
https://connect.smartliving.ru/profile/5705/blog/u...
https://qastack.ru/raspberrypi/66540/installing-bl...
Киев, Украина