Как подключить 7-segment дисплей TM1637 к AI-агенту ASI Biont: полный гайд по интеграции через MQTT и COM-порт

Введение

Семисегментные индикаторы — один из самых простых и наглядных способов вывода числовых данных в DIY-проектах, измерительных приборах и панелях промышленной автоматизации. Модуль на чипе TM1637 — популярное решение: четыре цифры, поддержка десятичной точки и точек-разделителей, управление по двум проводам (I²C-подобный протокол). Однако в эпоху IoT и AI всё чаще требуется, чтобы данные на дисплее обновлялись не вручную, а автоматически — на основе решений, принятых искусственным интеллектом.

Здесь на помощь приходит ASI Biont — AI-агент, который умеет подключаться к любому оборудованию через десятки промышленных протоколов. В этой статье мы разберём, как интегрировать TM1637-дисплей с ASI Biont двумя практичными способами: через ESP32 и MQTT (беспроводной сценарий) и через Arduino и COM-порт (проводной сценарий). Вы увидите, что для интеграции не нужно писать сложный связующий код — достаточно описать задачу в чате с AI-агентом, и он сам сгенерирует и выполнит необходимые скрипты.

Почему именно TM1637 и ASI Biont?

TM1637 — недорогой и распространённый дисплей, который работает от 3,3–5 В, имеет готовые библиотеки для Arduino и MicroPython. Он идеален для отображения текущих показаний температуры, влажности, счётчиков, таймеров или статусов. ASI Biont, со своей стороны, способен собирать данные из различных источников: датчиков, баз данных, HTTP API, MQTT-брокеров — и принимать решения на основе этих данных. Интеграция позволяет отображать на дисплее «умные» показания, которые AI обновляет в реальном времени.

Способы интеграции TM1637 с ASI Biont

У ASI Biont есть два основных механизма для работы с микроконтроллерами, к которым подключён TM1637:

Способ Протокол Устройство-посредник Особенности
MQTT MQTT (paho-mqtt) ESP32 (или любой Wi-Fi-микроконтроллер) Беспроводной, подходит для удалённого управления, AI может публиковать данные на дисплей через топик
COM-порт RS-232 через Hardware Bridge Arduino (или USB-UART-преобразователь) Проводной, надёжный, AI использует industrial_command с командой serial_write_and_read для отправки строки на дисплей
SSH Paramiko Raspberry Pi, Orange Pi Если TM1637 подключён к одноплатнику, AI может через SSH запускать скрипты управления дисплеем
execute_python Универсальный sandbox Любое устройство с IP-доступом AI генерирует и выполняет Python-код с библиотеками (например, requests для HTTP, paho-mqtt для MQTT) — без предустановленных брокеров

В этой статье мы подробно разберём первые два способа как самые типовые.

Сценарий 1: ESP32 + MQTT + TM1637

Архитектура

  1. ESP32 подключается к Wi-Fi и MQTT-брокеру (например, Mosquitto, HiveMQ Cloud или локальный брокер).
  2. TM1637 подключён к ESP32 по двум проводам (CLK и DIO).
  3. ASI Biont через execute_python подключается к тому же MQTT-брокеру и публикует данные в топик esp32/display.
  4. ESP32 подписан на этот топик и при получении сообщения обновляет дисплей.

Схема подключения TM1637 к ESP32

TM1637 ESP32
VCC 3.3V
GND GND
CLK GPIO4
DIO GPIO5

Примечание: можно использовать любые свободные GPIO, указав их в коде.

Прошивка ESP32 (MicroPython)

Пользователь загружает на ESP32 следующий скетч через Thonny или uPyCraft. Скетч подключается к Wi-Fi и MQTT, слушает топик и выводит на дисплей число (до 4 цифр).

# main.py для ESP32 с MicroPython
import network
import time
from machine import Pin
from tm1637 import TM1637
from umqtt.simple import MQTTClient

# Конфигурация Wi-Fi
SSID = "YourWiFi"
PASSWORD = "YourPass"

# Конфигурация MQTT
BROKER = "broker.hivemq.com"
TOPIC = b"esp32/display"

# Инициализация дисплея
tm = TM1637(clk=Pin(4), dio=Pin(5))

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

