Введение: почему Banana Pi и AI-агент — идеальная пара
Banana Pi (M4, BPI-M5) — это мощный одноплатный компьютер на базе ARM-процессора Allwinner или Rockchip, который часто используют в DIY-проектах, умном доме и Edge AI-вычислениях. В отличие от Raspberry Pi, он предлагает больше портов GPIO, поддержку M.2 NVMe и Gigabit Ethernet, что делает его отличной платформой для запуска нейросетей на границе сети (Edge Inference). Однако ручное написание Python-скриптов для управления GPIO, настройки MQTT и интеграции с датчиками требует времени и навыков. ASI Biont — это AI-агент, который пишет код за вас: вы просто описываете задачу в чате, и он генерирует и выполняет Python-скрипты с использованием paramiko (для SSH), paho-mqtt (для MQTT), pymodbus (для Modbus) или aiohttp (для HTTP API). В этой статье я покажу, как подключить Banana Pi к ASI Biont и автоматизировать сбор данных с датчика температуры, управление светодиодом через GPIO и отправку уведомлений в Telegram — без единой строчки кода, написанной вручную.
Как ASI Biont подключается к Banana Pi
Banana Pi — это одноплатник с Linux (Armbian, Ubuntu), поэтому наиболее логичный способ интеграции — через SSH (протокол Secure Shell). AI-агент использует библиотеку paramiko (доступна в sandbox-окружении ASI Biont) для подключения к устройству по IP, выполнения команд и передачи файлов. Альтернативно, если на Banana Pi установлен MQTT-брокер (например, Mosquitto), можно использовать MQTT через paho-mqtt. Для работы с GPIO напрямую из облака ASI Biont использует SSH: он пишет Python-скрипт с библиотекой RPi.GPIO (или аналогом для Banana Pi — pyA20, libgpiod), который выполняется локально на Banana Pi через SSH.
Сценарий: умный мониторинг температуры и управление светом
Допустим, у вас есть Banana Pi BPI-M5, к которому подключены:
- Датчик температуры и влажности DHT22 (GPIO 4)
- Светодиод (GPIO 17)
- Реле для управления лампой (GPIO 27)
Ваша задача: каждые 5 минут измерять температуру, если она превышает 30°C — включать светодиод и отправлять уведомление в Telegram. Кроме того, вы хотите иметь возможность голосом или текстом в чате ASI Biont включать/выключать лампу через реле.
Шаг 1. Подготовка Banana Pi
Убедитесь, что на Banana Pi установлен Python 3, библиотека для работы с GPIO (например, libgpiod или pyA20) и включён SSH-доступ. Проверьте подключение:
ssh bananapi@192.168.1.100
Для датчика DHT22 потребуется библиотека Adafruit_DHT (установка: pip install Adafruit_DHT).
Шаг 2. Описание задачи в чате ASI Biont
Вы пишете AI-агенту:
"Подключись к Banana Pi по SSH: IP 192.168.1.100, пользователь bananapi, пароль mypassword. Настрой скрипт, который каждые 5 минут читает температуру с DHT22 на GPIO4 и влажность. Если температура выше 30°C, включай светодиод на GPIO17 и отправляй мне в Telegram сообщение 'Температура превышена: {value}°C'. Также создай команду для включения реле на GPIO27 по команде 'включи лампу' и выключения по команде 'выключи лампу'. Используй библиотеку libgpiod для GPIO."
Шаг 3. AI генерирует код
ASI Biont создаёт Python-скрипт, который загружается на Banana Pi через SCP (через paramiko) и запускается. Пример сгенерированного кода (упрощённо):
import time
import requests
import libgpiod as gpio
from adafruit_dht import DHT22
# Настройка GPIO
chip = gpio.Chip('gpiochip0')
led_line = chip.get_line(17)
led_line.request(consumer='temp_monitor', type=gpio.LINE_REQ_DIR_OUT)
relay_line = chip.get_line(27)
relay_line.request(consumer='relay', type=gpio.LINE_REQ_DIR_OUT)
# Инициализация датчика
dht_device = DHT22(4)
def send_telegram(message):
bot_token = 'YOUR_BOT_TOKEN'
chat_id = 'YOUR_CHAT_ID'
url = f'https://api.telegram.org/bot{bot_token}/sendMessage'
requests.post(url, json={'chat_id': chat_id, 'text': message})
while True:
try:
temperature = dht_device.temperature
humidity = dht_device.humidity
if temperature > 30:
led_line.set_value(1)
send_telegram(f'Температура превышена: {temperature}°C')
else:
led_line.set_value(0)
except RuntimeError as e:
print(f'Ошибка датчика: {e}')
time.sleep(300)
Обратите внимание: в реальности ASI Biont использует execute_python для выполнения кода в облаке, а для работы с GPIO — отправляет команды через SSH. Поэтому цикл while True недопустим в sandbox, но AI может запустить скрипт на Banana Pi через SSH с помощью nohup или systemd. AI сам выбирает правильный подход.
Шаг 4. Управление реле через чат
Теперь вы можете написать в чате: "Включи лампу". AI отправит команду на Banana Pi по SSH:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', username='bananapi', password='mypassword')
ssh.exec_command('python3 -c "import libgpiod as gpio; chip=gpio.Chip(\'gpiochip0\'); line=chip.get_line(27); line.request(); line.set_value(1)"')
ssh.close()
Альтернативный способ: MQTT
Если на Banana Pi установлен Mosquitto, можно настроить MQTT-брокера. AI подключается к нему через paho-mqtt из облака. Пример команды для публикации:
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect('192.168.1.100', 1883, 60)
client.publish('home/relay/lamp', 'on')
client.disconnect()
Почему это выгодно
- Нет ручного кодирования: вы описываете задачу естественным языком, AI пишет код за секунды.
- Любой интерфейс: SSH, MQTT, Modbus, HTTP — AI сам выбирает протокол.
- Гибкость: можно подключать не только Banana Pi, но и любые устройства через execute_python.
- Edge AI: Banana Pi может выполнять инференс нейросетей локально (например, через ONNX Runtime), а ASI Biont управляет этим удалённо.
Заключение
Интеграция Banana Pi с AI-агентом ASI Biont открывает возможности для быстрого прототипирования умного дома, промышленного IoT и Edge AI-решений. Вам не нужно ждать обновлений прошивки или писать сложные скрипты — просто опишите задачу в чате, и AI сделает всё сам. Попробуйте интеграцию прямо сейчас на asibiont.com — подключите свой Banana Pi и автоматизируйте рутину.
Комментарии