HC-SR04 (ultrasonic distance) + ASI Biont: AI-автоматизация безопасности и мониторинга помещений

Введение: почему ультразвуковой дальномер HC-SR04 — идеальный датчик для AI-интеграции

Датчик расстояния HC-SR04 — один из самых популярных и доступных компонентов в мире IoT. Его цена (около $2) и простота использования делают его стандартом для прототипирования: от роботов-пылесосов до систем парковки. Однако в одиночку этот датчик — просто источник сырых сантиметров. Настоящая ценность раскрывается, когда HC-SR04 подключается к AI-агенту, который может анализировать данные в реальном времени, выявлять аномалии, управлять другими устройствами и логировать события.

ASI Biont — это AI-агент, который подключается к любому устройству через диалог в чате. Вам не нужно писать код интеграции вручную: просто опишите задачу, и AI сам сгенерирует скрипт на Python, используя одну из доступных библиотек (pyserial, paho-mqtt, pymodbus и другие). В этой статье мы разберём конкретный сценарий: подключение HC-SR04 к ASI Biont через Hardware Bridge и MQTT, настройку триггеров для оповещений и автоматизации.

Как HC-SR04 работает и какие данные он выдаёт

HC-SR04 измеряет расстояние от 2 см до 4 метров с точностью около 3 мм. Принцип действия: датчик посылает ультразвуковой импульс (40 кГц) и замеряет время возврата эха. Расстояние вычисляется по формуле: distance = (time * speed_of_sound) / 2. В сухом воздухе при 20°C скорость звука — 343 м/с.

Датчик имеет 4 пина:
- VCC — питание 5V
- GND — земля
- Trig — вход для запуска измерения
- Echo — выход эхо-сигнала (длительность импульса пропорциональна расстоянию)

Микроконтроллер (ESP32, Arduino) отправляет на Trig 10-микросекундный импульс, затем измеряет длительность импульса на Echo. Получаем расстояние в сантиметрах.

Способы подключения HC-SR04 к ASI Biont

ASI Biont поддерживает несколько способов интеграции с датчиками. Для HC-SR04 оптимальны два варианта:

Способ Плюсы Минусы Когда использовать
Hardware Bridge (COM-порт) Прямое чтение с микроконтроллера, низкая задержка Требуется ПК рядом с устройством Лабораторные стенды, прототипирование
MQTT через ESP32 Удалённый доступ, масштабирование Нужен Wi-Fi, настройка MQTT-брокера Умный дом, промышленный IoT

В этой статье мы рассмотрим оба варианта, но основной фокус — на MQTT, как на более гибком решении для реального использования.

Вариант 1: Hardware Bridge — прямое подключение через COM-порт

Этот способ подходит, если у вас Arduino Uno или ESP32 подключены к ПК через USB. Пользователь запускает bridge.py на своём компьютере, который соединяется с ASI Biont через WebSocket. AI отправляет команды, bridge читает/пишет в COM-порт.

Шаг 1: Подготовка микроконтроллера

Загрузите на Arduino/ESP32 скетч, который отправляет данные с датчика по Serial. Вот пример для Arduino:

const int trigPin = 9;
const int echoPin = 10;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long duration = pulseIn(echoPin, HIGH);
  float distance = duration * 0.034 / 2;

  Serial.print("DIST:");
  Serial.println(distance);
  delay(1000);
}

Шаг 2: Настройка bridge.py

  1. Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
  2. Установите зависимости: pip install pyserial requests websockets
  3. Запустите bridge с параметрами:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 9600

На Linux порт будет выглядеть как /dev/ttyUSB0.

Шаг 3: AI-интеграция в чате

Теперь в чате с ASI Biont напишите:

Подключись к COM3 на скорости 9600. Я отправил команду HELP — прочитай ответ и покажи данные с датчика.

AI выполнит:

# AI генерирует этот код и отправляет через industrial_command
industrial_command(
    protocol='serial',
    command='serial_write_and_read',
    data='48454c500a'  # HELP + \n в hex
)

В ответ bridge пришлёт список команд. Теперь попросите AI читать данные:

Каждые 5 секунд читай данные с COM3 и логируй их. Если расстояние меньше 30 см — отправь уведомление в Telegram.

AI сгенерирует скрипт для execute_python, который будет циклически отправлять serial_write_and_read команды через industrial_command(), парсить строки DIST:xx.xx и публиковать результаты.

Вариант 2: MQTT — облачная интеграция с ESP32

Этот способ позволяет получать данные с датчика удалённо, без привязки к ПК. ESP32 подключается к Wi-Fi и публикует показания в MQTT-топик. ASI Biont подписывается на этот топик и обрабатывает данные.

Шаг 1: Скетч для ESP32 с MQTT

#include <WiFi.h>
#include <PubSubClient.h>

const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";
const char* mqtt_server = "broker.hivemq.com";
const char* topic = "home/sensor/distance";

const int trigPin = 5;
const int echoPin = 18;

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  Serial.begin(115200);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  client.setServer(mqtt_server, 1883);
}

void loop() {
  if (!client.connected()) {
    client.connect("ESP32Client");
  }
  client.loop();

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long duration = pulseIn(echoPin, HIGH);
  float distance = duration * 0.034 / 2;

  // Публикуем в формате JSON
  String payload = "{\"distance\":" + String(distance) + "}";
  client.publish(topic, payload.c_str());

  delay(2000);
}

Шаг 2: Интеграция через execute_python

В чате с ASI Biont напишите:

Подпишись на MQTT-топик "home/sensor/distance" на брокере broker.hivemq.com. Получай данные в формате JSON. Если расстояние меньше 20 см — отправь мне уведомление в Telegram. Логируй все показания в CSV-файл.

