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

Введение

Датчик движения (PIR-сенсор) — одно из самых популярных устройств для умного дома и офисной автоматизации. Он фиксирует инфракрасное излучение от движущихся объектов (людей, животных) и выдает сигнал при обнаружении движения. Подключив такой сенсор к AI-агенту ASI Biont, вы получаете возможность создавать сложные сценарии: автоматически включать свет, отправлять уведомления в Telegram, запускать запись с камеры, управлять климатом и многое другое — без написания кода вручную. ASI Biont сам пишет код интеграции, адаптируясь под ваше оборудование и протоколы. В этой статье мы разберем, как подключить PIR-датчик к ASI Biont через MQTT и GPIO на примере ESP32, настроить автоматизацию и получить готовые скрипты для реальных задач.

Почему PIR-датчик и ASI Biont — идеальная пара?

PIR-сенсоры используются повсеместно: в системах безопасности, управлении освещением, учете посещаемости помещений. Однако традиционная настройка таких сценариев требует либо покупки дорогих контроллеров, либо написания кода на MicroPython/C++ для ESP32/Arduino. ASI Biont снимает этот барьер: AI-агент понимает вашу задачу на естественном языке, сам выбирает протокол (MQTT, GPIO через SSH, COM-порт через Hardware Bridge), пишет и выполняет код. Это особенно ценно, если вы хотите быстро прототипировать итерацию умного дома без глубоких знаний программирования.

Как ASI Biont подключается к PIR-датчику?

В зависимости от того, как подключен ваш PIR-датчик, ASI Biont может использовать несколько способов:

Способ подключения Когда применим Пример оборудования
MQTT Датчик подключен к ESP32, который публикует данные в MQTT-брокер ESP32 + PIR, реле
GPIO через SSH Датчик на Raspberry Pi или другом одноплатнике Raspberry Pi + PIR
COM-порт (Hardware Bridge) Датчик подключен к Arduino через USB Arduino UNO + PIR
HTTP API Датчик в составе системы умного дома с REST API Контроллер Home Assistant

Самый гибкий и популярный сценарий — ESP32 с MQTT. Почему? Потому что ESP32 стоит недорого (~300 руб.), имеет встроенный Wi-Fi, легко прошивается через Arduino IDE или MicroPython, а MQTT — легковесный протокол, идеальный для IoT. ASI Biont подключается к тому же MQTT-брокеру (например, Mosquitto на Raspberry Pi или облачный HiveMQ) и может как подписываться на топик с данными датчика, так и публиковать команды для управления нагрузкой.

Пошаговая интеграция: PIR-датчик на ESP32 + MQTT + ASI Biont

Шаг 1. Аппаратное подключение

Схема подключения PIR-датчика (например, HC-SR501) к ESP32:

PIR-сенсор HC-SR501:
- VCC  → 3.3V ESP32
- GND  → GND ESP32
- OUT  → GPIO 4 (D4) ESP32

Реле (для управления светом):
- VCC  → 3.3V ESP32
- GND  → GND ESP32
- IN   → GPIO 5 (D5) ESP32

Шаг 2. Скетч для ESP32 (MicroPython)

Загрузите на ESP32 следующий код (через Thonny или ampy). Этот код публикует состояние датчика в MQTT-топик home/pir и подписывается на топик home/light/command для управления реле:

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

# Настройки Wi-Fi и MQTT
WIFI_SSID = "your_wifi_ssid"
WIFI_PASS = "your_wifi_password"
MQTT_BROKER = "192.168.1.100"  # IP вашего MQTT-брокера
CLIENT_ID = "esp32_pir"
TOPIC_PIR = "home/pir"
TOPIC_LIGHT_CMD = "home/light/command"

# Пины
pir = machine.Pin(4, machine.Pin.IN)
relay = machine.Pin(5, machine.Pin.OUT)

# Подключение к Wi-Fi
def connect_wifi():
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    wlan.connect(WIFI_SSID, WIFI_PASS)
    while not wlan.isconnected():
        time.sleep(0.5)
    print("WiFi connected")

# Callback для подписки
def sub_cb(topic, msg):
    if topic == TOPIC_LIGHT_CMD.encode():
        if msg == b"ON":
            relay.value(1)
        elif msg == b"OFF":
            relay.value(0)

# Основной цикл
def main():
    connect_wifi()
    client = MQTTClient(CLIENT_ID, MQTT_BROKER)
    client.set_callback(sub_cb)
    client.connect()
    client.subscribe(TOPIC_LIGHT_CMD.encode())
    print("Connected to MQTT broker")

    last_state = -1
    while True:
        state = pir.value()
        if state != last_state:
            client.publish(TOPIC_PIR.encode(), b"1" if state else b"0")
            last_state = state
        client.check_msg()
        time.sleep(0.1)

try:
    main()
except KeyboardInterrupt:
    print("Interrupted")

Шаг 3. Подключение ASI Biont к MQTT-брокеру

Теперь самое интересное. Откройте чат с ASI Biont и опишите задачу (на русском или английском):

