kiltum (kiltum) wrote,
kiltum
kiltum

  • Music:
Немного думал о структуре думалки для дома. Обругайте, если не лень, скелетик. И вообще, может это превратить в цикл рассказок?

Решил воспользоваться терминологией Стругацких. Если коротко нарисовать, то будет выглядеть так.
управлялка
      |
решатель --- база данных
      |                    \        |
------------------
делатели             советчик
      |
железки


Во главе угла будет стоять "решатель". Скорее всего это будет модуль а-ля "обработка сообщений", который будет постоянно мониторить время, флажки (выставляемыми делателями) и пинать\разруливать возникающие конфликты согласно приоритетам. В общем, аналог task sheduler в юниксах.

Предназначение базы данных понятно - именно в ней будет лежать данные активности того или иного участка для сравнений и анализов.

Советчик - вот тут немного сложнее. Именно на эту часть я возлагаю надежды запрета входящих звонков в 3 ночи (кстати, сегодня какой-то идиот позвонил раз 8 около 4х утра. автоответчик послал его). Тут будут преобразовываться "разбудить мультика" в "выбрать песенку тани булановой, установить громкость на миниум, начать проигрывание, увеличивать громость с шагом 1 деление за секунду", а "входящий звонок в 3 ночи" в "включить автоответчик, узнать номер и послать пипла нафиг".

Делатели - это грубо говоря, драйверы. Именно тут будет разруливаться "послать смс туда-то" в последовательность команд "AT+SMSитд".

Железки - они и в африке железки. Мобильники, термоментры, модемы и прочее. все тут.

Языки :-)

Решатель надо имхо писать исключительно на чем-нить типа С. Надо скорость при низкой загрузке проца. Он должен быть как можно проще и обладать неубиваемостью. Чем меньше ресурсов жрет, тем меньше вероятности чему-нить поломаться или что чего-нить не хватит.

Делатели - тут простор - хоть на бэйсике - лишь бы работало. все равно от SIGTERM мало кто спасается.

Управлялка - однозначно что-то типа PHP. Ибо есть у меня желание всем управлять исключительно через веб, вап и иже с ними.

А вот советчик. Вот тут загвоздка. Чего-нить разумное типа пролога не канает. Ибо фиг найдешь. Скорее всего придется писать нечто своего языка, позволяющего создавать конструкции типа "если за 5 минут до звонка человек начал ворочаться, то скорее всего он проснулся и можно начать звенеть звонком тихо-тихо" или "В выходной день запрет всех звонков до тех пор пока человек не встанет".
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments