Как я использовал Raspberry Pi для обнаружения утечек воды в моем доме
23 апреля 2022 г.Когда я понял, что в моем доме произошла утечка, я понял, что пришло время применить свой опыт. Мне нужно было использовать свой многолетний опыт и страсть к своей работе — инженера-программиста? Хотя на первый взгляд может показаться, что сантехник был бы лучшим вариантом, мой аргумент заключается в том, что необходимо предпринять шаги, прежде чем сантехник даже будет привлечен для устранения утечки. И это для обнаружения утечки, когда она впервые произойдет.
Конечно, я мог бы вызвать сантехника, который каждый день проверяет наличие утечек, но поскольку это неэффективное использование времени и денег, нам нужно было найти альтернативу ожиданию, когда проблема станет достаточно серьезной, чтобы стать серьезной проблемой. Поэтому, если сантехник-дворецкий, работающий круглосуточно и без выходных, не вариант, я подумал, что какая-то автоматизированная система была бы более реалистичной.
Как оказалось, я некоторое время думал о том, как использовать Raspberry Pi с Courier, чтобы оживить уведомления. Это оказался идеальный вариант использования, чтобы попробовать его, поэтому я решил инвестировать в соответствующее оборудование и использовать свои собственные навыки разработки программного обеспечения, чтобы убедиться, что я получаю уведомление каждый раз, когда происходит даже небольшая утечка. дом. Таким образом, я знал бы, что нужно вызвать сантехника и решить проблему до того, как она станет слишком большой, чтобы с ней справиться.
Утечка может стать дорогостоящей проблемой
У меня самого некоторое время назад в квартире протекла вода. Поскольку я не знал о проблеме, пока не стало слишком поздно, мне пришлось вызвать сантехника, когда ущерб уже был нанесен. Даже на такую простую утечку, как эта, я потратил более 500 долларов на ее устранение.
Но все могло быть намного хуже. Основной ущерб часто вызывают споры плесени.
Утечки воды также могут привести к повреждению конструкции. Стены начинают вздуваться и коробиться, в них появляются трещины и дыры. Кроме того, протечки воды могут негативно сказаться на стоимости дома.
Я никогда не хотел иметь дело с осложнениями, поэтому я решил взять дело в свои руки. Но, конечно, важно было найти решение, которое было бы не только веселым, интересным, но и полезным.
Создаем оповещения об утечках воды с помощью Raspberry Pi
Во время поиска решения в виде предупреждений об утечках воды я обнаружил, что для достижения своей цели могу использовать небольшой доступный одноплатный компьютер [Raspberry Pi] (https://www.raspberrypi.com/). С помощью этого крошечного компьютера я мог считывать сигналы с моего датчика воды, а затем отправлять эти сигналы на свой монитор.
Для разработки проекта, который я назвал [potential-octo-lamp] (https://github.com/suhasdeshpande/potential-octo-lamp), я сначала получил все необходимое оборудование для обнаружения утечек воды и подключения к своему компьютеру. . Эти устройства включали:
- [Raspberry Pi 4 Model B] (https://www.amazon.com/dp/B07WYC73LF?psc=1&ref=ppx_yo2_dt_b_product_details)
- [Датчик воды на полу для обнаружения наводнений и утечек] (https://www.amazon.com/dp/B079YB1T8J?psc=1&ref=ppx_yo2_dt_b_product_details)
- [Карта памяти SanDisk Ultra MicroSDXC UHS-I 128 ГБ с адаптером] (https://www.amazon.com/dp/B08GYKNCCP?psc=1&ref=ppx_yo2_dt_b_product_details)
- [Комплект расширения GPIO Breakout для Raspberry Pi 4B] (https://www.amazon.com/dp/B08736NSPK?psc=1&ref=ppx_yo2_dt_b_product_details)
Следующим шагом было создание «потенциальной окто-лампы» для отправки предупреждений о любых обнаруженных утечках воды. Я создал проект для проверки наличия утечек из датчика с помощью языков программирования JavaScript и TypeScript. Когда потенциальная окто-лампа обнаруживает один из них, он отправляет результат на мой телефон с помощью Courier и Twilio.
С помощью Courier я мог создавать собственные оповещения и определять их заголовки и основной текст. Я также мог бы указать каналы связи, по которым должны идти оповещения, и получателей этих оповещений. Я также добавил интеграцию Twilio в Courier, чтобы доставлять содержимое моих предупреждений по указанным каналам — в данном случае по SMS и электронной почте.
Как использовать Potential-octo-lamp для получения оповещений
К счастью, я действительно хороший парень и сделал потенциальную окто-лампу открытым исходным кодом. Вы можете использовать мою программу для защиты собственного дома от протечек воды. Если у вас есть все требования к оборудованию, перечисленные выше, подключите Raspberry к датчику воды. Если вам нужна помощь в их настройке, вам поможет это руководство. Затем вы можете начать использовать окто-лампу, чтобы получать оповещения об утечках воды, выполнив пять простых шагов:
1. Создайте свои учетные записи Courier и Twilio
Если у вас еще нет учетных записей Courier и Twilio, вам необходимо подписать для обоих, чтобы настроить вашу систему оповещения. Вы можете бесплатно зарегистрироваться на Courier и Twilio, используя адрес электронной почты. Courier также позволяет вам использовать свою учетную запись Google или GitHub для создания учетной записи.
2. Добавьте интеграцию Twilio в Courier
Начните с получения SID вашей учетной записи, токена аутентификации и SID службы обмена сообщениями от Twilio. Затем войдите в свою учетную запись Courier и перейдите в раздел Интеграции. Добавьте информацию Twilio в соответствующие поля в Courier.
3. Получите токен авторизации курьера
Когда вы создаете учетную запись в Courier, вы получаете токен аутентификации, чтобы вы могли безопасно отправлять запросы в Courier и из него. После входа в систему вы можете получить свой Courier Auth Token на [странице ключей API в настройках] (https://app.courier.com/settings/api-keys).
4. Склонируйте потенциальную окто-лампу и добавьте свой токен аутентификации курьера
Затем перейдите на GitHub и клонируйте [potential-octo-lamp] (https://github.com/suhasdeshpande/potential-octo-lamp). Поскольку вводить токен аутентификации Courier непосредственно в код небезопасно, создайте файл .env и добавьте его туда. Таким образом, это видно только вам.
5. Запустите приложение
Наконец, выполните следующие команды одну за другой, чтобы установить зависимости и начать проверку на наличие утечек воды:
установить нпм
запустить сборку npm
запустить запуск npm
Как только ваш датчик воды на полу обнаруживает утечку, потенциальная окто-лампа отправляет оповещения об утечке воды получателям, которых вы добавили в Courier. Затем вы можете быстро устранить утечку, чтобы предотвратить дальнейшее повреждение.
Оповещения — ваш ответ на срочные ситуации
Potential-octo-lamp имеет открытый исходный код, поэтому вы можете клонировать его и использовать самостоятельно. Любые улучшения или предложения, которые у вас могут быть, также приветствуются. Вы можете задать вопрос или обратиться ко мне, если хотите внести свой вклад в проект!
Оригинал