+7 (812) 703-02-02 info@hse.spbstu.ru Max Rutube

Умные устройства: программирование микроконтроллераНовый курс!

C 8 класса | 26 занятий | Очно

Длительность курса: 26 занятий по 4 ак. часа

О чём курс

Курс «Умные устройства: программирование микроконтроллера» — это полноценная практико-ориентированная программа для учащихся 8–10 классов, для прохождения которой требуется только плата ESP32-S3 N16R8, USB-кабель и компьютер. Никаких датчиков, дисплеев, проводов и макетных плат не нужно.

Курс доказывает, что современный микроконтроллер — это не просто «мозг» для подключения железа, а самостоятельная вычислительная платформа. ESP32-S3 N16R8 несёт на борту встроенный RGB-светодиод, кнопку, сенсорные пины, термодатчик, генератор случайных чисел, Wi-Fi, Bluetooth и 16 МБ Flash — этого хватает для десятков увлекательных проектов.

На протяжении 26 занятий учащиеся осваивают программирование на C++, создают веб-серверы и интерфейсы, строят многопользовательские игры и чаты, подключаются к облачным сервисам, изучают безопасность IoT, многозадачность, энергосбережение и даже машинное обучение. Финал — командный проект, работающий в браузере любого смартфона.

Чему научим

По окончании курса учащиеся будут уметь:

  • Устанавливать среду разработки и уверенно работать в Arduino IDE.
  • Писать структурированный код на C++: функции, массивы, строки, классы.
  • Использовать все встроенные возможности ESP32-S3: RGB-LED, сенсорные пины, термодатчик, RNG.
  • Создавать веб-сервер на ESP32 с красивым HTML/CSS/JS интерфейсом.
  • Реализовывать двустороннюю связь в реальном времени через WebSocket.
  • Управлять устройством по Bluetooth Classic и BLE со смартфона.
  • Отправлять и получать данные через MQTT и публичные REST API.
  • Строить прямые беспроводные сети между платами через ESP-NOW.
  • Применять FreeRTOS для многозадачной работы на двух ядрах процессора.
  • Обновлять прошивку по воздуху (OTA) без физического подключения.
  • Проектировать энергоэффективные устройства с режимами сна Deep Sleep.
  • Защищать IoT-устройство: HTTPS, аутентификация, безопасное хранение паролей.
  • Использовать симулятор Wokwi для прототипирования без физических компонентов.
  • Запускать модели машинного обучения (TinyML) прямо на микроконтроллере.
  • Проектировать и защищать собственные технические проекты.

Занятие 1

Знакомство с ESP32-S3 и средой разработки

  • Что такое микроконтроллер и чем он отличается от компьютера.
  • Обзор платы ESP32-S3 N16R8: процессор, Flash, PSRAM, Wi-Fi, Bluetooth, сенсорные пины.
  • Встроенный RGB-светодиод и кнопка BOOT — бесплатное «железо» на борту.
  • Установка Arduino IDE, драйвера CH340/CP2102, пакета esp32 от Espressif.

Занятие 2

Основы C++

  • Структура скетча: setup() и loop().
  • Типы данных: int, float, bool, String, unsigned long.
  • Условный оператор if / else if / else.
  • Циклы for и while.
  • Логические операторы &&, ||, !.
  • Область видимости переменных.

Занятие 3

Функции и структуры данных

  • Зачем нужны функции: повторное использование кода, читаемость.
  • Объявление и вызов функций, параметры и возвращаемые значения.
  • Массивы: объявление, индексация, перебор.
  • Строки (String): методы length(), indexOf(), substring(), toInt().
  • Разбор строки-команды из Serial.

Занятие 4

Сенсорные пины: управление касанием

  • Как работают ёмкостные сенсорные пины ESP32-S3: измерение изменения ёмкости при касании пальцем.
  • Функция touchRead() и touchAttachInterrupt().
  • Настройка порога срабатывания.
  • Защита от шума: усреднение нескольких показаний.
  • Применение: кнопки без механических деталей, слайдеры, интерактивные поверхности.