# MQTT callback
def callback(topic, msg):
    try:
        # Ожидаем строку с числом, например "1234"
        value = int(msg.decode())
        tm.number(value)
    except:
        tm.show("Err ")

# Подписка
client = MQTTClient("esp32", BROKER)
client.set_callback(callback)
client.connect()
client.subscribe(TOPIC)
print("Subscribed to", TOPIC)

while True:
    client.check_msg()
    time.sleep(0.1)

Как AI подключается через ASI Biont

Пользователь в чате ASI Biont пишет:

«Подключись к MQTT-брокеру broker.hivemq.com, опубликуй в топик esp32/display значение 2026 (текущий год). Используй библиотеку paho-mqtt.»

AI-агент генерирует и выполняет следующий код в sandbox (execute_python):

import paho.mqtt.client as mqtt

broker = "broker.hivemq.com"
port = 1883
topic = "esp32/display"

client = mqtt.Client()
client.connect(broker, port, 60)
client.publish(topic, "2026")
client.disconnect()
print("Сообщение отправлено")

После выполнения на дисплее ESP32 загорится «2026». Никакого ручного кодирования — AI сделал всё сам.

Преимущества сценария

  • Не нужен провод до компьютера — дисплей может быть в любой точке с Wi-Fi.
  • AI может отправлять данные по расписанию, на основе анализа других датчиков или по триггеру.
  • ESP32 может сам собирать данные (например, с DHT22) и публиковать их, а AI — решать, что выводить.

Сценарий 2: Arduino + COM-порт + TM1637

Архитектура

  1. Arduino Uno (или Nano) через USB подключён к компьютеру, на котором запущен Hardware Bridge (bridge.py).
  2. TM1637 подключён к пинам Arduino.
  3. ASI Biont через WebSocket отправляет команду на bridge, который пишет строку в COM-порт Arduino.
  4. Arduino получает команду, парсит её и обновляет дисплей.

Схема подключения TM1637 к Arduino

TM1637 Arduino
VCC 5V
GND GND
CLK D3
DIO D4

Скетч Arduino

#include <TM1637Display.h>

#define CLK 3
#define DIO 4

TM1637Display display(CLK, DIO);

void setup() {
  Serial.begin(115200);
  display.setBrightness(7);
  display.showNumberDec(0, false);
}

void loop() {
  if (Serial.available()) {
    String data = Serial.readStringUntil('\
');
    data.trim();
    int value = data.toInt();
    display.showNumberDec(value, false);
  }
}

Настройка Hardware Bridge

Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge). Устанавливает зависимости:

pip install pyserial requests websockets

Запускает bridge, указав токен API и порт:

python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud=115200

Команда от AI в чате

Пользователь говорит:

«Отправь на Arduino через COM3 число 1234. Используй команду serial_write_and_read.»

AI выполняет вызов инструмента industrial_command:

industrial_command(
    protocol='serial',
    command='serial_write_and_read',
    data='313233340a'  # hex для "1234\
"
)

Bridge принимает команду, записывает байты 31 32 33 34 0A в COM3, Arduino получает строку

← Все статьи

Комментарии

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

«I Failed at Everything»: как с помощью Vibe Coding создать рабочее приложение за неделю и получить первых пользователей

26 июля 2026

Как подключить Альфа-Банк к AI-агенту без программирования: автоматизация платежей, выписок и баланса

26 июля 2026

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

26 июля 2026

10 промтов для FastAPI: эндпоинты, Pydantic и фоновые задачи

26 июля 2026

Как я сдал Cambridge A-Level Economics (9708) на A*: обзор курса на asibiont.com

26 июля 2026

Как поступить в Оксфорд на математику: разбор курса Cambridge Admissions: MAT (Mathematics Admissions Test) — Oxford

26 июля 2026

Siemens S7 + ASI Biont: как интеграция PLC с AI-агентом сокращает простои оборудования на 40%

26 июля 2026

Как автоматизировать Outlook с помощью ИИ-агента: сэкономьте 73% времени на электронной почте в 2026 году

26 июля 2026

От аренды до собственной студии: как готовый ComfyUI-образ ускоряет развертывание AI-генерации

26 июля 2026