Как стать автором
Обновить

Таблетница для умного дома

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.4K
image

После того как мне назначили курс приёма лекарств, пропустив второй раз приём препаратов, я решил приобщить свой «умный дом» для напоминания и контроля о приёме лекарств.
После недолгих поисков в интернете, я не нашёл простого и более-менее подходящего для меня решения, решил создать своё устройство. Делал это для себя, поэтому особо не обращал внимания на дизайн и красоту, мое имхо, главное функциональность. Так что девайс получился довольно простым и бюджетным.

Решение состоит из простой пластиковой таблетницы (контейнера) на каждый день с четырьмя отсеками, и беспроводного датчика открытия/закрытия по протоколу Zigbee. Управление и контроль осуществляется открытой системой домашней автоматизации MajorDoMo.

Сперва отмечу, в нескольких предыдущих публикациях, Просто о сложном. MajorDoMo и контроль входного замка. Начало и MajorDoMo, делаем контроль датчика открытия замка. Голосовые уведомления и создания телефонного оповещения я попытался довольно просто и понятно описать небольшие начальные сведения о системе домашней автоматизации MajorDoMo (установка, небольшая настройка и т.д.), так же там можно найти и некоторую информацию о беспроводном датчике открытия/закрытия и основы по настройке протокола zigbee2mqtt в системе домашней автоматизации MajorDoMo.

Компоненты для устройства:


• Простой пластиковый органайзер для таблеток (таблетница) с четырьмя отделениями размером 120 х 20 х 21 мм, внутренние размеры каждого отсека 28 х 19 х 19 мм.
image
• Беспроводной датчик открытия/закрытия двери, поддерживающий протокол Zigbee (в своей системе домашней автоматизации я использую Zigbee2mqtt).
image
• Подходящие подручные материалы (материал для корпуса, провода, батарейный отсек формат батареек АА, двухсторониий скотч и т.д).

Первым делом, нужно произвести сопряжение датчика с шлюзом zigbee2mqtt и системой домашней автоматизации, нажав и удерживая кнопку на датчике около 5 секунд.
Разбираем датчик открытия, корпус больше не нужен, выпаиваем геркон, и на его контакты припаиваем 2 провода.
В качестве корпуса для основания устройства, использовал 12-сантиметровый кусок основания пластикового кабель-канала шириной 25 мм, высотой 15 мм. В него уложил датчик открытия без корпуса и провода, а свободное пространство заполнили упаковочным материалом.
image
В таблетнице на нижней задней стороне делаем небольшое отверстие для этих проводов.
К крышке и дну отсека контейнера для таблеток, с помощью двухстороннего скотча, крепим контакты. Для своих целей я использовал контакты батарейного отсека (для батареек формата АА), к крышке прикрепил пружинный контакт (обычно в устройствах — ), ко дну – контактную площадку. Чтобы обеспечить плотный контакт, приподнял контактную площадку, подложив кусочек пластмассы высотой примерно 5 мм (высота отсека таблетницы оказалась буквально на 2-3 мм выше длинны пружинки от контакта).
image
Соединил конструкцию изолентой и скрепил с пластиковой таблетницей двухсторонним скотчем.
В итоге получилось следующее:
image
image

Для моих целей оказалось достаточно одного датчика для контроля одной ячейки, но в корпусе можно разместить до трёх датчиков без корпуса.

Логика и работа таблетницы


На мой взгляд, работа системы Умный дом довольно индивидуальная, в зависимости в от привычек и предпочтений владельца, особенно в части функций голосового помощника или «домашнего ассистента».
Поэтому разберу на своем примере логику и работу устройства.
У меня прописан курс лечения 2 раза в день по три таблетки, имхо это небольшое количество разового приема лекарств (по объёму таблеток), в некоторых случаях, при неправильном положении оных, контакты всё равно могли замкнуться. Здесь всё просто или уменьшаем полезный объём отсека таблетницы (наращивая стенки отсека) либо … увеличиваем количество препаратов. Я пошёл по второму пути, введя в рацион капсулу добавки. Сейчас при любом расположении лекарств, таблетница правильно отображает информацию.

В рабочем состоянии при закрытой крышке органайзера для таблеток получаем следующее: в случае отсутствия препятствия (пустой отсек без таблеток или капсул) контакты замыкаются, состояние контактов датчика – true (закрыт). При наличии препятствия (таблеток) – состояние датчика – faulse «открыто».
интерфейс zigbee2mqtt
Действия в домашней системе автоматизации MajorDoMo. Как и в прошлых публикациях настраиваем дополнение zigbeedev, создаем простое устройство датчик открытия/закрытия, привязываем физическое устройство (датчик).

Привожу на своём примере свой алгоритм работы устройства действий (как выше упомянул, всё индивидуально). Первоначально пробовал создать разные сложные сценарии, но в итоге решил, чем проще, тем лучше.
Итак, два приема лекарств в день, соответственно задействовал два крайних отсека. Обычно у меня, вечером с 20 до 22 часов – приём лекарств и наполнение таблетницы новыми препаратами на весь следующий день. Утром, выход из дома где то с 8-15 до 8-30, соответственно для себя определил, время приёма лекарств до 8 часов утра.
Делаем в MajorDoMo простенький сценарий (можно, используя php код, можно используя blockly, второй вариант проще, но более ограничен в возможностях программирования, приведен на скриншоте).
image

Если состояние контакта true (датчик закрыт), тогда система считает, что приём лекарств не был выполнен и таблетки на следующий день не пополнены. Иначе, если же, состояние faulse нет контакта, соответственно между контактами имеется препятствие, контейнер заполнен и будем считать, прием лекарств состоялся, значит всё нормально и система отправляет информационное сообщение. Сообщения отличаются параметром МУВС (минимальный уровень важности сообщений), в первом случае сообщение имеет больший показатель, 5 и соответственно более важен, у меня при этом значении, отправляется голосовое оповещение на все терминалы Умного дома (колонки подключенные к серверу, колонки Яндекс станции) и сообщение на программу удаленного управления MajorDroid NG на смартфоне. Во втором случае – просто информационное уведомление в веб интерфейсе мониторинга Умного дома.
В настройках сценария установим время запуска: 22-00, можем отметить дни срабатывания.
image
Точно таким же способом, только изменив в условиях состояние датчика, можно сделать утренний сценарий. Первоначально таблетки мы уже вечером положили, состояние датчика до приёма лекарств – faulse. При этом состоянии допустим в 8 утра срабатывает сценарий и в случае faulse идёт уведомление на терминалы «Умного Дома», в случае если контакты замкнуты (препятствие между ними отсутствует), то информационное сообщение.
При желании, можно контролировать и оповещать допустим через каждые 5, 10 минут. Имеется возможность отправлять оповещения по различным каналам связи (телеграмм, SMS, голосовой звонок и т.д.), пока дед не примет таблетки ))

В качестве заключения: с одной стороны решение показалось мне слишком простым и лёгким, не совсем подходящим для аудитории Хабра, возможно этой статье здесь и не место.
А с другой стороны, может идея или реализация кому и пригодится.

Всем добра и здоровья, не болейте.
Теги:
Хабы:
Всего голосов 3: ↑3 и ↓0+3
Комментарии29

Публикации

Истории

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
22 апреля
VK Видео Meetup 2025
МоскваОнлайн
23 апреля
Meetup DevOps 43Tech
Санкт-ПетербургОнлайн
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область