Raspberry Pi Pico W и ASI Biont: AI-агент управляет GPIO, датчиками и автоматизацией через MQTT

Введение

Raspberry Pi Pico W — это микроконтроллер на базе RP2040 с поддержкой Wi-Fi и 26 программируемыми выводами GPIO. Его часто используют в IoT-проектах, от умного дома до мониторинга окружающей среды. Однако написание кода для каждого сценария — подключение датчиков, настройка MQTT, обработка данных — требует времени и навыков. ASI Biont решает эту проблему: AI-агент сам пишет код интеграции, подключается к устройству через MQTT и управляет им через чат-интерфейс. В этой статье мы разберём, как подключить Pico W к ASI Biont, настроить чтение температуры/влажности с DHT22, управление светодиодами и реле, а также автоматизировать сценарии без единой строчки кода с вашей стороны.

Как ASI Biont подключается к Raspberry Pi Pico W

Для Pico W оптимальный способ интеграции — MQTT. ASI Biont использует библиотеку paho-mqtt внутри execute_python (sandbox-окружение на сервере) для подписки на топики и публикации команд. Альтернативно, если Pico W подключён к ПК через USB (COM-порт), можно использовать Hardware Bridge — AI отправляет команды через industrial_command с протоколом serial://, а bridge на локальном ПК выполняет запись/чтение через pyserial. Для этой статьи выберем MQTT, так как он не требует постоянного подключения к ПК и работает через Wi-Fi.

Почему MQTT?

  • Асинхронность — Pico W может отправлять данные даже когда AI-агент неактивен.
  • Надёжность — протокол работает поверх TCP, поддерживает QoS.
  • Популярность — большинство IoT-проектов уже используют MQTT.

Конкретный сценарий: мониторинг температуры и управление реле

Представим задачу: Pico W с датчиком DHT22 измеряет температуру и влажность в серверной. Если температура превышает 30°C, необходимо включить вентилятор через реле. ASI Biont анализирует данные, принимает решение и публикует команду.

Шаг 1. Прошивка Pico W (MicroPython)

Пользователь загружает на Pico W следующий код (этот код не пишется вручную — AI генерирует его по запросу в чате):

import network
import time
import dht
from machine import Pin, PWM
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)

# Настройка датчика и реле
sensor = dht.DHT22(Pin(15))
relay = Pin(16, Pin.OUT, value=0)

# MQTT callback
CLIENT_ID = "pico_w_001"
BROKER = "test.mosquitto.org"
TOPIC_DATA = b"pico/temperature"
TOPIC_CMD = b"pico/command"

def callback(topic, msg):
    if topic == TOPIC_CMD:
        if msg == b"RELAY_ON":
            relay.on()
        elif msg == b"RELAY_OFF":
            relay.off()

client = MQTTClient(CLIENT_ID, BROKER)
client.set_callback(callback)
client.connect()
client.subscribe(TOPIC_CMD)

# Основной цикл
while True:
    try:
        sensor.measure()
        temp = sensor.temperature()
        hum = sensor.humidity()
        payload = f"{{\"temp\":{temp},\"hum\":{hum}}}"
        client.publish(TOPIC_DATA, payload)
        client.check_msg()  # Проверка команд
        time.sleep(30)
    except OSError:
        time.sleep(5)

Шаг 2. Подключение AI-агента через чат

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

«Подключись к Pico W через MQTT-брокер test.mosquitto.org. Подпишись на топик pico/temperature. Если температура превышает 30°C, опубликуй RELAY_ON в топик pico/command и отправь мне уведомление в Telegram. Если температура опускается ниже 28°C — опубликуй RELAY_OFF.»

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

import paho.mqtt.client as mqtt
import time
import requests

BROKER = "test.mosquitto.org"
TOPIC_DATA = "pico/temperature"
TOPIC_CMD = "pico/command"
THRESHOLD_HIGH = 30.0
THRESHOLD_LOW = 28.0

