Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Датчик занятости ванной комнаты на Raspberry Pi с голосовыми и SMS-уведомлениями через Twilio

Обзор

Во время обучения в Hacker School мы заметили, что две ванные комнаты — одна рядом с основным рабочим пространством, другая на нижнем уровне — могли бы выиграть от индикатора занятости в реальном времени. Зная, занята ли ванная, перед тем как спускаться вниз, можно сократить лишнее ожидание и повысить удобство.

Наше решение позволяет проверять статус ванной по телефону или SMS. Простой датчик света, подключенный к Raspberry Pi, отслеживает освещение: если свет включен, система считает ванную занятой.

Raspberry Pi периодически отправляет обновления на Flask-приложение, размещенное на Heroku, которое также принимает входящие запросы от Twilio. Когда пользователь звонит или отправляет сообщение на выделенный номер Twilio, приложение отвечает текущим статусом занятости — либо голосом (text-to-speech), либо SMS.

Помимо голосового/SMS-интерфейса, @gelstudios разработал интуитивную веб-панель, отображающую состояние датчика в реальном времени.

Серверная часть

Twilio

Twilio — облачная платформа связи, упрощающая отправку и получение звонков и SMS через REST API. Мы использовали библиотеку Twilio для Python и руководства Quickstart для подключения нашего номера к эндпоинтам Flask.

Heroku

Heroku предоставляет управляемую платформу для развертывания полноценных приложений. Следуя руководству Heroku Dev Center, мы настроили Python/Flask-приложение и открыли его через HTTPS для безопасной связи с Twilio.

Код сервера

Полный исходный код веб-приложения доступен на GitHub: twilio-light-sensor-server/run.py.

Маршруты /twilio/voice и /twilio/text принимают входящие запросы от Twilio. В зависимости от типа обращения (звонок или SMS) сервер формирует ответ с текущим статусом занятости и возвращает его Twilio для доставки голосом или текстом.

Маршрут /update получает HTTP POST от датчика на Raspberry Pi. Каждая полезная нагрузка должна содержать параметры sensor_id и sensor_val для идентификации источника и обновления внутреннего состояния.

Подробнее см. в оригинальном описании проекта: Голосовой и SMS-датчик света на Raspberry Pi и Twilio.

Производственный процесс

  1. Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
  2. ИК-датчик температуры TMP006 с Raspberry Pi: библиотека Python и руководство по настройке
  3. Логирование и график событий 24-В термостата с оптопарой и Raspberry Pi
  4. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  5. Управление светодиодом с PIR-датчиком движения на Raspberry Pi
  6. Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
  7. Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
  8. Мастерство управления датчиками и исполнительными механизмами на Raspberry Pi: акселерометр, сервопривод и потоко…
  9. Создайте свой первый IoT-проект с Raspberry Pi, DHT11 и ThingSpeak
  10. Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности