Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форум MaemoWorld.ru → Разработка под MeeGo и Maemo → Крутая программа
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Поставьте alarm и караульте, а вообще что, оставляете где попало?
ну знаете сидиш в офисе и срочно вызывает шеф, сразу все забываеш и летиш туда, а в это время кто то может взять ваш телефон, программа (аларм) будет орать, и всех раздражать, а здесь тихо мирно сфоткал и все)
У меня таким образом и увели телефон. Я думаю что эта крутая программа меня бы не спасла
мораль в том что нефиг спешить )
приучить себя каждый раз в карман пихать тлф, вставая с места, выходя из кабинета - и не нужна такая программа
Я думаю что эта крутая программа меня бы не спасла
Если риск большой, то можно сделать отправку фото по мейлу или ммс, или хоть на фтп сервер свой заливать. Но конечно это надо совсем уж риск большой, чтобы такое в фоне запускать.
alchgoto, такую программу несложно сделать. Можно даже написать скрипт, который это будет делать.
Получить данные с акселерометра можно так:
cat /sys/class/i2c-adapter/i2c-3/3-001d/coord | cut -d' ' -f3`
Получить фотку с фронтальной камеры - вот так:
gst-launch v4l2camsrc device=/dev/video1 num-buffers=1 ! dspjpegenc ! filesink location=photo.jpg
Я на коленке написал вот такой скриптик. Сохраняете его в какой-файл, например photo_alarm.sh, присваиваете ему права на исполнение (chmod +x photo_alarm.sh), устанавливаете пакет gstreamer-tools и можно запускать из терминала.
Он сначала ждёт, пока вы положите телефон на стол(вверх экраном или вниз - неважно), а затем как только его кто-то поднимает - ждет 2 секунды и делает подряд 3 снимка с интервалом в секунду в папку "Изображения"(/home/user/MyDocs/.images/) - каждая фотка будет называться front_alarm_ГГММДД_ЧЧММСС.jpg (где ГГ, ДД и тп - год, день и тп, короче дата и время, имя у каждой фотки уникальное). После этого ждет пока телефон снова положат и тогда уже снова ждет следующее поднятие.
Сразу оговорюсь - проверял только на своем телефоне, возможно у других вывод с акселерометра другой, надо пробовать. Плюс ко всему определение "лежание на столе" - исключительно по горизонтальной позиции, так что если его в руках держать горизонтально, он сочтет, что лежит на столе.
Код там в принципе понятен должен быть, меняйте по своему усмотрению
#!/bin/sh
[ -f /usr/bin/gst-launch ] || \
{ echo "This script requires gstreamer-tools package. Run 'apt-get install gstreamer-tools' as root"; exit 1; }
IMAGES_DIR=/home/user/MyDocs/.images/
# Make shot from front camera
# Change to /dev/video0 to get photo from back camera
# Photos will be named by date
take_photo()
{
gst-launch v4l2camsrc device=/dev/video1 num-buffers=1 ! dspjpegenc ! filesink location=$IMAGES_DIR/front_alarm_`date +%Y%m%d_%H%M%S`.jpg
}
# Read accelerometer data and extract Z-coordinate
get_zcoord()
{
ZCOORD=`cat /sys/class/i2c-adapter/i2c-3/3-001d/coord | cut -d' ' -f3`;
ZVAL=`expr $ZCOORD / 18`;
}
# Check if phone is lies on the table
# Both upside and downside variants
is_lying()
{
IS_LYING="0"
get_zcoord
VAL_DOWN=`expr $ZVAL + 56`
VAL_UP=`expr $ZVAL - 56`
[[ "$VAL_DOWN" -ge "0" -a "$VAL_DOWN" -le "3" -o \
"$VAL_UP" -ge "0" -a "$VAL_UP" -le "3" ]] && \
IS_LYING="1"
}
wait_for_lie()
{
echo "Waiting for the phone to be put down... "
while [ "$IS_LYING" -eq "0" ]; do
is_lying
sleep 1
done
}
# Initially we should start only after phone will be put down
wait_for_lie
echo "Ok, phone is on the table. Start watching..."
while true; do
is_lying
[[ "$IS_LYING" -eq "1" ]] && { sleep 1; continue; }
# Got alarm
echo "Alarm! Waiting 2 secs and taking 3 photos into /home/user/MyDocs/.images/"
sleep 2
for i in `seq 1 3`; do
take_photo
sleep 1
done
wait_for_lie
sleep 2 # just to make accelerometer happy after putting down
echo "Waiting for the next alarm..."
done
exit 0
Можно и послеугонку I am here из репов поставить..
Только от аларма эфекту больше - не признаются кто, но другим не дадут. А вообще, с таким забывчивым подчиненным /но исполительным / "шеф", долго кашу варить не станет.
я бы в скрипте убрал
while true; do
и в конце
sleep 2 # just to make accelerometer happy after putting down
echo "Waiting for the next alarm..."
done
и запускал бы его через cron... меньше энергии пожрет однако (все эхо также стереть стоит)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум MaemoWorld.ru → Разработка под MeeGo и Maemo → Крутая программа
Форум работает на PunBB, при поддержке Informer Technologies, Inc
Currently installed 6 official extensions. Copyright © 2003–2009 PunBB.
Сгенерировано за 0.081 секунды (95% PHP — 5% БД) 12 запросов к базе данных