Идея будильника, или как объединить для этого книжку, CD-ROM, фен, старую нокию и немного shell’a?

от автора

image
Если интересно — прошу под кат!

Книжный выключатель.

Откройте ваш любимый текстовый редактор и напишите в нем такой sh скрипт:

#!/bin/bash eject /dev/cdrom sleep 5 eject -t /dev/cdrom 

Поставьте рядом с CDROM книжку, а под ней — сетевой фильтр (вот так).
image

Запустите скрипт и смотрите, как книжка падает на кнопку выключения сетевого фильтра от выехавшевого лотка сидирома. Установите запуск скрипта по cron и включайте в сетевой фильтр все, что необходимо выключить или включить по расписанию.
image
Мало? Согласен.

Дополнительная свобода.

В сетевой фильтр, очевидно, нужно что-то включать. К примеру, можно сделать будильник.

Берем обычный маленький фен и вставляем его в фильтр. Вешаем над кроватью. Программируем включение на 7 утра и просыпаемся под бодрящий теплый ветерок в лицо. (вот так)
image
Мало? Тогда идем дальше.

Управляй мечтой.

Что мешает сделать включение «будильника — фена» удаленно по нашему желанию? Ничего. Конечно, можно заморочится с командами, принимаемыми через сеть. Но вдруг произойдет что-то страшное и Интернет исчезнет (к примеру, я регулярно забываю оплатить свой собственный, да и тупо отваливается он часто)?

Значит, надо делать программирование его включения через входящую смску. Я уже писал тут на эту тему, но повторюсь для конкретно этого случая.

Вкратце: Берете старую нокию с блютузом, сопрягаете ее по этому самому синему зубу с компьютером с установленным драйвером gnokii на Линуксе и, далее, создаете что-то типа такого скрипта:

#!/bin/bash  inp=$(gnokii --getsms IN 1 end)  echo $inp>/home/light204/Desktop/inp.txt  # приказ по смс counter_seven=$(grep -c 7 /home/light204/Desktop/inp.txt) counter_eight=$(grep -c 8 /home/light204/Desktop/inp.txt) counter_nine=$(grep -c 9 /home/light204/Desktop/inp.txt)  killall gnokii  #текущая дата $time='date +%H'  if [ "$counter_seven" == "1" AND "$time" == "07"]; then  eject /dev/cdrom sleep 5 eject -t /dev/cdrom  elif [ "$counter_eight" == "1" AND "$time" == "08"]; then  eject /dev/cdrom sleep 5 eject -t /dev/cdrom  elif [ "$counter_nine" == "1" AND "$time" == "09"]; then  eject /dev/cdrom sleep 5 eject -t /dev/cdrom  fi   sleep 3  killall gnokii   gnokii --deletesms IN 1 end  sleep 700 

(предполагается, что в смске приходит число, означающее час срабатывания будильника)

Пусть этот скрипт автоматом по крону проверяет новые сообщения хотя бы каждые 3-4 минуты (чтобы не проспать даже при самом неудачном раскладе).

Теперь вы (особенно, если допилите представленный скрипт под свои нужды), даже находясь вне дома, можете давать другому человеку спокойно спать в вашей постели, удаленно, по смс, программируя момент его просыпания под мягкий ветерок фена в лицо.
Удачи и приятного wake up 🙂

ссылка на оригинал статьи http://habrahabr.ru/post/156151/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *