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

Введение

PIR-датчик (Passive Infrared sensor) — один из самых распространённых сенсоров в IoT. Он фиксирует движение за счёт изменения инфракрасного излучения и применяется в системах охраны, умном освещении, климат-контроле. Однако стандартный PIR-датчик — это просто «пассивный» переключатель: он даёт сигнал «есть движение / нет движения». Чтобы сделать его частью интеллектуальной системы, нужен AI-агент, который анализирует поток данных, принимает решения и управляет исполнительными устройствами (реле, лампы, уведомления). ASI Biont — это AI-агент, который подключается к PIR-датчику через MQTT, COM-порт, HTTP API или другие протоколы. В этой статье мы на практике разберём, как интегрировать PIR-сенсор с ASI Biont, какие сценарии автоматизации открываются и почему это выгоднее, чем писать код вручную.

Зачем подключать PIR-датчик к AI-агенту?

PIR-датчик сам по себе — это «сырой» сигнал. Без AI-анализа он может вызывать ложные срабатывания (ветки деревьев, домашние животные), не учитывать время суток или контекст. ASI Biont решает эти проблемы:

  • Умная фильтрация — AI анализирует паттерны движения и отличает человека от животного или помехи.
  • Автоматизация по сценариям — включение света только в тёмное время суток, отправка уведомлений при обнаружении движения в запрещённой зоне.
  • Интеграция с другими устройствами — при срабатывании PIR-датчика AI может отправить команду на умную розетку, камеру или реле через тот же MQTT или HTTP API.
  • Логирование и аналитика — AI записывает данные о времени и частоте движений, строит графики и предсказывает пиковые нагрузки.

Какой способ подключения используется и почему?

Для интеграции PIR-датчика с ASI Biont наиболее универсальным и надёжным способом является MQTT. PIR-датчики часто подключаются к микроконтроллерам (ESP32, ESP8266, Raspberry Pi), которые публикуют данные в MQTT-брокер. ASI Biont подписывается на соответствующий топик и анализирует данные в реальном времени. Альтернативы:

Протокол Когда использовать Ограничения
MQTT ESP32/ESP8266 с PIR-датчиком, умный дом (Home Assistant, Node-RED) Требуется MQTT-брокер
COM-порт (Hardware Bridge) Arduino, подключённый к ПК через USB Нужен bridge.py на ПК
HTTP API Умные розетки/камеры с REST API Зависит от производителя
SSH Raspberry Pi с GPIO Требуется статический IP/SSH-доступ

В нашем примере выберем MQTT, так как он лёгкий, асинхронный и поддерживается большинством IoT-устройств.

Конкретный сценарий: PIR-датчик на ESP32 + MQTT + ASI Biont

Проблема: Пользователь хочет, чтобы при обнаружении движения в гостиной в тёмное время суток автоматически включался свет (через реле), а в Telegram приходило уведомление. При этом AI должен игнорировать движение днём и отсеивать ложные срабатывания от домашних животных.

Решение:
1. Подключение PIR-датчика к ESP32. Пин OUT датчика подключается к GPIO13 ESP32, питание — 5V, земля — GND.
2. ESP32 публикует данные в MQTT-брокер. Микроконтроллер отправляет сообщение в топик home/livingroom/motion со значением 1 (движение) или 0 (нет движения).
3. ASI Biont подписывается на топик. AI-агент получает данные, анализирует время суток (через API времени или локальное время), проверяет порог ложных срабатываний и при выполнении условий публикует команду в топик home/livingroom/light.
4. ESP32 подписывается на топик управления светом. При получении команды on реле замыкается, свет включается.

Пример кода для ESP32 (MicroPython)

import network
import time
from machine import Pin
from umqtt.simple import MQTTClient

# Настройки Wi-Fi
SSID = "your_ssid"
PASSWORD = "your_password"

# Настройки MQTT
MQTT_BROKER = "192.168.1.100"  # IP брокера
CLIENT_ID = "esp32_pir"
TOPIC_MOTION = b"home/livingroom/motion"

# Пин PIR-датчика
pir = Pin(13, Pin.IN)

# Подключение к Wi-Fi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASSWORD)
while not wlan.isconnected():
    time.sleep(0.5)

# Подключение к MQTT
client = MQTTClient(CLIENT_ID, MQTT_BROKER)
client.connect()

prev_state = pir.value()
while True:
    current_state = pir.value()
    if current_state != prev_state:
        client.publish(TOPIC_MOTION, b"1" if current_state else b"0")
        prev_state = current_state
    time.sleep(0.1)

Как ASI Biont подключается к этому MQTT-топику

Пользователь описывает задачу в чате с ASI Biont:

