Raspberry Pi Pico W + ASI Biont: превращаем микроконтроллер в умный IoT-хаб с AI-агентом

Введение

Raspberry Pi Pico W — это не просто дешёвый микроконтроллер на базе RP2040, а полноценная платформа для экспериментов с интернетом вещей. Благодаря встроенному Wi-Fi и поддержке MicroPython он стал любимым инструментом мейкеров и инженеров. Но что, если объединить его с AI-агентом? Представьте: вы пишете обычным языком «собери температуру в спальне и отправь в Telegram, а если жарко — включи вентилятор», и AI-агент ASI Biont сам генерирует код, настраивает связь и управляет устройством. В этой статье я покажу, как подключить Raspberry Pi Pico W к ASI Biont, разберу реальные сценарии и дам готовые примеры кода на MicroPython и Python.

ASI Biont — это агент, который умеет подключаться к любому оборудованию через COM-порт, MQTT, Modbus, HTTP и даже через универсальный execute_python, где AI сам пишет код интеграции. Для Raspberry Pi Pico W мы выберем MQTT — самый простой и надёжный способ для беспроводных проектов.

Зачем подключать Pico W к AI-агенту?

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

Кроме того, ASI Biont может объединять несколько Pico W в распределённую систему: один следит за температурой, другой управляет светом, третий подаёт звуковой сигнал. Всё это — через единый интерфейс общения с агентом.

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

Есть три практичных способа:
1. MQTT (рекомендую) — Pico W подключается к брокеру, публикует данные и подписывается на команды. ASI Biont выступает как MQTT-клиент.
2. COM-порт через Hardware Bridge — для проводного подключения через UART, когда Pico W соединён с компьютером по USB.
3. HTTP API — если Pico W поднимает веб-сервер, ASI Biont отправляет на него REST-запросы.

В этой статье мы детально разберём MQTT, а также покажем пример с COM-портом.

Сценарий 1: Умный термостат на Pico W с MQTT

Соберём систему, которая измеряет температуру и влажность с датчика DHT22, публикует данные в MQTT-брокер, а ASI Biont анализирует их и отправляет уведомления, либо запускает вентилятор через реле.

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

[Pico W] --DHT22--(GPIO4)
[Pico W] --Relay--(GPIO15) --Fan--
[Pico W] --Wi-Fi--> [MQTT Broker 192.168.1.100:1883] <--ASI Biont

Для прототипа я использую публичный брокер test.mosquitto.org, но в реальном проекте лучше поднять Mosquitto на локальном сервере.

Код прошивки Pico W (MicroPython)

Установите библиотеку umqtt.simple на плату. Листинг main.py:

import network
import time
import dht
import machine
from umqtt.simple import MQTTClient

# Настройка Wi-Fi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('YOUR_SSID', 'YOUR_PASSWORD')
while not wlan.isconnected():
    time.sleep(1)

# Датчик DHT22 на GPIO4
d = dht.DHT22(machine.Pin(4))

# Реле на GPIO15
relay = machine.Pin(15, machine.Pin.OUT)

# MQTT-клиент
client = MQTTClient('pico_w', '192.168.1.100', 1883)
client.connect()

# Подписка на команды управления реле
client.set_callback(lambda topic, msg: relay.value(1 if msg == b'ON' else 0))
client.subscribe('home/pico/relay')

while True:
    # Публикация температуры и влажности
    try:
        d.measure()
        client.publish('home/pico/temp', str(d.temperature()))
        client.publish('home/pico/humidity', str(d.humidity()))
    except Exception as e:
        print('DHT error:', e)

    # Проверка входящих команд
    client.check_msg()
    time.sleep(5)

Настройка ASI Biont для приёма данных

Теперь опишем интеграцию в чате ASI Biont. Например, вы пишете:

«Подключись к MQTT-брокеру 192.168.1.100, подпишись на топики home/pico/#. Если температура выше 28°C, отправь команду на реле и уведоми в Telegram».

ASI Biont использует execute_python и генерирует следующий скрипт (пример):

import paho.mqtt.client as mqtt
import requests

BROKER = '192.168.1.100'
TOPIC_TEMP = 'home/pico/temp'
THRESHOLD = 28.0

def on_connect(client, userdata, flags, rc):
    client.subscribe(TOPIC_TEMP)

def on_message(client, userdata, msg):
    temp = float(msg.payload.decode())
    if temp > THRESHOLD:
        # Включить реле через топик
        client.publish('home/pico/relay', 'ON')
        # Отправить уведомление в Telegram
        requests.post(f'https://api.telegram.org/bot<TOKEN>/sendMessage',
                      json={'chat_id': '<CHAT_ID>', 'text': f'🔥 Температура {temp}°C!'})

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.loop_forever()  # Но в execute_python нельзя while True!

Обратите внимание: в execute_python нет бесконечных циклов — у агента есть таймаут 30 секунд. Вместо этого агент однократно публикует команду или использует вебхук. Правильный подход — подписаться через client.loop_start() и сразу завершить скрипт, оставив поток в фоне. Но в реальности ASI Biont сам решает, какой код использовать, и вы всегда можете попросить его «выполни один раз».

Сценарий 2: Управление светом через реле с Pico W

Другой частый сценарий — вы хотите включать и выключать свет голосом или по расписанию. ASI Biont может работать как умный дом: вы отправляете сообщение «погаси свет в гостиной», агент публикует в топик home/pico/relay1 сообщение OFF, и Pico W переключает реле.

Микрокод для Pico W

Аналогичен предыдущему, но подписка на несколько топиков:

# Автор: ваш покорный слуга
import network, time, machine
from umqtt.simple import MQTTClient

relay1 = machine.Pin(15, machine.Pin.OUT)
relay2 = machine.Pin(14, machine.Pin.OUT)