Занятие 5

Встроенные возможности чипа: температура, случайность, время

  • Встроенный термодатчик ESP32-S3: функция temperatureRead(), погрешность и область применения.
  • Аппаратный генератор случайных чисел (RNG): esp_random() — настоящая случайность из физического шума.
  • Системное время: millis(), micros(), работа с временными интервалами.
  • Перевод в часы/минуты/секунды.

Занятие 6

Симулятор Wokwi: виртуальное железо в браузере

  • Что такое симулятор Wokwi и зачем он нужен.
  • Поддерживаемые компоненты: виртуальные кнопки, потенциометры, светодиоды, OLED, датчики, сервоприводы.
  • Работа в браузере без установки.
  • Импорт/экспорт проектов.
  • Ограничения симулятора vs реальное железо.

Занятие 7

Wi-Fi: подключение к сети и веб-сервер

  • Стек Wi-Fi в ESP32-S3: режимы Station (STA) и Access Point (AP).
  • Класс WiFi, этапы подключения.
  • Протокол HTTP: запрос и ответ, статус-коды.
  • Класс WebServer из библиотеки ESP32.
  • Понятие IP-адреса и маршрутизации в локальной сети.

Занятие 8

Красивый веб-интерфейс

  • Основы HTML: теги, структура страницы.
  • CSS: стили, цвета, кнопки.
  • JavaScript: обработка событий, fetch() для запросов к ESP32.
  • Хранение HTML/CSS/JS файлов в LittleFS на Flash-памяти ESP32-S3.
  • Разделение логики (C++) и интерфейса (HTML).

Занятие 9

WebSocket: двусторонняя связь в реальном времени

  • Разница между HTTP (запрос-ответ) и WebSocket (постоянное соединение).
  • Библиотека AsyncWebServer + AsyncWebSocket.
  • Broadcast — рассылка всем подключённым клиентам одновременно.
  • Применение: чаты, дашборды реального времени, онлайн-игры.

Занятие 10

Bluetooth: управление со смартфона

  • Bluetooth Classic vs BLE (Bluetooth Low Energy): отличия, расход энергии, дальность.
  • Bluetooth Serial (SPP) на ESP32: эмуляция COM-порта по воздуху.
  • Приложение Serial Bluetooth Terminal (Android) и аналоги для iOS.
  • Протокол обмена: текстовые команды, разбор строки.

Занятие 11

BLE (Bluetooth Low Energy): маяки и уведомления

  • Архитектура BLE: GATT, сервисы и характеристики, роли Central/Peripheral.
  • Отличие от Bluetooth Classic: режим рекламы (advertising), очень низкое энергопотребление.
  • BLE-маяк (beacon): широковещательная передача данных без подключения.
  • Приложение nRF Connect для просмотра BLE-устройств.

Занятие 12

Файловая система LittleFS: хранение данных и конфигурации

  • Зачем нужна файловая система на микроконтроллере. LittleFS vs SPIFFS: журналирование, надёжность при отключении питания.
  • Загрузка файлов через LittleFS Data Upload плагин.
  • Операции: создание, чтение, запись, удаление, листинг.
  • JSON как формат конфигурации: библиотека ArduinoJson.

Занятие 13

Таймеры и прерывания

  • Проблема delay(): программа замирает и пропускает события.
  • Паттерн millis() для параллельного выполнения задач.
  • Аппаратные прерывания: attachInterrupt(), типы RISING/FALLING/CHANGE.
  • Кнопка BOOT как источник прерывания.
  • Флаги в прерываниях, volatile-переменные.
  • Аппаратные таймеры ESP32: timerBegin(), timerAttachInterrupt().

Занятие 14

MQTT и IoT-платформы: данные в интернете

  • Концепция IoT: устройства, данные, облако.
  • Протокол MQTT: брокер, топики, подписка и публикация, QoS.
  • Публичный брокер broker.hivemq.com. Библиотека PubSubClient.
  • Платформа HiveMQ Cloud и MQTT Explorer для визуализации.

Занятие 15

