E-Ink Waveshare + ASI Biont: как подключить дисплей на электронных чернилах к AI-агенту без программирования

Введение

Вы когда-нибудь хотели, чтобы ваш E-Ink-дисплей Waveshare показывал не просто статичную картинку, а живые данные — погоду, календарь, статус IoT-сенсоров, задачи из Trello? Раньше для этого нужно было писать код на Python, настраивать API, разбираться с SPI-интерфейсом и прошивкой. Теперь всё иначе.

ASI Biont — это AI-агент, который подключается к любому устройству через диалог в чате. Вы просто описываете, что хотите, и AI сам пишет код интеграции, выполняет его и настраивает обмен данными. Никаких панелей управления, никаких кнопок «добавить устройство» — только чат.

В этой статье я покажу, как подключить E-Ink-дисплей Waveshare (например, 7.5-дюймовый модуль с разрешением 800×480) к ASI Biont, используя два основных способа: через SSH (если дисплей подключён к Raspberry Pi) и через execute_python (если вы хотите генерировать изображение на сервере и отправлять его на устройство через MQTT или HTTP).

Почему E-Ink? Энергоэффективность и видимость

E-Ink-дисплеи потребляют энергию только при обновлении изображения. В режиме покоя они не расходуют батарею, поэтому могут работать до 6 месяцев без подзарядки. Это идеальный кандидат для дашбордов, которые должны быть всегда включены, но не требуют частого обновления.

