Как подключить 1-Wire датчики к AI-агенту: интеграция DS18B20 и iButton с ASI Biont через COM-порт

1-Wire — это протокол последовательной передачи данных, разработанный компанией Dallas Semiconductor (ныне Maxim Integrated). Он позволяет подключать до 100+ устройств (датчиков температуры DS18B20, ключей iButton, датчиков влажности и т.д.) по двум проводам: сигнал и земля. Благодаря простоте и низкой стоимости, 1-Wire широко используется в автоматизации зданий, системах умного дома, логистике (контроль доступа) и промышленности (мониторинг холодильных камер).

Зачем подключать 1-Wire к AI-агенту? Обычно данные с 1-Wire читают с помощью микроконтроллера (Arduino, ESP32) или USB-адаптера (например, DS9490R) и выводят на экран или в простой лог. Но чтобы автоматически реагировать на события (например, отправить уведомление в Telegram при превышении температуры в холодильнике), нужно писать код, настраивать сервер и базу данных. AI-агент ASI Biont берёт на себя всю логику интеграции: вы подключаете адаптер к компьютеру, запускаете bridge.py, а AI сам пишет код на Python, который читает данные с 1-Wire, анализирует их и выполняет нужные действия.

Как ASI Biont подключается к 1-Wire

ASI Biont использует Hardware Bridge — приложение bridge.py, которое запускается на вашем ПК (Windows/Linux/macOS). Bridge подключается к облаку ASI Biont через WebSocket (единственный канал связи). Вы указываете, к какому COM-порту подключён USB-адаптер (например, COM3) и скорость (по умолчанию 115200 бод). AI отправляет команды через industrial_command с протоколом serial://, bridge выполняет атомарную операцию serial_write_and_read(data=hex_string) — отправляет данные в порт и сразу читает ответ.

Пошаговая настройка:
1. Установите драйверы для USB-адаптера 1-Wire (обычно CH340 или FTDI).
2. Подключите один датчик DS18B20 к адаптеру (сигнал — DQ, питание — VDD, земля — GND).
3. Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
4. Установите зависимости: pip install pyserial requests websockets.
5. Запустите bridge: python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200.
6. В чате с AI-агентом напишите: «Подключись к 1-Wire датчику на COM3, прочитай температуру с DS18B20 и отправь в Telegram, если температура выше 30 °C».

Пример сценария: мониторинг температуры в серверной

Проблема: В серверной комнате перегревается оборудование, нужно отслеживать температуру в реальном времени и получать уведомления при превышении порога.

Решение: Подключаем три датчика DS18B20 к одному адаптеру 1-Wire (каждый датчик имеет уникальный 64-битный ROM-код). AI-агент ASI Biont по команде пользователя:
- Читает все датчики на шине (команда 0xCC — Skip ROM, 0x44 — Convert T, 0xBE — Read Scratchpad).
- Декодирует сырые данные в температуру (формат: 16-битное знаковое число с шагом 0.0625 °C).
- Сравнивает с порогом 30 °C.
- Если превышен — отправляет сообщение в Telegram через requests.post к api.telegram.org.
- Логирует все показания в PostgreSQL (через psycopg2).

Пример команды AI (реальный синтаксис):

industrial_command(
  protocol='serial://',
  command='serial_write_and_read',
  params={
    'port': 'COM3',
    'baud': 115200,
    'data': 'cc44'  # команда конвертации температуры для всех датчиков
  }
)

AI сам формирует hex-строки на основе протокола 1-Wire. Пользователь видит только результат: «Температура: датчик 1 — 23.5 °C, датчик 2 — 24.1 °C, датчик 3 — 29.8 °C. Всё в норме».

Пример сценария: идентификация сотрудников по iButton

iButton (DS1990A) — это термоключ, который хранит уникальный 64-битный идентификатор. Его часто используют для контроля доступа. С ASI Biont можно:
- Подключить USB-адаптер 1-Wire с iButton-ридером.
- AI читает ROM-код при касании ключа.
- Сверяет с белым списком в базе данных (например, Redis).
- Если ключ авторизован — отправляет команду на открытие замка через реле (например, по MQTT на ESP32).
- Логирует время и идентификатор.

Пример команды AI:

industrial_command(
  protocol='serial://',
  command='serial_write_and_read',
  params={
    'port': 'COM3',
    'baud': 115200,
    'data': '33'  # команда Read ROM для одиночного устройства
  }
)

AI получает ответ (8 байт: семейство, 6 байт серийного номера, контрольная сумма) и сравнивает с базой.

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

  1. Без кода со стороны пользователя. Вы просто описываете задачу на естественном языке. AI пишет Python-скрипт, использующий pyserial для чтения данных и любые другие библиотеки (requests для HTTP, paho-mqtt для MQTT, psycopg2 для БД).
  2. Мгновенная реакция. AI может запускать скрипты по расписанию или событийно — проверять температуру каждые 5 минут и сразу отправлять уведомления.
  3. Гибкость. Подключите любой 1-Wire датчик: DS18B20 (температура), DS2401 (iButton), DS2431 (EEPROM), DS2450 (ADC). AI сам разберётся с протоколом.
  4. Интеграция с чем угодно. Данные можно отправлять в Telegram, Slack, Google Sheets, базы данных, умный дом (MQTT, Home Assistant).

Заключение

1-Wire — простой и надёжный протокол для сбора данных с датчиков. AI-агент ASI Biont делает его использование доступным без программирования: вы подключаете адаптер, запускаете bridge, описываете задачу в чате — и получаете готовую автоматизацию. Не нужно ждать обновлений или писать интеграцию вручную. Попробуйте сами на asibiont.com — начните с мониторинга температуры в холодильнике или контроля доступа по iButton.

← Все статьи

Комментарии