ESP-NOW: прямая связь между платами без интернета

  • Протокол ESP-NOW: прямая передача данных между ESP32 без роутера. MAC-адреса, одноранговая (peer-to-peer) и широковещательная передача.
  • Структура пакета данных.
  • Сравнение с Wi-Fi и Bluetooth: задержка <1 мс, дальность до 200 м на открытом пространстве.
  • Применение: распределённые сенсорные сети, пульты управления.

Занятие 16

FreeRTOS: настоящая многозадачность

  • Операционная система реального времени FreeRTOS встроена в ESP32.
  • Задачи (tasks): создание через xTaskCreatePinnedToCore(), приоритеты, ядра Core0 и Core1.
  • Очереди (Queue) для безопасного обмена данными между задачами.
  • Мьютекс для защиты общих ресурсов. Разница с паттерном millis().

Занятие 17

OTA-обновления

  • OTA (Over-The-Air) — обновление прошивки без физического подключения кабеля.
  • Библиотека ArduinoOTA.
  • Как это работает: ESP32 запускает UDP-сервер, Arduino IDE находит его в сети.
  • Безопасность OTA: пароль, хеш.
  • Применение в реальных устройствах: обновление умных ламп, термостатов без демонтажа.

Занятие 18

Wokwi: продвинутый уровень

  • Продвинутые возможности Wokwi: виртуальный логический анализатор, осциллограф, I2C-сканер.
  • Wokwi CLI для автоматического тестирования.
  • Написание собственных кастомных чипов на JavaScript в Wokwi.
  • Диаграммы подключения (diagram.json) — описание схемы в коде.

Занятие 19

Энергосбережение

  • Режимы питания ESP32-S3: Active (~100 мА), Light Sleep (~2 мА), Deep Sleep (~10 мкА), Hibernation (~5 мкА).
  • Источники пробуждения: таймер, внешний сигнал (EXT0/EXT1), сенсорный пин, ULP-сопроцессор. RTC-память: данные, переживающие Deep Sleep.
  • Расчёт времени автономной работы от батарейки.

Занятие 20

Безопасность IoT

  • Почему безопасность важна для IoT-устройств: примеры реальных атак на умные устройства. HTTPS vs HTTP: TLS-шифрование, сертификаты.
  • Хранение паролей: не в коде, а в config.json или NVS (Non-Volatile Storage).
  • Хеширование паролей.
  • Базовая HTTP-аутентификация.
  • Защита OTA-обновлений паролем.

Занятие 21

Парсинг данных из интернета

  • REST API: что это и как работает.
  • Формат JSON: структура, парсинг через ArduinoJson.
  • Библиотека HTTPClient для HTTP-запросов.
  • Публичные API без авторизации: погода (Open-Meteo), курсы валют, случайные факты, время (worldtimeapi.org).
  • Обработка ошибок сети.

Занятие 22

Многопользовательская игра по Wi-Fi

  • Архитектура клиент-сервер для игр.
  • UDP vs TCP: скорость против надёжности, применение в играх.
  • Синхронизация состояния между участниками.
  • Понятие игрового цикла (game loop).
  • Структуры данных для описания состояния игры.

Занятие 23

Голосовое управление

  • Что такое машинное обучение простыми словами.
  • TinyML — нейросети на микроконтроллерах.
  • Платформа Edge Impulse: сбор данных, обучение, экспорт модели.
  • Wake Word Detection — распознавание ключевого слова.
  • Встроенный АЦП ESP32-S3 как источник аудио (через встроенный пин без микрофона — через прикосновение к пину).

Занятие 24

Создание собственной прошивки-фреймворка

  • Что такое прошивка-фреймворк: единая база, на которой строятся все проекты.
  • Паттерн «конфигурация через JSON»: одна прошивка, разное поведение на разных устройствах.
  • Модульная архитектура: отдельные .h/.cpp файлы для Wi-Fi, веб-сервера, BLE, хранилища.
  • Принципы SOLID применительно к C++ на микроконтроллерах.

Занятие 25

