Система оповещения об уровне воды
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Приложения и онлайн-сервисы
| ||||
| ||||
|
Об этом проекте
Введение
Если вы живете в Бангалоре несколько лет, то наводнения вам не привыкать. Каждый год во время сезона дождей подземная парковка моей квартиры наполняется водой до такой степени, что невозможно даже запустить двигатель велосипеда. Что еще хуже, когда вода высыхает, мне приходится отнести свой велосипед к механику для ремонта из-за повреждения водой. В этом году я бы не стал ничего брать. Поэтому я решил создать систему мониторинга уровня воды, которая будет предупреждать меня, если парковка затоплена.
Вот как можно настроить и запустить ту же систему.
Установите необходимые библиотеки
Щелкните здесь и здесь, чтобы загрузить библиотеку BoltIoT-Arduino-Helper от BoltIoT и библиотеку Ultrasonic от Эрика Симоэса.
Чтобы установить эти библиотеки, перейдите в среду разработки Arduino, в раскрывающемся меню «Эскиз» выберите «Включить библиотеку»> «Добавить .ZIP-библиотеку».
Затем перейдите в папку, в которую были загружены библиотеки, и выберите их.
Загрузите код Arduino
1. Откройте среду разработки Arduino.
2. Скопируйте код Arduino в конце блога и замените весь код внутри скетча скопированным кодом.
3. Сохраните эскиз Arduino, нажав ctrl + s на widows и ubuntu, и cmd + s на Mac.
4. После сохранения кода перейдите в меню инструментов и в разделе плат выберите Arduino / Genuino Uno.
5. Подключите Arduino или Boltduino к компьютеру с помощью кабеля USB.
6. В меню инструментов в подменю порта выберите порт, в конце которого есть Arduino / Genuino uno.
7. Нажмите "Загрузить".
Код будет загружен на ваш Arduino или Boltduino.
Настройка оборудования
Выполните подключение согласно приведенным ниже схемам Fritzing.
ПРИМЕЧАНИЕ. Нажмите ">", чтобы увидеть диаграмму Фритзинга для использования Boltduino вместо Arduino.
Если вы используете Boltduino вместо Arduino, вам придется делать несколько меньше подключений, так как модуль Bolt WiFi подходит непосредственно к Boltduino.
Установите систему так, чтобы датчик был обращен к полу, где вода со временем будет застаиваться.
Помните, что порог обнаружения всегда будет меньше, чем высота датчика.
Включите систему с помощью адаптера постоянного тока на 9 или 12 В.
Примечание. Если вы не настроили, значит, вы еще не настроили Bolt, следуйте инструкциям, приведенным здесь: Настройка Bolt .
Настройте сценарий Integromat для отправки оповещений по электронной почте
Если вы еще этого не сделали, создайте учетную запись в Integromat, нажмите здесь, чтобы перейти на страницу регистрации. Если у вас уже есть учетная запись Integormat, войдите в Integromat.
Используя следующий шаг, чтобы клонировать созданный мной сценарий «Определение уровня воды».
1. Загрузите план сценария определения уровня воды, вложенный в раздел кода этого проекта. Не забудьте сохранить файл с именем «WaterLevelDetection.json».
2. Создайте сценарий, нажав синюю кнопку «Создать новый сценарий» в правом верхнем углу, и нажмите «Продолжить».
3. Нажмите кнопку «Еще» внизу экрана.
4. Выберите «Импортировать чертеж» и нажмите «Выбрать файл».
5. Перейдите в папку, в которую вы загружаете файл WaterLevelDetection.json, выберите файл и нажмите «Открыть». После этого нажмите "Сохранить". Будет загружен сценарий определения уровня воды.
6. Щелкните название сценария и измените его на «Определение уровня воды».
Выполните следующие действия, чтобы настроить сценарий обнаружения уровня воды.
1. Получите ключ API Bolt Cloud, нажав здесь. На изображениях ниже показано, как включить и скопировать ключ API.
2. Вернитесь к сценарию Integromat и щелкните первый кружок BoltIoT, а затем нажмите кнопку «Добавить».
3. Вставьте ключ API, который вы скопировали ранее, и нажмите кнопку «Продолжить».
3. Добавьте имя вашего устройства. Вы можете узнать название устройства вашего WiFi-модуля Bolt, щелкнув здесь. Затем нажмите ОК.
4. Для второго и третьего пузырей BoltIoT вы можете щелкнуть раскрывающееся меню и выбрать «My Bolt Connection». Не забудьте добавить к каждому из них правильное имя устройства.
5. Щелкните кружок с математическими вычислениями и измените значение 100 на высоту, на которой вы держали датчик, в сантиметрах. Затем нажмите ОК.
6. Щелкните красную точку между кружком математики и Gmail, замените 60 на высоту воды, о которой вы хотите получать оповещения, и нажмите "ОК".
6. Щелкните всплывающее окно Gmail и нажмите кнопку редактирования.
7. Добавьте свой адрес электронной почты и нажмите ОК.
8. Нажмите кнопку «Добавить», затем кнопку «Продолжить» и разрешите Integromat доступ к вашей учетной записи Gmail.
9. Вы можете добавить других получателей, нажав кнопку «Добавить получателя», а затем нажмите кнопку «ОК».
10. Убедитесь, что на вашу схему подано питание и что перед датчиком нет препятствий, и нажмите кнопку «Выполнить». Сценарий будет запущен и будет ждать перед фильтром, обозначенным цифрой «1» в пузыре мыслей. Если вы поместите руку перед датчиком и запустите сценарий, сценарий будет работать до пузыря Gmail, и вы получите электронное письмо.
11. Нажмите кнопку рядом с текстом «выключено», чтобы включить сценарий. Теперь сценарий будет запускаться автоматически каждые 15 минут. и вы получите уведомление, если уровень воды поднимется выше установленной вами высоты.
Монтаж системы
Как только это будет сделано, все, что вам нужно сделать, это установить систему так, чтобы датчик указывал на пол, включите систему и убедитесь, что Bolt имеет постоянный доступ к Интернету через ваш Wi-Fi.
Приложения
Систему можно использовать в следующих приложениях.
- Обнаружение затопления вашей парковки.
- Получение предупреждения, когда ваш резервуар для воды полон или пуст.
- Обнаружение прилива, если у вас есть дом у моря.
Другие проекты на основе Bolt
Хотите создать еще один проект с Bolt? Вот несколько предложений:
1. Начало работы с Bolt:система контроля температуры
2. Домашняя автоматизация
Код
- Система определения уровня воды с использованием ультразвукового датчика HC-SR04
- Определение уровня воды
Система определения уровня воды с использованием ультразвукового датчика HC-SR04 C / C ++
#include#include #define ULTRASONIC_TRIG_PIN 12 # define ULTRASONIC_ECHO_PIN 13Ультразвуковой ультразвуковой (ULTRASONIC_TRIG_PIN, ULTRASONIC_ECHO_PIN); =ultrasonic.read (); Строка returnString ="" + Строка (расстояние); return returnString;} установка void () {boltiot.begin (серийный); // поместите сюда свой установочный код для однократного запуска:boltiot.setCommandString ("RD \ r", getDistance); boltiot.setCommandString ("GetDistance", getDistance);} недействительный цикл () {boltiot.handleCommand (); // поместите сюда ваш основной код, чтобы запускать его повторно:}
WaterLevelDetection JSON
Это файл json, содержащий схему сценария Integromat.{"name":"Определение уровня воды", "flow":[{"id":15, "module":"app # bolt-iot:executeCommand "," version ":1," parameters ":{" __IMTCONN__ ":445281}," mapper ":{" command ":" serialBegin "," parameters ":{" baud ":" 9600 "," deviceName " :""}}, "метаданные":{"конструктор":{"x":8, "y":-3}, "восстановление":{"команда":{"label":"Инициализировать последовательную связь"} , "__IMTCONN__":{"label":"My Bolt connection"}}, "parameters":[{"name":"__IMTCONN__", "type":"account", "label":"Connection", "обязательно ":true}]," expect ":[{" name ":" command "," type ":" select "," label ":" Command "," required ":true," validate ":{" enum " :["digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "версия", "перезапуск", "isAlive"]}}, {"имя":"parameters", "spec":[{"name":"deviceName", "type":"text", "label":"Имя устройства", "required":true}, {"name":"baud" , "тип":" number "," label ":" Baud "," required ":true}]," type ":" collection "," label ":" Parameters "}]}}, {" id ":1," module ":"app # bolt-iot:executeCommand", "version":1, "parameters":{"__IMTCONN__":445281}, "mapper":{"command":"serialWrite", "parameters":{"data":"GetDistance", "deviceName":""}}, "metadata":{"designer":{"x":300, "y":0}, "restore":{"command":{"label":«Отправить последовательный вывод данных»}, «__IMTCONN__»:{«label»:«My Bolt connection»}}, «parameters»:[{«name»:«__IMTCONN__», «type»:«account», «label» :"Connection", "required":true}], "expect":[{"name":"command", "type":"select", "label":"Command", "required":true, " проверить ":{" перечисление ":[" digitalWrite "," digitalRead "," analogRead "," analogWrite "," serialBegin "," serialWrite "," serialRead "," версия "," перезапуск "," isAlive "]} }, {"name":"parameters", "spec":[{"name":"deviceName", "type":"text", "label":"Имя устройства", "required":true}, { "name":"data", "type":"text", "label":"Data", "required":true}], "type":"collection", "label":"Parameters"}]}}, {"id":14, "module":"app # bolt-iot:executeCommand", " версия ":1," параметры ":{" __IMTCONN__ ":445281}," mapper ":{" команда ":" serialRead "," параметры ":{" до ":" 10 "," deviceName ":" "} }, "метаданные":{"дизайнер":{"x":600, "y":0}, "restore":{"command":{"label":"Прочитать входящие последовательные данные"}, "__IMTCONN__" :{"label":"My Bolt connection"}}, "parameters":[{"name":"__IMTCONN__", "type":"account", "label":"Connection", "required":true} ], "expect":[{"name":"command", "type":"select", "label":"Command", "required":true, "validate":{"enum":["digitalWrite "," digitalRead "," analogRead "," analogWrite "," serialBegin "," serialWrite "," serialRead "," версия "," перезапуск "," isAlive "]}}, {" name ":" параметры ", "spec":[{"name":"deviceName", "type":"text", "label":"Имя устройства", "required":true}, {"name":"до", "type" :"number", "label":"Till", "required":true, "validate":{"max":127, "min":0}}], "type":"collection", "label":"Parameters"}]}}, {"id":18, "module":"math:EvaluateExpression "," version ":1," parameters ":{}," mapper ":{" expression ":" 100 - {{parseNumber (14.value)}} "}," metadata ":{" designer ":{"x":869, "y":-2}, "expect":[{"name":"выражение", "type":"text", "label":"Expression", "required":true }]}}, {"id":13, "module":"google-email:ActionSendEmail", "version":1, "parameters":{"account":445282}, "filter":{"name" :"Проверить, высокий ли уровень воды", "условия":[[{"a":"{{18.result}}", "b":"60", "o":"number:больше"}] ]}, "mapper":{"cc":[], "to":[], "bcc":[], "html":"Уровень воды достиг {{18.result}} cms.", " subject ":" Внимание! Уровень воды слишком высок !! "," attachments ":[]}," metadata ":{" designer ":{" x ":1145," y ":-3}," restore ":{" cc ":{"mode":"selected", "items":[]}, "to":{"mode":"selected", "items":["undefined"]}, "bcc":{"mode":"selected", "items":[]}, "account":{"label":""}, "attachments":{"mode":"selected", "items":[]}}, "parameters" :[{"name":"account", "type":"account", "label":"Connection", "required":true}], "expect":[{"name":"to", " spec ":{" name ":" "," type ":" email "," label ":" Адрес электронной почты "," required ":true}," type ":" array "," label ":" To " , "label":{"add":"Добавить получателя", "edit":"Изменить получателя"}, "required":true}, {"name":"subject", "type":"text" , "label":"Subject"}, {"name":"html", "type":"text", "label":"Content"}, {"name":"attachments", "spec":[ {"name":"fileName", "type":"filename", "label":"File name", "required":true, "semantic":"file:name"}, {"name":"данные "," тип ":" буфер "," метка ":" Данные "," обязательный ":истина," семантический " :"file:data"}, {"name":"cid", "type":"text", "label":"Content-ID"}], "type":"array", "label":" Attachments "," labels ":{" add ":" Добавить вложение "," edit ":" Редактировать вложение "}}, {" name ":" cc "," spec ":{" type ":" email "," label ":" Адрес электронной почты "}," type ":" array "," label ":" Копировать получателя "," labels ":{" add ":" Добавить получателя копии "," edit ":" Измените получателя копии "}}, {" name ":" bcc "," spec ":{" type ":" email "," label ":" Email address "}," type ":" array "," label ":" Получатель слепой копии "," label ":{" add ":" Добавить получателя слепой копии "," edit ":" Изменить получателя слепой копии "}}]}}]," метаданные ":{" версия ":1," сценарий ":{" круговых обходов ":1," maxErrors ":3," autoCommit ":false," sequence ":false," confidential ":false," dataloss ":false," dlq ":false }, "дизайнер":{"сироты":[]}, "зона":"eu1.integromat.com"}}
Схема
Производственный процесс
- Перевод вашей промышленной системы управления на беспроводную связь
- Аквапоника под управлением Raspberry Pi
- Готова ли ваша система к IoT?
- Использование сельского хозяйства IoT для расширения доступа к продуктам питания
- Подводный IoT революционизирует управление водными ресурсами
- Система управления лесами IoT двойного назначения
- Как IoT расширяет возможности системы слежения за транспортными средствами?
- Как IoT расширяет возможности системы управления автопарком?
- Улучшите хранение молока с помощью Интернета вещей:система мониторинга уровня молока
- Использование системы мониторинга уровня реки на основе IoT для эффективного управления водными ресурсами