-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в braindump

 -Интересы

802.11 802.11b 802.11g access bsd diskless ethereal f90 f95 fortran gambas google earth gps internet kismet openev postgis qgis rdesktop sh

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 19.10.2006
Записей:
Комментариев:
Написано: 793


Отправка файлов по bluetooth во FreeBSD

Пятница, 28 Декабря 2007 г. 17:28 + в цитатник
Недавно записывал студентам электронные книги. Девочка попросила скинуть по bluetooth. Хе, так это ведь гениальная идея! Оборудовать аудитории блютуз-хотспотами или как их там и хранить на них учебные материалы. А пока придумал скрипт для автоматизации рассылки файлов.

#!/bin/sh
#:)


hcsecdconf="/etc/bluetooth/hcsecd.conf"
hcsecdhosts=`cat $hcsecdconf | grep -v ^# | grep 'bdaddr' | cut -d';' -f1`

for str in $hcsecdhosts
do
hcsecdmaks=$hcsecdmaks' '`echo $str | grep '..:..:..:..:..:..'`
done
#echo $hcsecdmaks
#exit 0

macaddrs=`hccontrol -n ubt0hci inquiry 2> /dev/null | grep 'BD_ADDR: ..:..:..:..:..:..'| sort -u | cut -d' ' -f2`
#echo $macaddrs
for str in $macaddrs
do
host=`hccontrol -n ubt0hci remote_name_request $str 2> /dev/null | grep -v Page | cut -d' ' -f2`
if [ '`echo $hcsecdmaks | grep $str 2> /dev/null | cut -d' ' -f1`' != '`echo`' ]; then
echo $str' по имени '`echo $host | cut -d' ' -f2`' уже описан в hcsecd.conf'
else
echo 'Устройство '`echo $host | cut -d' ' -f2`' с адресом '`echo $host | cut -d' ' -f1`' не в списке. Добавить?(y/n)'
read uinp
if [ "$uinp" = "y" ]; then
echo "Введите пин:"
read pin
echo "device {" >> /etc/bluetooth/hcsecd.conf
printf "\tbdaddr\t%s;\n" $str >> /etc/bluetooth/hcsecd.conf
printf "\tname\t\"%s\";\n" `echo $host | cut -d' ' -f2` >> /etc/bluetooth/hcsecd.conf
printf "\tkey\t\"nokey\";\n" >> /etc/bluetooth/hcsecd.conf
printf "\tpin\t\"%s\";\n" $pin >> /etc/bluetooth/hcsecd.conf
echo "}" >> /etc/bluetooth/hcsecd.conf
sudo /etc/rc.d/hcsecd restart
fi
# echo $str
fi
echo 'Отправить файл на устройство '`echo $host | cut -d' ' -f2`' с адресом '`echo $host | cut -d' ' -f1`'?(y/n)'
read uinp
if [ "$uinp" = "y" ]; then
obexapp -a $str -C OPUSH -n put kislovodsk.jpg
fi
done
#exit 0

Для работы скрипта понятное дело нужен /usr/ports/comms/obexapp.
Рубрики:  BSD
Программирование

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку