Здесь могла бы быть реклама
Она помогает блогу развиваться.
Кажется, сегодня она немного загрустила.

Главная страница » SBC (Rock/Orange/Nano) » Rock Pi S: крошечный одноплатник для IoT-проектов
Rock Pi S: крошечный одноплатник для IoT-проектов
SBC (Rock/Orange/Nano)

Rock Pi S: крошечный одноплатник для IoT-проектов

31.03.2026 188
Rock Pi S: крошечный одноплатник для IoT-проектов

Подробный гайд по Rock Pi S: от распаковки до создания датчика с веб-интерфейсом. Настройка Armbian, работа с GPIO, интеграция с Home Assistant. Идеальный выбор для умного дома.

В мире одноплатников царит культ мощности: больше ядер, больше гигагерц, больше оперативки. Но что, если твоему проекту не нужна вся эта вычислительная мощь, а нужны скромные аппетиты, компактность и надёжность? Именно здесь на сцену выходит Rock Pi S — миниатюрный, но удивительно способный одноплатник, который я всё чаще выбираю для своих IoT-задач. Это не конкурент Raspberry Pi 4 в гонке за производительность, это специалист узкого профиля: тихий, экономный и всегда на посту.

Я использую Rock Pi S в качестве мозгов для датчиков, простого MQTT-брокера, контроллера для реле через GPIO и даже как мини-шлюз для устройств Zigbee или 433 МГц. Его главные козыри — размер (всего 35x35 мм), наличие встроенной флеш-памяти (до 16 ГБ eMMC) и очень низкое энергопотребление. Давайте разберём его по косточкам и настроим для реальной задачи.

Что в коробке? Технические характеристики и распиновка

Rock Pi S построен на процессоре Rockchip RK3308 с 4 ядрами Cortex-A35. Это ARMv8, но без неонового блока, что важно для некоторых оптимизированных сборок. Варианты памяти: 256 или 512 МБ оперативной памяти DDR3. Этого достаточно для headless-работы (без монитора) под управлением лёгкой ОС.

Ключевые порты и интерфейсы: * Встроенная память: 8 или 16 ГБ eMMC (это не SD-карта, а распаянный чип — быстрее и надёжнее). * MicroSD-слот: Для загрузки альтернативной ОС или расширения хранилища. * Сеть: 10/100 Ethernet (контроллер RTL8211E) — это важно, Wi-Fi нет в базовой версии. * USB: Один порт USB 2.0 Type-A (хост) и один USB 2.0 OTG (обычно используется для питания). * Аудио: Встроенный кодек, есть выход на наушники (3.5 мм) и встроенный микрофон (плюс разъём для внешнего). * GPIO: 26-контактный разъём, совместимый по распиновке с Raspberry Pi Model A/B (но не Zero!). Это огромный плюс для использования шилдов и хатов. * Питание: Через порт USB-C (рекомендуется) или через контактные площадки на плате. Нужен стабильный источник 5V/2A.

Важный момент по питанию: Из-за крошечных размеров на плате нет полноценного линейного стабилизатора. Используйте качественный блок питания с USB-C. Слабая зарядка от старого повербанка может привести к нестабильной работе и "плавающим" ошибкам.

Выбор и установка операционной системы

Для IoT идеально подходят минималистичные ОС. Официально поддерживаются: 1. Debian (Armbian) — мой основной выбор. Стабильная, огромное сообщество, актуальные пакеты. 2. DietPi — сверхлёгкая и оптимизированная система. Если ваш проект требует абсолютного минимума ресурсов — это лучший кандидат. Кстати, у меня есть отдельная статья про DietPi на одноплатниках, где я разбираю её преимущества. 3. Ubuntu Core — для проектов, требующих высокой безопасности и обновлений через снапы.

Установка Armbian на eMMC (рекомендуемый способ)

Скачиваем последний образ Armbian для Rock Pi S с официального сайта. Чаще всего это файл с именем, подобным Armbian_23.11.1_Rockpi-s_jammy_current_6.1.63.img.xz.

Шаг 1: Запись на SD-карту и первичная загрузка. Вставляем SD-карту в компьютер и записываем образ с помощью balenaEtcher или dd. Вставляем карту в Rock Pi S, подключаем Ethernet, питание и ждём загрузки.

Шаг 2: Первый вход и смена пароля. Находим IP-адрес платы через роутер или сканер сети (например, nmap -sn 192.168.1.0/24). Подключаемся по SSH:

ssh root@192.168.1.100

Пароль по умолчанию: 1234. При первом входе система предложит сменить пароль и создать нового пользователя. Сделайте это обязательно!

Шаг 3: Флеш-инсталляция на eMMC. Это ключевая команда, которая переносит систему с SD-карты на встроенную, более быструю память.

sudo nand-sata-install

В появившемся текстовом меню выбираем пункт Boot from eMMC - system on eMMC. Скрипт скопирует систему и настроит загрузчик. После завершения выключите плату командой sudo poweroff, извлеките SD-карту и снова включите. Теперь система грузится с eMMC.

Типичная ошибка: Пытаться запустить nand-sata-install без загрузки с SD-карты. Это не сработает. Процесс всегда идёт с карты на eMMC.

Базовая настройка и "приведение в чувство"

Обновляем систему и устанавливаем базовые утилиты:

sudo apt update && sudo apt upgrade -y
sudo apt install -y vim htop git curl wget network-manager ufw

Настройка статического IP (опционально, но желательно для сервера): Редактируем конфиг Netplan (актуально для новых версий Armbian/Ubuntu).

sudo vim /etc/netplan/01-netcfg.yaml

Приводим файл к виду (подставив свои значения):

network:
  version: 2
  renderer: networkd
  ethernet:
    eth0:
      dhcp4: no
      addresses: [192.168.1.150/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

Применяем настройки:

sudo netplan apply

Включаем базовой фаервол:

sudo ufw allow 22/tcp # SSH
sudo ufw allow 80,443/tcp # Если планируете веб-сервер
sudo ufw --force enable

Практический проект: Создаём датчик температуры/влажности с веб-интерфейсом

Давайте сделаем что-то осязаемое. Подключим популярный датчик DHT22 (AM2302) к GPIO и выведем данные на простую веб-страничку.

Необходимое железо: * Rock Pi S * Датчик DHT22 * Резистор 10 кОм (подтяжка Data к VCC) * Малка (breadboard) и провода

Схема подключения: * VCC (DHT22, пин 1) -> Pin 1 (3.3V) на Rock Pi S * DATA (DHT22, пин 2) -> Pin 7 (GPIO4) на Rock Pi S (через подтягивающий резистор к 3.3V) * GND (DHT22, пин 4) -> Pin 9 (GND) на Rock Pi S

Шаг 1: Установка необходимого ПО.

sudo apt install -y python3-pip python3-venv git nginx
sudo pip3 install Adafruit_DHT flask

Комментарий: Мы ставим питоновскую библиотеку для работы с датчиком и микро-фреймворк Flask для создания веб-сервера. Nginx будет работать как обратный прокси для стабильности.

Шаг 2: Пишем скрипт для чтения с датчика и веб-сервера. Создаём файл ~/sensor_app.py:

#!/usr/bin/env python3
import Adafruit_DHT
from flask import Flask, jsonify
import time

app = Flask(__name__)
SENSOR = Adafruit_DHT.DHT22
PIN = 4  # GPIO4, он же физический пин 7

def read_sensor():
    """Чтение данных с датчика DHT22."""
    humidity, temperature = Adafruit_DHT.read_retry(SENSOR, PIN)
    if humidity is not None and temperature is not None:
        return {'temperature': round(temperature, 1), 'humidity': round(humidity, 1)}
    else:
        return {'error': 'Failed to read sensor'}

@app.route('/')
def index():
    data = read_sensor()
    html = f"""
    <html><body>
        <h1>Rock Pi S Sensor</h1>
        <p>Temperature: <strong>{data.get('temperature', 'N/A')} °C</strong></p>
        <p>Humidity: <strong>{data.get('humidity', 'N/A')} %</strong></p>
        <p><small>(Updates on refresh)</small></p>
    </body></html>
    """
    return html

@app.route('/api/data')
def api_data():
    """JSON endpoint для Home Assistant или других систем."""
    return jsonify(read_sensor())

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=False)

Делаем его исполняемым: chmod +x ~/sensor_app.py

Шаг 3: Настраиваем автозапуск через systemd. Создаём сервисный файл: sudo vim /etc/systemd/system/sensor.service

[Unit]
Description=Rock Pi S DHT22 Sensor Web Service
After=network.target

[Service]
Type=simple
User=your_username  # Замените на имя вашего пользователя!
WorkingDirectory=/home/your_username
ExecStart=/usr/bin/python3 /home/your_username/sensor_app.py
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Активируем и запускаем сервис:

sudo systemctl daemon-reload
sudo systemctl enable sensor.service
sudo systemctl start sensor.service

Шаг 4: Настраиваем Nginx как обратный прокси (опционально, но для надёжности). Редактируем конфиг: sudo vim /etc/nginx/sites-available/sensor

