Введение
Протокол 1-Wire уже более 20 лет остаётся стандартом де-факто для подключения цифровых датчиков температуры, влажности и других параметров в промышленных и бытовых системах. Популярность датчиков DS18B20 (температура) и DHT11/DHT22 (температура+влажность) обусловлена их низкой стоимостью, помехоустойчивостью и возможностью объединения до 100 устройств на одной двухпроводной линии. Однако традиционные системы мониторинга на базе 1-Wire статичны: они либо пишут данные в локальный лог-файл, либо отправляют их на простой веб-сервер. ASI Biont — AI-агент, способный в реальном времени подключаться к таким устройствам через COM-порт, анализировать данные и принимать решения. В этой статье мы покажем, как за несколько минут настроить интеграцию 1-Wire датчиков с AI-агентом, используя Hardware Bridge и Python-скрипты, генерируемые самим AI.
Зачем подключать 1-Wire к AI-агенту?
Классический подход: вы пишете на Arduino или Python скрипт, который раз в минуту опрашивает датчик, выводит значение в консоль или отправляет в базу данных. Для добавления уведомлений, анализа трендов или реакции на события (например, включение вентиляции при превышении 30°C) приходится вручную дописывать логику, настраивать Telegram-бота или веб-хуки. ASI Biont меняет парадигму: AI-агент сам пишет код интеграции, подключается к вашему оборудованию и управляет им через диалог в чате. Вам не нужно ждать обновлений прошивки или дописывать обработчики — просто опишите задачу, и AI выполнит её.
Какой способ подключения используется и почему?
Для интеграции с 1-Wire датчиками через COM-порт (например, USB-адаптер DS9490R или FTDI-конвертер, подключённый к Arduino/Raspberry Pi) ASI Biont использует Hardware Bridge. Это отдельное приложение bridge.py, которое пользователь запускает на своём ПК (Windows/Linux/macOS). Bridge подключается к облачному серверу ASI Biont через HTTP long polling и обеспечивает доступ ко всем COM-портам системы. AI отправляет команды через инструмент industrial_command с протоколом serial://, они передаются на bridge, который локально читает/пишет в COM-порт через библиотеку pyserial.
Почему именно Hardware Bridge?
- 1-Wire — последовательный протокол, работающий через UART/USB. Bridge обеспечивает прямой доступ к COM-портам без необходимости открывать порты из облака (что невозможно из-за NAT/брандмауэров).
- AI может динамически выбирать скорость (baud rate) и формат данных (8N1 по умолчанию).
- Не требуется статический IP или SSH-доступ к устройству — достаточно запустить bridge на том же ПК, к которому подключён адаптер 1-Wire.
Пошаговое руководство: подключаем DS18B20 к ASI Biont
Шаг 1. Аппаратная подготовка
Подключите датчик DS18B20 к USB-адаптеру 1-Wire (например, DS9490R) или к микроконтроллеру (Arduino, ESP32) с UART-конвертером. Схема подключения для адаптера DS9490R:
- Красный провод (VDD) — питание 5V
- Чёрный провод (GND) — земля
- Жёлтый провод (DATA) — сигнальный пин (на адаптере это единственный DATA-контакт)
Если вы используете Arduino, загрузите на него скетч-репитер, который преобразует 1-Wire сигнал в UART. Готовые прошивки доступны на GitHub (например, OneWireHub).
Шаг 2. Установка и запуск Hardware Bridge
- Скачайте
bridge.pyс официального сайта ASI Biont (asibiont.com/bridge) или получите ссылку у AI в чате. - Установите Python 3.10+ и библиотеку pyserial:
pip install pyserial. - Узнайте имя COM-порта (в Windows — COM3, COM4; в Linux — /dev/ttyUSB0; в macOS — /dev/cu.usbserial-XXXX).
- Запустите bridge с токеном и портом:
bash python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=9600
Если портов несколько, укажите через запятую:--ports=COM3,COM4.
Токен можно получить в чате с ASI Biont командой get_token или при регистрации на платформе. Bridge запустится в фоне и будет ждать команд.
Шаг 3. Подключение к ASI Biont через чат
Откройте чат с AI-агентом ASI Biont (веб-интерфейс или Telegram). Опишите задачу:
«Подключись к 1-Wire датчику DS18B20 через COM-порт. Порт COM3, скорость 9600. Считывай температуру каждые 10 секунд. Если температура выше 30°C, отправь мне уведомление в Telegram. Если ниже 5°C — включи обогреватель через реле на GPIO. Логируй все данные в CSV-файл на сервере.»
AI обработает запрос и сгенерирует Python-код, который выполнит в sandbox-окружении. Внутри sandbox код будет использовать industrial_command для отправки команд на bridge:
# Пример сгенерированного AI-кода (выполняется в sandbox ASI Biont)
import csv
import time
from datetime import datetime
# Настройка: отправляем команду на bridge для чтения температуры
response = await industrial_command(
protocol='serial',
command='read',
params={
'port': 'COM3',
'baud': 9600,
'timeout': 5,
'data': b'\xCC\x44', # команда Skip ROM + Convert T
}
)
# Парсим ответ (зависит от протокола 1-Wire)
temp_raw = response['data'].hex()
# Преобразуем сырые данные в температуру (пример для DS18B20)
if temp_raw and len(temp_raw) >= 4:
temp_c = int(temp_raw[2:4] + temp_raw[0:2], 16) * 0.0625
# Логируем в CSV
with open('/tmp/temperature_log.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([datetime.now().isoformat(), temp_c])
# Проверяем условия и отправляем уведомления
if temp_c > 30:
requests.post(
'https://api.telegram.org/bot<TOKEN>/sendMessage',
json={'chat_id': '<CHAT_ID>', 'text': f'Температура превысила 30°C: {temp_c}°C'}
)
elif temp_c < 5:
# Команда на включение реле через GPIO (если есть bridge с GPIO)
await industrial_command(
protocol='serial',
command='write',
params={'port': 'COM3', 'baud': 9600, 'data': b'\x01'} # пример команды
)
Важно: AI не пишет этот код вручную — он генерирует его под ваш конкретный случай. Вы можете попросить изменить логику, добавить датчики влажности или настроить расписание.
Шаг 4. Мониторинг и автоматизация
После выполнения кода ASI Biont будет:
- Каждые 10 секунд опрашивать датчик через bridge
- Записывать показания в CSV-файл на сервере (доступен для скачивания через чат)
- Отправлять уведомления в Telegram при превышении порогов
- Управлять реле через дополнительную команду (если bridge подключён к Arduino с GPIO)
Вы можете в любой момент изменить сценарий, просто написав: «Добавь ещё датчик влажности на тот же порт» или «Увеличь интервал опроса до 30 секунд». AI адаптирует код без вашего участия.
Реальные сценарии использования
| Сценарий | Датчики | Действие AI |
|---|---|---|
| Мониторинг теплицы | DS18B20 + DHT22 | AI анализирует тренды, предупреждает о заморозках, включает/выключает полив через реле |
| Серверная комната | 4-5 DS18B20 | AI логгирует температуру, оповещает при перегреве, может выключить сервер через IPMI |
| Умный дом (отопление) | DS18B20 на радиаторах | AI регулирует клапаны (через Modbus/TCP), создаёт график прогрева по времени суток |
| Холодильная камера | DS18B20 внутри | AI отправляет SMS при выходе температуры за +4°C (порча продуктов) |
Почему это выгодно?
- Нет программирования: AI пишет код интеграции за секунды. Вам не нужно знать Python, протокол 1-Wire или работу с COM-портами.
- Гибкость: Вы можете подключить любое устройство с последовательным интерфейсом — от DS18B20 до промышленных контроллеров. AI поддерживает pyserial, pymodbus, paho-mqtt, paramiko, aiohttp и opcua-asyncio.
- Автоматизация без дашбордов: Всё управление — через диалог. Никаких панелей с сотнями кнопок.
- Безопасность: Hardware Bridge работает только на вашем ПК, токен передаётся по HTTPS. Код выполняется в изолированном sandbox.
Заключение
Интеграция 1-Wire датчиков с AI-агентом ASI Biont открывает возможности, недоступные для классических систем мониторинга: интеллектуальный анализ трендов, автоматическая реакция на события, лёгкое масштабирование. Вам не нужно тратить дни на написание скриптов — опишите задачу в чате, и AI сделает всё сам. Попробуйте интеграцию уже сегодня на asibiont.com. Подключите свой первый датчик DS18B20 за 5 минут и убедитесь, что AI-агент — это не замена инженеру, а его мощный инструмент.
Комментарии