Финальный проект

  • Этапы разработки продукта: идея → техническое задание → архитектура → реализация → тестирование → презентация.
  • Как писать техническое задание.
  • Декомпозиция задачи на подзадачи.
  • Управление версиями кода (базовое знакомство с git).

Занятие 26

Презентация и защита

  • Финализация проектов — доработка кода, тестирование, подготовка демонстрации.
  • Презентация: идея и задача, архитектурное решение, демонстрация работы в реальном времени, что было сложнее всего и как решили.
  • Вопросы и обратная связь от одноклассников и педагога.
  • Подведение итогов курса.
  • Пути дальнейшего развития.

Стоимость

56 400 ₽

Социальные скидки для многодетных и других категорий семей.
Скидки по акциям.
Оплата материнским капиталом.
Можно оформить налоговый вычет по расходам на обучение - 13%.

Как поступить

Для тех, кто еще не учится в АИШ:

  • Вступительное тестирование

Для уже обучающихся в АИШ:

  • «Информатика» - промежуточная аттестация не менее 50 баллов или итоговая оценка не ниже «удовлетворительно»
  • «Прикладная информатика» - промежуточная аттестация не менее 50 баллов или итоговая оценка не ниже «удовлетворительно»
  • «Семестр 2. Основы сетевых технологий» - промежуточная аттестация не менее 50 баллов или итоговая оценка не ниже «удовлетворительно»
  • «Администратор локальной сети» - промежуточная аттестация не менее 50 баллов или итоговая оценка не ниже «удовлетворительно»
Тест № АИШ-002 Основы информатики и математическая культура

Необходимые знания и умения для успешного прохождения тестирования:

  1. Знания курса математики за 7 классов общеобразовательной школы.
  2. Общие принципы организации и работы ЭВМ. Представление информации в памяти компьютера.
  3. Перевод чисел из одной системы счисления в другие.
  4. Знание основных логических операций.
  5. Вычисление и упрощение логических выражений.
  6. Умение анализировать и формализовать постановку задачи.
  7. Умение решать задачу в общем виде, строить математическую модель.

По результатам выполнения практического задания необходимо набрать не менее 50 баллов


Тест № АИШ-001 Основы компьютерной грамотности

Тест на владение практическими навыками работы в ОС MS Windows:

  • Проходной балл:
    • Для курсов Информатика, Начала алгоритмизации и программирования на C#, Начала алгоритмизации и программирования на языке Python и Основы HTML и CSS - 50 баллов
    • Для всех остальных - 40 баллов
  • Длительность: 60 минут
  • Количество попыток: 2

Необходимы знания и навыки для успешного прохождения тестирования:

  • Понятия файла
  • Понятие папки
  • Расширение файлов
  • Работа с файловой системой: копирование, удаление, перемещение, поиск, создание файлов и папок
  • Горячие клавиши
  • Работа с оконными приложениями
  • Работа с мышкой
  • Устройство и принцип работы компьютера
  • Операционная система: что это такое, цели и задачи

Как записаться на занятия

Если ребёнок уже обучается

Оставьте заявку в Личном кабинете

Если ребёнок ещё не обучается

заполните форму

среда 23.09.2026 - 28.04.2027 18:00 - 21:30

Группа
104.02.01
Свободных мест: 9
Аудитория
№229
ул. Обручевых, д.1, вход с ул. Гидротехников
пятница 25.09.2026 - 23.04.2027 18:00 - 21:30

Группа
104.02.02
Свободных мест: 8
Аудитория
№229
ул. Обручевых, д.1, вход с ул. Гидротехников
суббота 26.09.2026 - 24.04.2027 18:00 - 21:30

Группа
104.02.03
Свободных мест: 9
Аудитория
№229
ул. Обручевых, д.1, вход с ул. Гидротехников

Академия информатики для школьников в цифрах

21 год

успешной работы
в Политехническом университете Петра Великого

11

направлений обучения

83

учебные программы

2 800

школьников
проходят обучение
ежегодно

151

выпускник АИШ
в 2025 году поступил
в Политехнический университет

3

учебные площадки

40

компьютерных классов