Введение
Вы когда-нибудь хотели, чтобы ваши умные устройства не просто показывали данные, но и сами решали, что с ними делать? 7-segment дисплей на базе TM1637 — классика для индикации температуры, времени или статусов. Но в связке с AI-агентом ASI Biont он превращается в интеллектуальный интерфейс: AI сам решает, какие данные выводить, когда обновлять и как реагировать на события. В этой статье я покажу, как подключить TM1637 к ESP32, настроить MQTT-мост с ASI Biont и выводить на дисплей показания датчика влажности — всё без единой строки кода, написанной вручную.
Почему именно ASI Biont?
ASI Biont — это AI-агент, который подключается к любому устройству через execute_python. Вам не нужно ждать, пока разработчики добавят поддержку TM1637 в какую-то платформу. Просто опишите в чате, что у вас есть ESP32 с дисплеем и датчиком DHT22, а ASI Biont сам сгенерирует код интеграции на MicroPython, настроит MQTT и будет управлять выводом данных. Всё подключение происходит через диалог в чате — никаких панелей управления и кнопок «добавить устройство».
Как это работает: сценарий «ESP32 + TM1637 + DHT22 + ASI Biont»
1. Способ подключения
Для этого сценария мы используем MQTT. ESP32 подключается к MQTT-брокеру (например, Mosquitto), публикует данные с датчика и подписывается на команды для дисплея. ASI Biont подключается к тому же брокеру через execute_python с библиотекой paho-mqtt, читает топики и отправляет команды.
2. Что нужно
| Компонент | Назначение |
|---|---|
| ESP32 (например, NodeMCU-32S) | Микроконтроллер с Wi-Fi |
| 7-segment display TM1637 | 4-разрядный дисплей |
| Датчик DHT22 | Температура и влажность |
| MQTT-брокер (Mosquitto на Raspberry Pi или облачный) | Обмен сообщениями |
| ASI Biont (cloud.asibiont.com) | AI-агент для анализа и управления |
3. Прошивка ESP32
Пользователь загружает на ESP32 простой скетч на MicroPython или Arduino. Вот пример на MicroPython:
import network
import time
from machine import Pin, I2C
from tm1637 import TM1637
import dht
from umqtt.simple import MQTTClient
# Настройка Wi-Fi
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect('SSID', 'PASSWORD')
while not wifi.isconnected():
time.sleep(1)
# Настройка дисплея TM1637
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
display = TM1637(i2c)
# Датчик DHT22
d = dht.DHT22(Pin(4))
# MQTT-клиент
client = MQTTClient('esp32', 'broker.local')
client.connect()
while True:
d.measure()
temp = d.temperature()
hum = d.humidity()
# Публикуем данные
client.publish('sensor/temperature', str(temp))
client.publish('sensor/humidity', str(hum))
# Выводим на дисплей (например, температуру)
display.number(temp)
time.sleep(5)
Этот код ESP32 отправляет данные каждые 5 секунд и показывает температуру на дисплее.
4. Интеграция с ASI Biont
Пользователь пишет в чате ASI Biont:
«Подключись к MQTT-брокеру по адресу broker.local:1883. Подпишись на топики sensor/temperature и sensor/humidity. Если влажность превышает 70%, отправь уведомление в Telegram и выведи на дисплей сообщение „HIGH“ (через топик display/command). Если температура ниже 10°C — выведи „COLD“.»
ASI Biont генерирует и выполняет Python-скрипт в sandbox:
import paho.mqtt.client as mqtt
import requests
import json
BROKER = 'broker.local'
PORT = 1883
TELEGRAM_TOKEN = 'YOUR_BOT_TOKEN'
CHAT_ID = 'YOUR_CHAT_ID'
def on_message(client, userdata, msg):
topic = msg.topic
payload = msg.payload.decode()
if topic == 'sensor/humidity':
humidity = float(payload)
if humidity > 70:
# Отправляем уведомление в Telegram
requests.post(f'https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage',
data={'chat_id': CHAT_ID, 'text': f'Влажность превысила 70%: {humidity}%'})
# Отправляем команду на дисплей
client.publish('display/command', 'HIGH')
elif topic == 'sensor/temperature':
temp = float(payload)
if temp < 10:
client.publish('display/command', 'COLD')
mqtt_client = mqtt.Client()
mqtt_client.on_message = on_message
mqtt_client.connect(BROKER, PORT, 60)
mqtt_client.subscribe([('sensor/temperature', 0), ('sensor/humidity', 0)])
mqtt_client.loop_forever()
Этот код выполняется в облаке ASI Biont. Он подключается к брокеру, слушает топики и при превышении порогов отправляет уведомления в Telegram и команды на дисплей. ESP32, в свою очередь, подписан на топик display/command и выводит полученные строки.
5. Результат
На дисплее TM1637 отображается температура, но при аномалиях появляются текстовые предупреждения. Пользователь получает Telegram-уведомления. Всё работает без написания бэкенда — AI сам создал логику, подключил MQTT и настроил уведомления.
Почему это выгодно
- Ноль кода вручную: AI пишет скрипты за секунды.
- Гибкость: можно подключать любые датчики и дисплеи — не нужно ждать обновлений платформы.
- Автоматизация: AI сам решает, когда и что выводить на дисплей, исходя из данных.
- Уведомления: Telegram — только один из каналов. Можно подключить email, Slack, SMS.
Заключение
Интеграция 7-segment дисплея TM1637 с AI-агентом ASI Biont — это простой способ сделать вашу IoT-систему умнее. Вместо того чтобы писать сложную логику на ESP32, вы просто описываете задачу в чате, и AI делает всё остальное. Попробуйте сами на asibiont.com — создайте AI-агента, подключите свой ESP32 с TM1637 и увидите, как легко управлять устройствами через Telegram.
Комментарии