Система мониторинга уровня воды в реальном времени с Bolt IoT
Компоненты и расходные материалы
| Модуль Bolt WiFi (Bolt IoT) | ×1 |
| Arduino UNO | ×1 |
| Ультразвуковой датчик HC-SR04 | ×1 |
| Кабель USB-A — Micro-USB | ×1 |
| Перемычки (набор) | ×1 |
Приложения и онлайн-сервисы
- Bolt Cloud
- Arduino IDE
- Integromat (Make) — для автоматизации отправки уведомлений
О проекте
Введение
Если вы живете в Бангалоре уже несколько лет, вы не чужды наводнениям. Каждый год в муссонский сезон подземный паркинг моего дома затапливает водой до уровня, когда невозможно даже завести мотоцикл. Хуже всего то, что после высыхания воды мне приходится везти мотоцикл в мастерскую для ремонта от повреждений водой. В этом году я решил не терпеть это и построил систему мониторинга уровня воды, которая предупреждает меня, если паркинг затапливается.
Вот как вы можете развернуть такую же систему.
Установка необходимых библиотек
Скачайте библиотеку BoltIoT-Arduino-Helper от BoltIoT и библиотеку Ultrasonic от Erick Simoes.
Для установки в Arduino IDE: меню Sketch → Include Library → Add .ZIP Library..., выберите скачанные файлы.
Загрузка кода в Arduino
- Откройте Arduino IDE.
- Скопируйте код из раздела «Код» ниже и замените им содержимое скетча.
- Сохраните скетч (Ctrl+S / Cmd+S).
- В меню Tools → Board выберите Arduino/Genuino Uno.
- Подключите Arduino или Boltduino к ПК через USB.
- В меню Tools → Port выберите порт с надписью Arduino/Genuino Uno.
- Нажмите Upload.
Сборка оборудования
Соберите схему согласно диаграммам Fritzing ниже.
Примечание: Нажмите на «>», чтобы увидеть схему для Boltduino вместо Arduino.


Если используете Boltduino, подключений меньше — модуль Bolt WiFi вставляется прямо в Boltduino.
Установите систему так, чтобы датчик смотрел вниз на пол, где со временем скапливается вода.


Помните: порог срабатывания всегда будет меньше высоты установки датчика.
Питание: 9V или 12V DC-адаптер.
Примечание: Если Bolt еще не настроен, следуйте инструкции: Setting up your Bolt.
Настройка сценария Integromat для email-уведомлений
Если у вас нет аккаунта Integromat (теперь Make), зарегистрируйтесь. Уже есть — войдите.
Клонируйте сценарий «Water Level Detection» по следующему алгоритму:
- Скачайте блюпринт (JSON) из раздела «Код», сохраните как
WaterLevelDetection.json. - Создайте новый сценарий (кнопка «Create a new scenario» → Continue).
- Нажмите «More» (три точки внизу) → «Import Blueprint» → выберите файл → Save.
- Переименуйте сценарий в «Water Level Detection».
Конфигурация сценария
- Получите API-ключ Bolt Cloud. Включите и скопируйте его.
- В сценарии кликните на первый модуль BoltIoT → «Add» → вставьте API-ключ → Continue.
- Добавьте имя устройства (Device Name) вашего Bolt WiFi модуля.
- Для второго и третьего модулей BoltIoT выберите «My Bolt Connection», укажите правильное имя устройства.
- В модуле «Math» замените значение
100на высоту установки датчика в см. - В фильтре (красная точка между Math и Gmail) замените
60на уровень воды (в см), при котором нужно получать алерт. - В модуле Gmail нажмите Edit → укажите свой email → OK.
- Нажмите Add → Continue → разрешите доступ к Gmail.
- При необходимости добавьте дополнительных получателей.
- Подайте питание на схему, убедитесь, что перед датчиком нет препятствий, нажмите Run. Сценарий запустится и будет ждать у фильтре. Если поднести руку к датчику и запустить — придет email.
- Переключите тумблер «OFF» в «ON». Сценарий будет выполняться автоматически каждые 15 минут, отправляя алерт при превышении заданного уровня воды.
Монтаж системы
Установите систему так, чтобы датчик смотрел на пол, подайте питание и обеспечьте Bolt постоянный доступ в интернет через WiFi.
Применение
- Обнаружение затапливаемости паркинга.
- Оповещение о наполнении/опустошении водонапорной башни.
- Мониторинг приливов для домов у моря.
Другие проекты на базе Bolt
- Начало работы с Bolt: Система мониторинга температуры
- Умный дом
Код
Water Level Detecting System using Ultrasonic HC-SR04 (C/C++)
#include <Ultrasonic.h>
#include <BoltIoT-Arduino-Helper.h>
#define ULTRASONIC_TRIG_PIN 12
#define ULTRASONIC_ECHO_PIN 13
Ultrasonic ultrasonic(ULTRASONIC_TRIG_PIN, ULTRASONIC_ECHO_PIN);
int distance = 0;
String getDistance(String *arguments) {
distance = ultrasonic.read();
String returnString = "" + String(distance);
return returnString;
}
void setup() {
boltiot.begin(Serial);
boltiot.setCommandString("RD\r", getDistance);
boltiot.setCommandString("GetDistance", getDistance);
}
void loop() {
boltiot.handleCommand();
}
WaterLevelDetection (JSON — блюпринт Integromat/Make)
Файл содержит полную структуру сценария для автоматизации оповещений. Скачайте из репозитория проекта.
Схемы
Производственный процесс
- Перевод промышленных систем управления на беспроводные сети
- Raspberry Pi управляемая аквапоника: гайд по сборке и код
- Готово ли ваше производство к IoT? Практическое руководство
- IoT-инженерное земледелие: умное решение для расширения доступа к еде
- Подводный IoT: трансформация управления водными ресурсами с инсайтами в реальном времени
- Передовая IoT-система с ИИ для ультра-раннего обнаружения лесных пожаров и мониторинга здоровья деревьев
- Как IoT революционизирует системы мониторинга транспорта
- Революция в управлении автопарком: как IoT ведет к эффективности и инсайтам
- Революция в управлении молочным производством с IoT-мониторингом уровня молока
- Умная IoT-система мониторинга рек: улучшение водного управления и предотвращение наводнений