# Telegram bot (пример)
TELEGRAM_TOKEN = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
CHAT_ID = "123456789"

def send_telegram(message):
    url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
    requests.post(url, json={"chat_id": CHAT_ID, "text": message})

def on_message(client, userdata, msg):
    import json
    data = json.loads(msg.payload.decode())
    temp = data.get("temp")
    if temp is None:
        return
    if temp > THRESHOLD_HIGH:
        client.publish(TOPIC_CMD, "RELAY_ON")
        send_telegram(f"Температура {temp}°C — вентилятор включён")
    elif temp < THRESHOLD_LOW:
        client.publish(TOPIC_CMD, "RELAY_OFF")
        send_telegram(f"Температура {temp}°C — вентилятор выключен")

client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe(TOPIC_DATA)
client.loop_forever()  # Ограничение sandbox: 30 секунд — для демо используем loop_start()

Шаг 3. Результат

AI-агент подписывается на данные, каждые 30 секунд получает температуру, сравнивает с порогами, при необходимости включает/выключает реле и уведомляет пользователя через Telegram. Всё управление — через диалог в чате.

Альтернативный способ: Hardware Bridge + COM-порт

Если Pico W подключён к ПК по USB, можно использовать Hardware Bridge. Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge) и запускает:

pip install pyserial requests websockets
python bridge.py --token=YOUR_TOKEN --ports=COM3 --baud=115200

После этого AI может напрямую общаться с Pico W через COM-порт. Пример команды в чате:

«Отправь на COM3 команду LED_ON и прочитай ответ.»

AI использует industrial_command:

industrial_command(
    protocol="serial://",
    command="serial_write_and_read",
    data="4c45445f4f4e0a"  # hex для "LED_ON\n"
)

Bridge получает команду через WebSocket, записывает данные в порт и возвращает ответ. Это удобно для отладки и быстрых тестов, но для постоянного мониторинга лучше MQTT.

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

  • Ноль ручного кодирования — вы описываете задачу на естественном языке, AI пишет код.
  • Мгновенная интеграция — не нужно ждать обновлений прошивки или SDK.
  • Гибкость — один и тот же Pico W может использоваться для разных сценариев: сегодня — мониторинг температуры, завтра — управление светом.
  • Масштабирование — ASI Biont может одновременно управлять сотнями Pico W через один MQTT-брокер.

Заключение

Raspberry Pi Pico W — отличная платформа для IoT, но его потенциал раскрывается в полной мере только с интеллектуальным управлением. ASI Biont превращает микроконтроллер в автономного помощника, который не только собирает данные, но и принимает решения. Попробуйте интеграцию прямо сейчас на asibiont.com — подключите свой Pico W за 5 минут через чат.

← Все статьи

Комментарии

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

Мобильная разработка в 2026: как AI-обучение на asibiont.com помогает освоить Flutter, React Native и нативные языки

19 июля 2026

Интеграция Firebase с AI-агентом ASI Biont: автоматизация без кода

19 июля 2026

Как AI-агент ASI Biont трансформирует Jenkins CI/CD: сокращение времени восстановления конвейера на 40% и возможность управления развертыванием для не-разработчиков через естественный язык

19 июля 2026

Blender 5.2 LTS: Как Vibe Coding меняет правила игры в 3D-моделировании

19 июля 2026

12 промтов для Terraform и IaC: от модулей до multi-cloud

19 июля 2026

Vibe Coding в Blender 5.2 LTS: как AI меняет 3D-моделирование и анимацию

19 июля 2026

Google Coral (Edge TPU) и ASI Biont: как AI-агент управляет on-device ML через диалог в чате

19 июля 2026

Интеллектуальная собственность в 2026 году: почему каждому специалисту нужен этот курс и как AI помогает освоить патентное право

19 июля 2026

Как автоматизировать финансы с помощью интеграции Plaid и ИИ-агента: руководство без кода

19 июля 2026