def callback(topic, msg):
    print(topic, msg)
    if topic == b'home/pico/relay1':
        relay1.value(1 if msg == b'ON' else 0)
    elif topic == b'home/pico/relay2':
        relay2.value(1 if msg == b'ON' else 0)

# ... подключение к Wi-Fi и MQTT ...
client.set_callback(callback)
client.subscribe('home/pico/relay1')
client.subscribe('home/pico/relay2')
while True:
    client.check_msg()
    time.sleep(0.1)

Сценарий 3: Подключение через COM-порт с Hardware Bridge

Если Wi-Fi нестабилен или вы используете проводной интерфейс, можно подключить Pico W к компьютеру через USB, а ASI Biont будет общаться с ним через COM-порт. Для этого нужно скачать bridge.py из дашборда ASI Biont и запустить его с токеном.

Пример команды запуска bridge:

python bridge.py --token=YOUR_TOKEN --ports=COM3 --baud=115200 --rate=10

Теперь в чате ASI Biont вы можете сказать:

«Отправь на COM-порт команду "LED_ON"».

Агент использует industrial_command для отправки:

# Фрагмент кода, который генерирует ASI Biont
from asi_biont_sdk import ASIBiontClient
client = ASIBiontClient(api_key=...)
client.industrial_command(
    protocol='serial',
    command='LED_ON',
    port='COM3',
    baudrate=115200
)

На стороне Pico W принимаем команду через UART:

from machine import UART, Pin
import time

uart = UART(0, baudrate=115200)
led = Pin(25, Pin.OUT)

while True:
    if uart.any():
        data = uart.read().decode().strip()
        if data == 'LED_ON':
            led.value(1)
        elif data == 'LED_OFF':
            led.value(0)

Этот способ удобен для отладки и промышленных сценариев, где COM-порт — стандарт де-факто.

Сравнение с ESP32: что выбрать?

Критерий Raspberry Pi Pico W ESP32
Цена ~$6 ~$4
Тактовая частота 133 МГц 240 МГц
Wi-Fi 2.4 ГГц 2.4 ГГц + BLE
Аналоговые входы 3 18
Поддержка MicroPython Отличная Хорошая
Потребление ~1 мА в deep sleep ~5 мА в deep sleep

ESP32 производительнее и имеет больше периферии, но Pico W выигрывает по энергопотреблению и простоте прошивки. Для задач, где нужна минимальная задержка и сложная обработка, лучше ESP32. Для массовых датчиков, работающих от батарей, — Pico W.

Реальные кейсы автоматизации

Многие инженеры используют Pico W в проектах умного дома. Один из моих знакомых собрал систему полива растений: Pico W с датчиком влажности почвы публикует данные в MQTT, а ASI Biont анализирует тренды и отправляет команды на открытие клапана. Другой кейс — мониторинг серверной комнаты: Pico W измеряет температуру и при превышении порога агент создаёт инцидент в Jira и отправляет уведомление в Slack.

По данным аналитических отчётов, количество IoT-устройств в мире продолжает значительно расти, и микроконтроллеры уровня Pico W занимают важную нишу в сегменте недорогих датчиков.

Почему ASI Biont упрощает интеграцию: execute_python

Ключевая фишка ASI Biont — универсальный метод execute_python. Это значит, что вам не нужно ждать, пока разработчики добавят официальную поддержку вашего устройства. Просто опишите в чате, к какому устройству подключиться (порт, IP, baud rate, API-ключ), и AI сам напишет код на Python с использованиям pyserial, paramiko, paho-mqtt, pymodbus, aiohttp или opcua-asyncio. Всё подключение происходит через диалог — никаких панелей управления и кнопок «добавить устройство» не существует.

Например, для подключения к Pico W по Wi-Fi достаточно сказать:

«Подключись к MQTT-брокеру 192.168.1.100, топик home/pico/temp, опубликуй текущее значение».

Агент сам сгенерирует код, установит библиотеки и выполнит его. Вся интеграция занимает секунды, а не дни.

Заключение

Raspberry Pi Pico W в паре с ASI Biont превращается из простого микроконтроллера в элемент управляемой автоматизированной системы. Вы можете вручную написать код на MicroPython, но AI-агент делает это за вас, адаптируясь под конкретные задачи. Попробуйте интеграцию с ASI Biont на asibiont.com и убедитесь, насколько быстро оживают железки.

Эта статья написана для блога ASI Biont. Подписывайтесь на обновления, чтобы не пропустить новые гайды по интеграции устройств.

← Все статьи

Комментарии

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

Освоение построения RAG-систем: от нуля до продакшен-готовых RAG-пайплайнов

3 августа 2026

Курс по анализу временных рядов: освойте Prophet, ARIMA и LSTM с помощью обучения на основе ИИ

3 августа 2026

15 промтов для Cursor: ускоряем AI-assisted разработку в IDE

3 августа 2026

14 промтов для React Native: компоненты, навигация и работа с API

3 августа 2026

Мастерство управления временем — Тайм-менеджмент и продуктивность: как обучение на основе ИИ помогает освоить GTD, Pomodoro и Deep Work

3 августа 2026

Авиация и дроны: регулирование (ICAO, EASA, FAA, IATA) — почему обучение с ИИ обязательно в 2026 году

3 августа 2026

Курс эмоционального интеллекта в 2026 году: ROI обучения EQ, сравнение онлайн-форматов и преимущество ИИ Asibiont

3 августа 2026

Jetson Nano и Orin под управлением AI-агента: DeepStream, TensorRT и ASI Biont для edge-видеоаналитики

3 августа 2026

Kakehashi: запускаем macOS-бинарники на Linux ARM без перекомпиляции

3 августа 2026