SleepPy Patterns (for N900) — А так ли хорошо вы спите ночью, как Вам это всегда казалось?

    Приобретение по-истине потрясающего аппарата Nokia n900 я считаю вторым важнейшим событием в моей IT-судьбе (первым был полный переход на linux как на работе, так и дома). И он продолжает удивлять меня всё больше и больше.

    Около месяца назад я написал для себя небольшой python-скрипт, который мониторил и записывал изменения с акселерометра телефона. Результаты такой записи, мягко выражаясь, меня озадачили и удивили. Ожидая увидеть 5-6 «переворотов на другой бок» в течении всей ночи, я никак не мог подумать о сотнях таких вращений вокруг собственной оси. Я даже не очень-то верил результатам скрипта, пока не установил инфракрасный источник света (near-IR LEDs) и модифицировал простенькую вебкамеру, вытащив из неё инфракрасный светофильтр.





    Вот такое занимательное видео получилось. Дальше возникает вопрос — что вызывает мои постоянные верчения? Эксперименты с проветриванием комнаты и замером температуры показали только то, что я сплю спокойнее при очень низкой температуре, т.е. порядка 17С, с очень лёгким одеялом. Т.е. если я себя переохлаждаю — сплю как убитый. Но это чревато неприятными последствиями. После моего эксперимента с отрытым окном на всю ночь и температурой в злополучные 17С, я заболел и провалялся с простудой целую неделю. Больше с температурой не экспериментирую.

    На очереди замена подушки и матраса. Есть подозрения, что обе являются слишком твёрдыми для меня. На более мягких подушках мне спалось по-лучше. Но это чувство, не проверенное ещё экспериментом.

    Изначально написанный скрипт за последние три дня приобрёл PyGTK мордочку и стал походить на обычное GUI приложение для mаemo. В основном использовались hildon виджиты.

    image

    image

    image

    SleepPy Patterns можно установить из Fremantle Extras-devel репозитория или со страницы проекта. Для тех у кого есть N900 и кому хотелось бы поэкспериментировать с собственным сном:

    http://sleeppy.garage.maemo.org/

    Приложение было выставлено на конкурс, и даже победило. Гип-Гип-УРА!!! Пруфлинк.

    Всем спасибо за внимание.

    ЗЫ: Я наверное упустил самую главную мысль всей программы — будильник срабатывает именно тогда, когда после определённого времени Вы начинаете двигаться. Т.е. если Вы уже проспали необходимое число часов, или же Вам нужно встать до определённого времени в заданный промежуток — программа запустит будильник именно тогда, когда акселерометр зафиксирует движение больше определённого Вами threshold'а, а именно Ваше движение обозначает, что Вы уже не находитесь в глубокой фазе сна, и что будить Вас уже можно. Поверьте, это лучше, чем просыпаться в глубокой фазе, когда Ваш мозг совсем не настроен на пробуждение.
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 90
    • +17
      Ну ты затейник, прямо реалити шоу «за стеклом». Успехов на конкурсе, но все таки был бы ты девчонкой, с подобным видео точно бы взял главный приз в мис сис:)
      • +8
        Ну извеняйте, что полом не вышел))))
        • +1
          дык в пару взять… )
          а вообще — это первый случай когда захотелось взять маемо чисто для этой игрушки )
        • 0
          А если б еще сон приснился…
        • +4
          А где сам телефон лежал? и каким образом определяется время засыпания?
          • +2
            Телефон лежал в чехле, который висел сверху на одеяле — на первых кадрах виден чёрный прямоугольник — это чехол.

            Время засыпания определяется следующим образом: есть константа, задающаяся пользователем — это время, за которое человек не активен. В моём случае это 10 минут. Т.е. если я за 10 минут ни разу не ворочился — значит я уснул. Это чисто эмпирическая величина, и будет сугубо зависеть от человека, я выбрал такую, что бы соответствовала мне. Так вот, если за 10 минут я не ворочался — значит я уснул, и это время минус время старта скрипта и есть то самое время засыпания. Я дальше думаю засунуть туда ещё алгоритм анализа фаз сна, как тут например: www.pharma.uzh.ch/research/chronobiology/areas/sleepbiology/sleepeeg.html, но это в следующем релизе.
            • +1
              Понятно, здорово. Как вариант, для пущей чистоты эксперимента можно телефон к пузу скотчем прикрепить :)
              • +1
                Хаха))) Мыслим в одну сторону. Следующим этапом моих экспериментов стал так называемый Arm-band, т.е. это такой чехол, который на руку вешается, если Вы бегаете или в спортзале занимаетесь. Я себе такой приобрёл и экспериментировал с повешением его на ногу. Очень даже интересные результаты получаются. Лучше видны всплески активности. Но одно «НО» — если дёргали не ту ногу во время сна — эксперимент будет считать проваленным. Так что нужно себя обучать дёргать именно «правильную» ногу.
        • +4
          только один вопрос — девушка у вас есть?))

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

          как-то так
          • +25
            Караул! Ночевать вместе можно только после свадьбы!
            • –6
              В вашем комментарии страдает логика и аргументация, мне так кажется.
              • +6
                А у вас чувства юмора нет.
              • –8
                А трахаться начинать после 30 лет брака?
              • +8
                Вопрос географической дислокации. Девушка в 7ми часовых поясах от меня. И это не есть здорово, уж поверьте…
                • +3
                  Слишком много личного… пятница — вечер… навеело…
                • +6
                  Как ты мог заставить девушку мерзнуть под пуховым одеялом? Нехороший ты человек! =)
                • 0
                  Спать в холоде реально лучше, особенно когда нужно выспаться за ограниченный промежуток времени. С открытой форточкой я высыпаюсь часов за шесть, а с закрытой — за восемь. Хотя, как уже было замечено, на лицо ограниченная совместимость с женским полом =)

                  А то, что Вы простужаетесь — это наверное с непривычки. Начните с форточки, а как потеплеет на улице — открывайте окно. И да, полезно закаляться, контрастный душ по утрам например.
                  • +13
                    Автор простудился от сквозняка, а не от постепенного охлаждения воздуха до уличной температуры. Дверь-то надо было закрыть.

                    Свежий и прохладный воздух действительно помогают выспаться за более короткий промежуток времени. А что самое главное — организм сам просыпается утром, не надо коматозиться в постели и самому себе обещать а-ля «Так блять, 5 минут и точно встаю! [через 5 минут] Ну все блять, теперь-то уж точно встану! Но не сейчас, а минуток через пять....» и т.д. Организм заставит вас встать сходить в туалет (а хотеться будет очень сильно, потому что в комнате прохладно). А после утреннего перессыка сам Бог велел покушать и в душ сходить :-)
                    • 0
                      В Ваших словах есть очень большая доля правды. Но есть и ещё одно «НО». В условиях, где в каждом доме стоит кондиционер — сквозняк, это то, к чему привыкаешь за первые два года жизни в таких условиях.

                      Когда ты повернулся и тут же срабатывает будильник — это на много проще, чем пытаться встать в глубокой фазе сна. Именно на это и рассчитана программа.
                      • 0
                        Ну так закройте окно, кондей на +4, и вот оно, счастье быстрого сна :)
                        • +1
                          сейчас на улице +28С, т.е. +4 сверху, это ни чуть не меньше +32С получается… Сауна какая-то получается. Я не со зла… просто у нас тут лето рано начинается. Мне уже надоело потеть каждый день. Извиняйте.
                          • +1
                            Ох как же вам повезло=)
                            У нас +28°C не бывает даже в самый разгар лета=\
                            • 0
                              Хорошо, там где Нас нет… Я снега уже больше двух дней к ряду не видел больше 5ти лет… Наверно именно поэтому осваивал snowboarding этой зимой, только для этого пришлось в соседние горы ехать.
                            • +1
                              Нет, я про +4 относительно нуля по цельсию.
                              • 0
                                гы ну у меня +19 лето =) в начале только =)
                                в целом зима то мега холодная +6-10 была=)
                              • 0
                                Вообще могу сказать, что когда поставил кондиционер, то качество сна сильно улучшилось.
                                Не знаю то ли это из-за того, что намного менее шумно стало с закрытым окном, то ли из-за того, что температура комфортная и одинаковая в течение всей продолжительности сна
                            • +1
                              Дайте определение сквозняка с точки зрения воздействия на организм человека.
                              • +1
                                Длительно воздействующий поток холодного воздуха, переохлаждающий отдельные участки организма (наиболее распространенный вариант — почки и поясница).
                          • 0
                            из-за своего режима имею возможность наблюдать несколько часов свою девушку спящей (а она соответственно меня). и наши наблюдения полностью совпадают с вашими. =)
                            • 0
                              Ворочаются все и всегда, а я еще и разговариваю, иногда могу и гулять во сне.
                              прога интересная, надо бы поставить.И повторюсь: вы где ее держали во время сна? И перенесите ее в тематический блог
                              • 0
                                а, все, заметил по видео где был телефон. не стремно его раздавить или скинуть?
                                • 0
                                  Нет, не стрёмно — он всегда сверху. Про зарядку начал бояться. Говорят, что USB порт разшатывается. Но при выключенной сети за 10 часов сна батарея ушла со 100% до 90%, что считаю вполне уместным.
                                  • 0
                                    Что-то я забываю досказать что-нибудь. Это всё было при выключенном wifi и G3, т.е. в offline mode.
                              • +2
                                Забавное ощущение возникает при просмотре видео в посте после фильма «Паранормальное являние»
                                • +1
                                  Да, я когда видео смотрел та же самая мысль первым делом в голову пришла. :)
                                  • +2
                                    на 26 секунде к нему какаято тень подходила
                                  • 0
                                    Бюджет $15k?..
                                    • 0
                                      Да, причем большая часть бюджета, наверное, ушла на камеру и на еду при съемках. Фильм немного нудный, но ближе к концу становится все интереснее, а финал так вообще отличный. Кстати, фильм имеет три разных концовки
                                    • 0
                                      Ага, искал колыхнувшуюся дверь на заднем плане:)
                                    • 0
                                      Действительно круто придумано! Молодец!
                                      • 0
                                        Вы пробовали не пить воды на ночь?
                                        Второй нюанс: если у вас жесткий матрас, это тоже влияет на частоту «ворочаний», потому что на жесткой поверхности кровоснабжение отдельных участков кожи (на которых вы лежите) ухудшается, и тело через некоторое время перераспределяет нагрузку на другие участки.
                                        • +1
                                          Выпивание воды — самый худший вариант. Я могу до 3х раз сбегать эту самую воду опустошить из моего организма. Так что как правило, жидкость не употребляю за 2 часа до того, как лечь спать.

                                          Про жёсткость — идея так и витает в воздухе. Но тратить сразу деньги на покупку новой кровати я ещё не готов. Поэтому завтра задумал навестить… кх-кх… соседнюю кровать, с чистосердечной целью — проверить качество своего сна на более мягких матрасах. Видео прилагать не буду из-за условий хабра-соглашения.
                                        • 0
                                          Я как гордый обладатель N810, по хорошему завидую и вашему аппарату и «инженерности» мышления. Давно уже присматриваюсь к бытовым приборам контроля сна: SleepTracker Watch, AXBO и т.д. Но цены, урезанность функций…

                                          Касательно вашей озабоченности о беспокойности сна, советую обратить внимание не только на внешние условия, но и внутренние (свой организм). Такие кульбиты и вращения во сне могут быть признаками гельминтов (особенно если еще зубами скрипите) или прочих растройств пищеварения (не ешьте 2-3 часа до сна). Я не прикалываюсь, это реально распространенное явление.
                                          • +2
                                            Очень интересная точка зрения. И если честно, то был знаком только с обще-принятым термином, так что спасибо, что познакомили с термином гельминтов. У самого стоит на музыкальном центре N810. Именно с него и начал знакомство с таблетками. Он обалденно подходит для написания длинных статей на свежем воздухе. К нему по блютузу подключаю mac'овскую беспроводную клавиатуру — и можно залегать на любой скамейке — удобно, просто слов нет. Ещё может меня начнут пинать за непристойность, но я вешаю N810 на стойку от микрофона. При этом её можно повесить прямо перед лицом, когда лежишь на диване, кровати, ванной, лужайке, полу в зоне отдыха… где угодно! Поверьте, это просто безумно удобно. Если мне привезут мою камеру в целости и сохранности 20ого числа, я даже фотки выложу с этой моей находкой в DIY блог. Пусть это будет моим обещанием.
                                          • 0
                                            В «обычном режиме» я мёрзну от открытого окна и низкой температуры до заболевания. Когда, я испытывал сыромоноедение, то 15 градусов и открытое окно, по весне, для меня было совершенно нормально, и не причиняло никакого дискомфорта.
                                            • 0
                                              Совсем недавно я размышлял о том, какие же движения я произвожу во сне, но всё ограничилось съёмкой.А тут целое приложение! Спасибо, очень интересная идея!
                                              • 0
                                                Для яблофона есть такое приложение Sleep Cycle, но денег за него хотят. На камеру не снимает, а вот график «как я ворочаюсь во сне» имеется. И основная фишка — это как раз функция будильника, который попытается вас разбудить именно во время быстрого сна. Вот только спать с телефоном под подушкой мне как то не удобно, стесняюсь я его )
                                                • 0
                                                  Эх, портировать бы ее под другие ОС. А то у меня 5800 с symbian )
                                                  • 0
                                                    Попытался быстро найти, но что-то не получилось: на 5800 есть ли вообще акселерометр и как к нему достучаться? Имеется ли в наличии питон, хотя бы 2.5? Если положительные ответы на все вопросы — партировать можно будет без проблем.
                                                    • 0
                                                      Всё имеется.
                                                      • 0
                                                        Питон есть (не знаю какая именно версия сейчас), акселерометр тоже. Еще на 9.3 бы)
                                                        • 0
                                                          акселерометр есть. гугл говорит, что и питон можно поставить. а вот как достучаться, не знаю, к сожалению совсем нет опыта программирования для мобильных платформ.
                                                          • 0
                                                            Тоже мысль была про symbian (nokia 5530). Опыта на питоне под симбу нет, к сожалению. Акслелерометр есть. Питон ставится. И даже работает.
                                                              • +1
                                                                Дайте аглоритм (исходники), сделаю :)
                                                                Давно просили написать «умный будильник», все никак руки не доходят поискать алгоритм его работы.
                                                                • 0
                                                                  Дык по ссылке в топике deb распотрошите, там есть (7-zip умеет).
                                                                  • 0
                                                                    Я надеюсь, автор не обидится
                                                                    dl.dropbox.com/u/3482194/sleeppy.py
                                                                    • +1
                                                                      Спасибо, все равно конечно от и до переписывать нужно.
                                                                      Главное интересует алгоритм интерполяции показаний акселерометра в амплитуду колебаний (тут больше экспериментально подбирается).
                                                                      И самое главное, это знать, когда нужно будить человека. Что там наука говорит? :)
                                                                      А написать то нет проблем, программа уложится в 7-8 кб. исходников…
                                                                      • 0
                                                                        Хочется узнать, а вы алгоритм нашли?
                                                                        К сожалению, ссыдка выше уже не валидна
                                                                        • 0
                                                                          забыл совсем про это :(
                                                                          • 0
                                                                            А можете подсказать направление с чего начать поиск алгоритма?
                                                                      • 0
                                                                        Дня доброго, не могли бы вы перезалить алгоритмы?
                                                                        Хочется в свободное время попытаться либо допилить, либо создать заново с открытом кодом прогу для эффективного сна и экономия времени.
                                                              • 0
                                                                Есть еще девайс с таким же функционалом www.thesleepwatch.com/
                                                                В ДС продают за 6к
                                                                Алгоритм работы у него, я так понимаю такой же

                                                                Раньше думал взять, но теперь ограничусь вашим приложеним! Спасибо!
                                                                • +3
                                                                  Если проснулся, а телефон раздавленный слежит — прохо спал!
                                                                  • 0
                                                                    А нельзя ли дёрганья определять по видеоизображению?
                                                                    Было бы удобно: поставил телефон на тумбочку и спишь спокойно.
                                                                    • 0
                                                                      Это идея меня посетила тоже. Пока проблема в том, что придётся всякому, кто хочет пользоваться программой мастерить свой собственный IR-источник. Да и то, оптика N900 режет IR спектр очень по-чёрному. Но имея источник света — всё возможно в этом мере. Попробую написать на следующей неделе.
                                                                      • 0
                                                                        Догадываюсь, что встроенный IR-порт тут не поможет, но вдруг?
                                                                        • 0
                                                                          Ну даже, допустим, что его хватит, что бы осветить пространство в метре от него. А к камере будем крепить зеркальце, что бы снимало тот самый злополучный метр?
                                                                      • 0
                                                                        а можно сделать док место непосредственно под кроватью, она же тоже дёргается и телефон в таком случае не раздавишь и когда будильник прозвонит за ним таки придётся встать (:
                                                                      • +1
                                                                        В качестве эксперимента над n900 — хорошее применение. Недавно кто-то похожее на iPhone делал.

                                                                        Я сам для себя уже давно пользуюсь будильником aXbo. Чудо-вещь. Анализ фаз сна.
                                                                        Особое преимущество — на руку обычный браслет с радио передатчиком. Посмотреть мона здесь www.axbo.com
                                                                        • 0
                                                                          Аналог на андроиде www.smart-alarm-clock.com/
                                                                          • 0
                                                                            На HTC Hero, зараза, не работает: акселерометр неактивен при выключенном экране.
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                            • 0
                                                                              Некоторые в быстрой фазе вообще лунатизмом страдают, так что мне кажется что автор действительно напрягаеться по бессмысленному поводу.
                                                                            • –2
                                                                              от ведь людям нечем заняться!
                                                                              • 0
                                                                                Интересно, надо взять на заметку!
                                                                                • 0
                                                                                  Интересно. Чем видео делали?
                                                                                  • +3
                                                                                    На линуксовой машинке:

                                                                                    1) Запись видео в jpg фийлы:
                                                                                    streamer -c /dev/video0

                                                                                    2) Matplotlib в питоновском скрипте рисует графики.

                                                                                    3) composite из ImageMagic'а обёрнутый в bash скрипт слепливает картинки с графиками и видео-картинки

                                                                                    4) mencoder — финальная стадия лепки видео.
                                                                                  • 0
                                                                                    Кстати, очень похожее приложение для iPhone в аппСторе зарабатывает очень неплохие деньги. Оно как раз нацелено на легкое пробуждение в быстрой фазе.

                                                                                    Эксперименты у вас очень интересные! Продолжайте )
                                                                                    Рекомендую попробовать такой фактор как освещенность, зашумленность (например за окном оживленная дорога, а закрытое окно хорошо звукоизолирует)
                                                                                    • +1
                                                                                      1) Верчение во сне вещь нормальная от 20 до 80 раз.
                                                                                      2) Холод полезен, но только для подготовленных (были исследования на эту тему, если интересно можно погуглить)
                                                                                      3) Затея мерять верчения интересна, но не более чем с точки зрения определения факта и количества.
                                                                                      4) Главное не ужасайтесь когда задумаете проверить, а не открываете ли вы рот или глаза во время сна :)
                                                                                      • 0
                                                                                        Крутая программка. Пользуюсь с первого дня приобретения N900. Хотел бы во-первых спросить, как сделать интерфейс русским? У меня все на английском.

                                                                                        А во-вторых есть несколько предложений:
                                                                                        1. Сделать нормальную шкалу времени: на весь экран, с сеткой времени и уровнем активности за данный момент времени.
                                                                                        2. Поправить минуты в счетчике оставшегося для сна времени. 7.89 выглядит конечно прикольно, но хочется все-таки обычных, человеческих часов :)
                                                                                        3. Возможность задавать уровень чувствительности для регистрации движений. Вчера например положил под подушку, график показал, что я дергался всю ночь почти беспрерывно :))
                                                                                        4. Постараться оптимизировать движок. Аккумулятор за ночь работы программы садится на 25 процентов :(

                                                                                        Спасибо за отличную программу! :)
                                                                                        • 0
                                                                                          В папочке /home/user/MyDocs/sleeppy/sleeppy.cfg файл, в котором содержатся все настройки. Там же можно поменять язык с eng на rus. Там же имеются настройки threshold'а — это и будет ограничитель уровня засчитанного ускорения. Длительность времени специально была выставлена в часах и десятых долях часа, но это можно будет поменять — достаточно просто. По четвёртому пункту, в конфиге так же задаётся пауза между считками датчиков, сейчас она 0.01 секунды. Можно увеличить до 0.1 — это должно уменьшить нагрузку на процессор и увеличить жизнь батареи, но не знаю как сильно это поможет. У меня за ночь садится аккамулятор на 10%, но это при оффлайн режиме. Т.е. даже GSM выключен.

                                                                                          Подытожу, поиграйтесь с конфигом. Будут вопросы — пишите сюда или в личку.
                                                                                          • 0
                                                                                            Спасибо за ответ. Но советы не помогли. Во-первых, русский у меня изначально стоял в конфиге и все равно интерфейс на английском. Во-вторых, менял threshold на 50 или 70, разницы никакой. Паузу поменял, но проверить как работает на самом деле не знаю как. Думал, может конфиг не подцепляется программой, но попробовал поменять параметры будильника и при следующем открытии все поменялось как надо.

                                                                                            Мне кажется стоит добавить эти параметры в графическую оболочку, чтобы не париться с конфигами. Понятно, что n900 для продвинутых пользователей, но и они будут рады настройкам прямо в программе, а не в отдельном файле.

                                                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.