AI сгенерирует и выполнит следующий скрипт:

import paho.mqtt.client as mqtt
import json
import csv
from datetime import datetime

LOG_FILE = "/tmp/distance_log.csv"

# Инициализируем CSV с заголовками
with open(LOG_FILE, 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(["timestamp", "distance_cm"])

def on_message(client, userdata, msg):
    try:
        data = json.loads(msg.payload)
        distance = data["distance"]
        timestamp = datetime.now().isoformat()

        # Логируем в CSV
        with open(LOG_FILE, 'a', newline='') as f:
            writer = csv.writer(f)
            writer.writerow([timestamp, distance])

        # Проверяем порог
        if distance < 20:
            # Отправляем уведомление в Telegram
            import requests
            bot_token = "YOUR_BOT_TOKEN"
            chat_id = "YOUR_CHAT_ID"
            message = f"⚠️ Опасность! Расстояние: {distance} см"
            requests.post(
                f"https://api.telegram.org/bot{bot_token}/sendMessage",
                json={"chat_id": chat_id, "text": message}
            )

        print(f"[{timestamp}] Distance: {distance} cm")
    except Exception as e:
        print(f"Error: {e}")

client = mqtt.Client()
client.on_message = on_message
client.connect("broker.hivemq.com", 1883, 60)
client.subscribe("home/sensor/distance")
client.loop_forever()

Важно: В sandbox ASI Biont этот скрипт будет выполняться до 30 секунд. Для постоянного мониторинга используйте industrial_command с длительным опросом.

Вариант 3: Управление через Modbus/TCP (промышленный сценарий)

Если HC-SR04 интегрирован в промышленный контроллер (например, Siemens S7-1200 с модулем расширения), ASI Biont может читать данные через Modbus TCP. Команда:

industrial_command(
    protocol='modbus',
    command='read_registers',
    ip='192.168.1.100',
    port=502,
    unit_id=1,
    address=0,
    count=2
)

AI получит значение в регистрах и преобразует его в расстояние.

Сценарии автоматизации с HC-SR04 и ASI Biont

Вот 5 практических сценариев, которые можно реализовать за минуты в чате:

Сценарий Действие AI Результат
Охрана периметра При distance < 50 см → отправка Telegram + включение сирены через реле Мгновенное оповещение о вторжении
Умный гараж При distance < 30 см (машина заехала) → включение света на 5 минут Автоматическое освещение
Мониторинг уровня жидкости Логирование каждые 10 минут, построение графика в matplotlib Прогнозирование заполнения бака
Робот-уборщик При distance < 20 см → отправка команды на поворот (MQTT publish) Объезд препятствий
Энергосбережение Если distance > 200 см (никого нет) 5 минут → выключение кондиционера Снижение счетов за электричество

Почему ASI Biont — лучший выбор для HC-SR04

  1. Нулевой порог входа. Не нужно изучать документацию MQTT или Modbus. Просто опишите задачу словами.
  2. Гибкость. Подключайте датчик через COM, MQTT, SSH, Modbus — AI сам выберет оптимальный протокол.
  3. Автоматизация без кода. Триггеры настраиваются в диалоге: «Если расстояние меньше X, сделай Y».
  4. Логирование и аналитика. AI может вести историю показаний, строить графики, предсказывать тренды.
  5. Масштабирование. Добавьте 10 датчиков — AI обработает данные со всех, объединит их в единую картину.

Как начать за 5 минут

  1. Зарегистрируйтесь на asibiont.com.
  2. В дашборде создайте API-ключ и скачайте bridge.py (если используете COM-порт).
  3. Подключите HC-SR04 к микроконтроллеру и загрузите скетч.
  4. Напишите в чат: «Подключись к моему датчику расстояния через MQTT на топик home/sensor/distance. Каждые 5 секунд проверяй расстояние. Если меньше 30 см — отправь мне Telegram».
  5. AI сделает всё остальное.

Заключение

HC-SR04 — это не просто дешёвый датчик. В связке с AI-агентом ASI Biont он превращается в интеллектуальную систему безопасности, мониторинга и автоматизации. Вам не нужно быть программистом, чтобы настроить сложную логику: достаточно описать задачу на естественном языке. Попробуйте интеграцию на asibiont.com прямо сейчас — и ваш гараж, склад или офис станут умнее.

← Все статьи

Комментарии

Читайте также

Как я обуздал Vibe Coding: заставляем Grok и Codex делать ревью за Claude Code

20 июля 2026

Как превратить любительские снимки в профессиональные: курс «Фотография и обработка» с AI-тьютором на Asibiont

20 июля 2026

Edge AI на Raspberry Pi: интеграция TensorFlow Lite и ONNX Runtime с AI-агентом ASI Biont

20 июля 2026

Интеграция Snowflake с AI-агентом ASI Biont: аналитика без кода и автоматизация отчетности

20 июля 2026

Как подключить 3D-принтер (Marlin/Klipper) к AI-агенту ASI Biont: полный гайд по автоматизации печати

20 июля 2026

AWS Solutions Architect Professional (SAP-C02) в 2026 году: Полное руководство по карьере облачного архитектора

20 июля 2026

Не только Neuralink: как сегодня развиваются интерфейсы «мозг-компьютер»

20 июля 2026

От хаоса к контролю: Как курс по Terraform и IaC на Asibiont.com преобразует управление мультиоблачными средами

20 июля 2026

HC-SR04 и ASI Biont: интеграция ультразвукового датчика с AI-агентом для автоматизации контроля уровня и обнаружения препятствий

20 июля 2026