«Подключись к MQTT-брокеру 192.168.1.100, подпишись на топик home/livingroom/motion. Если обнаружено движение и время суток между 20:00 и 6:00, опубликуй в топик home/livingroom/light команду "on". При этом отправь уведомление в Telegram: chat_id = 123456789, токен бота = bot123:ABC. Игнорируй одиночные срабатывания короче 3 секунд (ложные срабатывания).»

AI-агент генерирует и выполняет Python-скрипт на сервере ASI Biont (через execute_python) с использованием paho-mqtt и aiohttp. Пример сгенерированного кода:

import paho.mqtt.client as mqtt
import requests
import time
from datetime import datetime

# Настройки MQTT
BROKER = "192.168.1.100"
TOPIC_MOTION = "home/livingroom/motion"
TOPIC_LIGHT = "home/livingroom/light"

# Настройки Telegram
TELEGRAM_TOKEN = "bot123:ABC"
CHAT_ID = "123456789"

# Переменные для фильтрации
last_motion_time = 0
motion_detected = False

def on_message(client, userdata, msg):
    global last_motion_time, motion_detected
    payload = msg.payload.decode()
    now = time.time()

    if payload == "1":
        if not motion_detected:
            last_motion_time = now
            motion_detected = True
        # Фильтр: игнорируем, если прошло меньше 3 секунд
        if now - last_motion_time >= 3:
            # Проверка времени суток
            hour = datetime.now().hour
            if hour >= 20 or hour < 6:
                # Включаем свет
                client.publish(TOPIC_LIGHT, "on")
                # Отправляем уведомление в Telegram
                requests.post(
                    f"https://api.telegram.org/{TELEGRAM_TOKEN}/sendMessage",
                    json={"chat_id": CHAT_ID, "text": "Движение в гостиной! Свет включён."}
                )
    else:
        motion_detected = False

client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe(TOPIC_MOTION)
client.loop_forever()

Важно: execute_python работает в облаке ASI Biont с таймаутом 30 секунд. Для долгоживущих подписок AI использует асинхронный режим или перезапускает скрипт при необходимости. В реальном сценарии AI может запустить скрипт в фоновом режиме через client.loop_start().

Результаты интеграции

После настройки пользователь получает:
- Автоматическое включение света при движении в тёмное время (с фильтром ложных срабатываний).
- Уведомления в Telegram с указанием времени и места.
- Логирование всех событий в БД (AI может записывать данные в PostgreSQL или MongoDB).
- Возможность расширения — например, добавить камеру и при движении делать фото.

Почему это выгодно?

Обычно интеграция PIR-датчика с AI-агентом потребовала бы написания десятков строк кода, настройки MQTT-клиента, фильтров, уведомлений — это часы работы. С ASI Biont пользователь просто описывает задачу на естественном языке, и AI сам генерирует и выполняет код. Никаких панелей управления — всё через диалог в чате. При этом ASI Biont поддерживает любой протокол: если устройство использует не MQTT, а Modbus, COM-порт или HTTP API — AI адаптируется под него.

Заключение

PIR-датчик — это базовый элемент умного дома, но его потенциал раскрывается только в связке с AI-агентом. ASI Biont позволяет подключить PIR-сенсор за минуты, настроить умные сценарии автоматизации и получать уведомления. Не нужно ждать, пока разработчики добавят поддержку вашего устройства — AI сам пишет код под любую периферию.

Попробуйте интеграцию прямо сейчас на asibiont.com. Опишите в чате ваше устройство и задачу — AI подключится, проанализирует данные и автоматизирует процессы. Умный дом становится действительно умным.

← Все статьи

Комментарии

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

Alice AI ART 2.0: путь к unified-модели, которая одинаково хорошо умеет генерировать и редактировать картинки

14 июля 2026

MQTT + ASI Biont: AI-агент для автоматизации IoT и телеметрии на Mosquitto и EMQX

14 июля 2026

От нуля до App Store: Как курс мобильной разработки на Asibiont.com использует ИИ для превосходства над отраслевыми показателями

14 июля 2026

Интеграция Oracle E-Business Suite с ИИ-агентом: автоматизация ERP-процессов в 2026 году

14 июля 2026

10 промтов для машинного обучения: Scikit-learn, XGBoost и CatBoost — от препроцессинга до обучения моделей

14 июля 2026

Как я перестал быть дизайнером-самоучкой и получил первый заказ: обзор курса «Цифровое искусство и дизайн» на Asibiont

14 июля 2026

Мастерство SQL: Почему продвинутые навыки работы с базами данных — ваша страховка карьеры в 2026 году

14 июля 2026

Интеграция TFT LCD (ILI9341, ST7789) с AI-агентом ASI Biont: создаем умный IoT-дашборд без сервера

14 июля 2026

Курс «Пожарная безопасность» на asibiont.com: как освоить требования и защитить бизнес с помощью AI

14 июля 2026