server {
    listen 80;
    server_name rockpi.local; # или ваш IP

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Активируем конфиг и перезапускаем Nginx:

sudo ln -s /etc/nginx/sites-available/sensor /etc/nginx/sites-enabled/
sudo nginx -t  # Проверяем конфигурацию на ошибки
sudo systemctl restart nginx

Проверка результата

  1. Проверяем работу сервиса: bash sudo systemctl status sensor.service В выводе должна быть строка active (running).

  2. Проверяем данные через API: bash curl http://localhost:5000/api/data Должен вернуться JSON вида {"humidity": 45.2, "temperature": 22.1}.

  3. Открываем веб-интерфейс: В браузере переходим по IP-адресу вашего Rock Pi S (например, http://192.168.1.150). Вы должны увидеть страницу с текущими показаниями температуры и влажности.

Что пошло не так? Типичные проблемы: * Failed to read sensor: Чаще всего проблема в плохом контакте на макетке или отсутствии подтягивающего резистора. Проверьте схему. * Could not open /dev/mem: Недостаточно прав. Убедитесь, что скрипт запускается от обычного пользователя, который состоит в группе gpio (в Armbian это обычно уже сделано). * Nginx выдаёт 502 ошибку: Сервис Flask не запущен. Проверьте systemctl status sensor и логи journalctl -u sensor.service.

Интеграция с умным домом (Home Assistant)

Созданный нами JSON-эндпоинт (/api/data) идеально подходит для интеграции. В Home Assistant добавляем сенсор через RESTful Integration.

В configuration.yaml:

sensor:
  - platform: rest
    resource: http://192.168.1.150/api/data
    name: RockPi S DHT22
    scan_interval: 60
    value_template: '{{ value_json.temperature }}'
    unit_of_measurement: "°C"
  - platform: rest
    resource: http://192.168.1.150/api/data
    name: RockPi S Humidity
    scan_interval: 60
    value_template: '{{ value_json.humidity }}'
    unit_of_measurement: "%"

После перезагрузки HA данные с вашего самодельного датчика появятся в интерфейсе. Это отличная альтернатива беспроводным датчикам, когда нужна стабильность проводного подключения. Для более сложной автоматизации можно связать эти данные с другими устройствами через Node-RED + Home Assistant.

Заключение: Когда выбирать Rock Pi S?

Rock Pi S — это не универсальная плата. Это инструмент для конкретных задач. Я выбираю его, когда: * Нужен маленький, всегда включённый сетевой узел (MQTT-брокер Mosquitto, сервер времени NTP). * Проект требует максимальной стабильности (eMMC надёжнее SD-карты) и проводного Ethernet. * Задача — сбор данных с GPIO (датчики, реле) и их отправка в сеть. * Ограничен бюджет на электроэнергию (потребляет в простое менее 1Вт).

Если же вам нужен Wi-Fi, больше вычислительной мощности для медиа или полноценный веб-сервер с базой данных — посмотрите на более старшие модели, например, NanoPi M4V2. Но для десятков скучных, рутинных задач в умном доме или лаборатории, Rock Pi S оказывается идеальным, неприхотливым работягой, который просто делает своё дело.

Его главная магия — в простоте и отсутствии лишнего. Нет лишних интерфейсов, которые нужно отключать, нет кулеров, нет проблем с перегревом. Просто подключил, настроил и забыл — на месяцы. А в мире IoT это и есть высшая похвала.

Понравилась статья?

Поставьте лайк и сохраните полезный материал в закладки.

Комментарии (0)
Добавить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Orange Pi Zero 3: самый доступный одноплатник для умного дома
SBC (Rock/Orange/Nano)
31.03.2026
Orange Pi Zero 3: самый доступный одноплатник для умного дома
Подробное руководство по настройке Orange Pi Zero 3 как мозга умного дома. Установка Home Assistant, MQTT, мониторинг. DIY за копейки.
Radxa Zero 3W: Маленький одноплатник с WiFi 6 для ваших DIY-проектов
SBC (Rock/Orange/Nano)
31.03.2026
Radxa Zero 3W: Маленький одноплатник с WiFi 6 для ваших DIY-проектов
Подробный обзор Radxa Zero 3W: установка ОС, тест Wi-Fi 6, работа с GPIO и настройка Home Assistant. Идеальный компактный компьютер для DIY-проектов.
Домашний кластер из микрокомпьютеров: собираем и находим применение
SBC (Rock/Orange/Nano)
05.09.2026
Домашний кластер из микрокомпьютеров: собираем и находим применение
Собираем домашний кластер из Raspberry Pi и других SBC: выбор плат, настройка Docker Swarm, три практических сценария — умный дом, веб-сервер и VLESS-шлюз.
ROCK Pi 4B: установка Armbian и подключение по SSH без монитора
SBC (Rock/Orange/Nano)
01.09.2026
ROCK Pi 4B: установка Armbian и подключение по SSH без монитора
Пошаговая инструкция по установке Armbian на ROCK Pi 4B и настройке SSH-доступа без монитора. Советы, команды, типичные ошибки и проверка результата.
NanoPi NEO3: ваш крошечный и мощный сервер для IoT и автоматизации
SBC (Rock/Orange/Nano)
31.03.2026
NanoPi NEO3: ваш крошечный и мощный сервер для IoT и автоматизации
Подробное руководство по настройке NanoPi NEO3 как сервера для Home Assistant, Pi-hole и IoT. Установка Armbian, оптимизация, проекты и мониторинг.
Orange Pi vs Raspberry Pi: Что выбрать для DIY-проектов в 2024 году?
SBC (Rock/Orange/Nano)
31.03.2026
Orange Pi vs Raspberry Pi: Что выбрать для DIY-проектов в 2024 году?
Подробное сравнение Orange Pi и Raspberry Pi в 2024: тесты, настройка, плюсы и минусы. Узнайте, какой одноплатник лучше для вашего умного дома и DIY-проектов.

Войдите в аккаунт, чтобы пользоваться закладками, сообщениями и другими возможностями сайта.