Параметр E-Ink (Waveshare 7.5\") ЖК-дисплей 7\"
Потребление при обновлении 30 мА (0.1 с) 200 мА (постоянно)
Потребление в покое 0 мА 200 мА
Срок службы от батареи 2000 мАч ~6 месяцев ~10 часов
Читаемость на солнце Отличная Плохая (бликует)

Источник: Waveshare Wiki

Как ASI Biont подключается к E-Ink-дисплею

ASI Biont использует два основных механизма для работы с E-Ink:

  1. SSH — если дисплей подключён к одноплатному компьютеру (Raspberry Pi, Orange Pi). AI подключается по SSH, запускает Python-скрипт, который генерирует изображение и отправляет его на дисплей через библиотеку waveshare_epd.

  2. execute_python — если вы хотите генерировать изображение в облаке ASI Biont и отправлять его на устройство через MQTT или HTTP. AI пишет скрипт, который использует библиотеку Pillow для создания изображения, затем отправляет его на ESP32 (который управляет дисплеем) через MQTT publish.

Оба способа работают через диалог в чате. Вы просто говорите: «Подключись к моему Raspberry Pi по SSH, IP 192.168.1.100, логин pi, пароль raspberry, и настрой вывод погоды на E-Ink-дисплей Waveshare 7.5\"». AI сам генерирует код, выполняет его и настраивает периодическое обновление.

Сценарий 1: E-Ink + Raspberry Pi + SSH — дашборд погоды

Что нужно

  • Raspberry Pi (любая модель, начиная с Zero W)
  • E-Ink-дисплей Waveshare (например, 7.5\" HAT, артикул 12596)
  • Подключение: SPI (пины: MOSI, MISO, SCK, CS, DC, RST, BUSY)
  • Установленная библиотека: pip install waveshare-epd Pillow requests

Как AI подключается

Вы пишете в чате ASI Biont:

Подключись к моему Raspberry Pi по SSH. IP: 192.168.1.100, логин: pi, пароль: raspberry. Установи библиотеку waveshare-epd, если её нет. Настрой E-Ink-дисплей 7.5\" так, чтобы он показывал текущую погоду (температура, влажность, иконка) для Москвы. Обновляй каждые 30 минут.

AI генерирует Python-скрипт с использованием paramiko, который:
1. Подключается по SSH к Raspberry Pi
2. Устанавливает зависимости (если нужно)
3. Пишет скрипт для дисплея, который получает погоду через OpenWeatherMap API
4. Настраивает cron-задачу для обновления каждые 30 минут

Пример кода, который AI генерирует и выполняет на Raspberry Pi

import requests
from PIL import Image, ImageDraw, ImageFont
from waveshare_epd import epd7in5_V2
import time

# Получаем погоду
api_key = "YOUR_API_KEY"
city = "Moscow"
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"
response = requests.get(url)
data = response.json()
temp = data['main']['temp']
humidity = data['main']['humidity']
weather = data['weather'][0]['description']

# Инициализируем дисплей
e = epd7in5_V2.EPD()
e.init()
e.Clear()

# Создаём изображение
image = Image.new('1', (e.width, e.height), 255)  # 255: белый фон
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf', 40)

# Рисуем текст
draw.text((10, 10), f"Погода: {city}", font=font, fill=0)
draw.text((10, 60), f"Температура: {temp}°C", font=font, fill=0)
draw.text((10, 110), f"Влажность: {humidity}%", font=font, fill=0)
draw.text((10, 160), f"Описание: {weather}", font=font, fill=0)

# Отображаем на дисплее
e.display(e.getbuffer(image))
e.sleep()

Подводный камень

Библиотека waveshare-epd требует права root для доступа к SPI. Если скрипт запускается от обычного пользователя, AI автоматически добавляет sudo перед командой или добавляет пользователя в группу spi:

sudo usermod -a -G spi pi

Сценарий 2: E-Ink + ESP32 + MQTT + execute_python — умный дашборд задач из Trello

Что нужно

  • ESP32 (например, ESP32-DevKitC)
  • E-Ink-дисплей Waveshare (например, 2.9\")
  • MQTT-брокер (можно использовать публичный test.mosquitto.org)
  • Библиотека для ESP32: GxEPD2 (через PlatformIO или Arduino IDE)

Как AI подключается

Вы пишете в чате:

У меня есть ESP32 с E-Ink-дисплеем Waveshare 2.9\". ESP32 подключён к MQTT-брокеру test.mosquitto.org. Подпишись на топик dashboard/update. Я хочу, чтобы дисплей показывал мои задачи из Trello. Возьми API-ключ Trello из переменной TRELLO_API_KEY. Генерируй изображение с задачами и отправляй на ESP32 через MQTT publish в топик dashboard/image.

AI генерирует Python-скрипт, который выполняется в sandbox ASI Biont:

  1. Получает задачи из Trello через REST API
  2. Создаёт изображение с помощью Pillow
  3. Кодирует изображение в base64
  4. Публикует в MQTT-топик

Пример кода, который AI выполняет в sandbox ASI Biont

import requests
import paho.mqtt.client as mqtt
from PIL import Image, ImageDraw, ImageFont
import base64
import io

# Получаем задачи из Trello
api_key = "YOUR_TRELLO_API_KEY"
token = "YOUR_TRELLO_TOKEN"
board_id = "YOUR_BOARD_ID"
url = f"https://api.trello.com/1/boards/{board_id}/cards?key={api_key}&token={token}"
response = requests.get(url)
cards = response.json()

# Создаём изображение
image = Image.new('1', (296, 128), 255)  # Размер для 2.9\" дисплея
draw = ImageDraw.Draw(image)
font = ImageFont.load_default()

draw.text((5, 5), "Мои задачи:", font=font, fill=0)
y = 25
for card in cards[:5]:
    draw.text((5, y), f"- {card['name'][:20]}", font=font, fill=0)
    y += 20

# Кодируем в base64
buffer = io.BytesIO()
image.save(buffer, format='PNG')
image_base64 = base64.b64encode(buffer.getvalue()).decode('utf-8')

# Отправляем через MQTT
client = mqtt.Client()
client.connect("test.mosquitto.org", 1883, 60)
client.publish("dashboard/image", image_base64)
client.disconnect()

На стороне ESP32 AI генерирует прошивку (через PlatformIO), которая подписывается на топик dashboard/image, получает base64-строку, декодирует её и отображает на E-Ink.

Сценарий 3: E-Ink + COM-порт + Hardware Bridge — для промышленных дисплеев

Если ваш E-Ink-дисплей подключён к ПК через USB (например, Waveshare USB e-Paper Display, артикул 15093), ASI Biont может взаимодействовать с ним через Hardware Bridge.

Как это работает

  1. Вы скачиваете bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge)
  2. Запускаете bridge на своём ПК с указанием порта:
pip install pyserial requests websockets
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200
  1. В чате ASI Biont вы пишете: «Отправь на COM3 команду обновления дисплея: данные в hex: 48454c500a»
  2. AI использует industrial_command(protocol='serial', command='serial_write_and_read', data='48454c500a')

Пример команды для обновления E-Ink через COM-порт

Допустим, ваш дисплей Waveshare USB e-Paper понимает команды:
- 0x01 0x01 — очистить экран
- 0x02 [данные] — отобразить изображение

Вы пишете в чате:

Отправь на COM3 команду очистки экрана: hex: 0101

AI выполняет:

industrial_command(
    protocol='serial',
    command='serial_write_and_read',
    data='0101'
)

Bridge отправляет байты 0x01 0x01 в COM-порт, дисплей очищается.

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

Вместо того чтобы писать код интеграции вручную (настроить MQTT, разобраться с библиотекой waveshare-epd, отладить SPI), вы просто описываете задачу словами. AI делает всю работу:
- Пишет Python-скрипты
- Устанавливает зависимости
- Настраивает автозапуск (cron, systemd)
- Отлаживает ошибки
- Поддерживает соединение

Заключение

E-Ink-дисплеи Waveshare — идеальные кандидаты для умных дашбордов: они энергоэффективны, читаемы при ярком свете и не требуют постоянного питания. С ASI Biont подключить такой дисплей к AI-агенту можно за 2 минуты: просто опишите в чате, что хотите видеть на экране, и AI сам напишет код, настроит обновление и будет поддерживать соединение.

Попробуйте сами: зайдите на asibiont.com, создайте API-ключ, скачайте bridge.py и напишите в чат: «Настрой E-Ink-дисплей Waveshare на показ погоды». AI сделает всё остальное.

← Все статьи

Комментарии

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

Детектирование текстов, сгенерированных LLM, с помощью «классического» машинного обучения: почему старые методы всё ещё актуальны

16 июля 2026

Освоение инфраструктуры как кода: почему курс Terraform и IaC на asibiont.com — ваш путь к мультиоблачному управлению в 2026 году

16 июля 2026

Заказ еды из терминала: DoorDash теперь доступен через командную строку

16 июля 2026

Как я освоил 3D-моделирование в Blender с нуля: честный отзыв о курсе на asibiont.com

16 июля 2026

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

16 июля 2026

Создайте надежную продуктовую стратегию: уроки курса «Управление продуктом и рост» на Asibiont

16 июля 2026

Разрыв в оценке агентов: у Enterprise AI-организаций проблема с реальностью, а не с покрытием — и большинство всё равно запускают в продакшн

16 июля 2026

Как перестать постить «в никуда»: обзор курса Content Strategy — контент-стратегия и контент-маркетинг на Asibiont

16 июля 2026

Как AI-агент ASI Biont автоматизирует DigitalOcean: управление дроплетами, мониторинг и деплоймент без кода

16 июля 2026