«Подключись к MQTT-брокеру по адресу 192.168.1.100, порт 1883. Подпишись на топик home/pir. Если значение пришло 1 (движение), опубликуй в топик home/light/command сообщение ON, через 5 минут отправь OFF. Также отправь уведомление в Telegram: „Обнаружено движение в комнате“»

AI-агент ASI Biont выполнит следующие действия:
1. Сгенерирует Python-скрипт с использованием библиотеки paho-mqtt.
2. Запустит его в защищенном sandbox-окружении (таймаут 30 секунд, поэтому код не должен содержать бесконечных циклов — AI использует client.loop() с таймером).
3. Подпишется на топик, получит данные и выполнит логику.
4. Отправит уведомление через Telegram Bot API (если вы предоставили токен и chat_id).

Пример кода, который ASI Biont сгенерирует и выполнит:

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

BROKER = "192.168.1.100"
TOPIC_PIR = "home/pir"
TOPIC_LIGHT = "home/light/command"
TELEGRAM_TOKEN = "your_token"
CHAT_ID = "your_chat_id"

def on_message(client, userdata, msg):
    payload = msg.payload.decode()
    if payload == "1":
        # Включить свет
        client.publish(TOPIC_LIGHT, "ON")
        # Отправить уведомление в Telegram
        requests.post(
            f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
            json={"chat_id": CHAT_ID, "text": "Обнаружено движение в комнате"}
        )
        # Через 5 минут выключить (здесь - однократный вызов, таймер в 300 сек)
        time.sleep(300)
        client.publish(TOPIC_LIGHT, "OFF")

client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe(TOPIC_PIR)
client.loop(timeout=1.0)  # не блокирует надолго

Важно: Поскольку sandbox имеет таймаут, AI может запланировать выполнение скрипта с помощью внешнего триггера (например, по расписанию) или использовать подход с однократным запуском и time.sleep в пределах 30 секунд. Для длительных сценариев рекомендуется настроить постоянный MQTT-клиент на вашем сервере или Raspberry Pi, а ASI Biont будет отправлять команды через industrial_command по мере необходимости.

Шаг 4. Альтернатива: управление через Hardware Bridge и COM-порт

Если вы используете Arduino с PIR-датчиком, ASI Biont может подключиться через Hardware Bridge. Для этого:
1. Скачайте bridge.py с портала ASI Biont.
2. Запустите на ПК, к которому подключена Arduino по USB:
bash python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200
3. В чате с AI напишите: «Подключись к Arduino через COM3, скорость 115200. Читай данные с аналогового пина A0 (PIR). Если значение > 500, отправь уведомление».

ASI Biont использует industrial_command с протоколом serial:// или arduino:// для отправки команд на bridge, который локально читает/пишет в COM-порт.

Реальные сценарии автоматизации

Сценарий Действие ASI Biont Команда в чате
Включение света при входе Получает MQTT-сообщение 1, публикует ON в топик реле «Если PIR показывает движение, включи свет через MQTT»
Охрана периметра Отправляет Telegram-уведомление с фото с камеры «При срабатывании PIR сделай снимок с камеры и отправь в Telegram»
Учет посещаемости Логирует время каждого срабатывания в Google Sheets «Записывай в Google Sheets время каждого события с PIR»
Умный климат Если движения нет 30 минут — уменьши отопление «Если PIR молчит 30 минут, отправь команду на термостат уменьшить температуру»

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

  • Нет необходимости писать код вручную. AI делает всю работу за секунды, генерируя Python-скрипты с использованием paho-mqtt, pyserial, paramiko и других библиотек.
  • Любое устройство. Подключайте PIR-датчик, камеру, реле, умную розетку — ASI Biont поддерживает MQTT, Modbus, HTTP API, OPC-UA, SSH и COM-порт.
  • Быстрое прототипирование. Вы можете за 5 минут настроить сценарий, который раньше занял бы час написания и отладки кода.
  • Гибкость. Если нужно изменить логику — просто опишите новую задачу в чате. AI перепишет код.

Заключение

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

← Все статьи

Комментарии

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

7 промтов для RAG-систем: индексация, поиск и генерация в 2026 году

14 июля 2026

Как подключить VGA output (ESP32 + DAC) к AI-агенту ASI Biont: практический гайд по интеграции дисплеев с нейросетью

14 июля 2026

Освойте веб-безопасность с ИИ: предотвратите SQL-инъекции, XSS и создавайте безопасные приложения — обзор курса Asibiont

14 июля 2026

Освойте ИИ в 2026 году: почему «Нейронные сети для начинающих» — ваш ключ к ChatGPT, Midjourney и Claude

14 июля 2026

Как AI-агент ASI Biont автоматизирует 70% задач HubSpot CRM: анализ бенчмарков 2026 года

14 июля 2026

Почему Performance per Watt — главный показатель эффективности AI-инфраструктуры

14 июля 2026

Как заставить Claude перестать говорить «load-bearing»: решение на 2026 год

14 июля 2026

Как AI-агент ASI Biont автоматизирует модерацию и уведомления в Discord: пошаговое руководство без кода

14 июля 2026

15 ТБ пикселей: Как устроен крупнейший доступный мир Minecraft и при чём тут Vibe Coding

14 июля 2026