- Регистрация
- 26.05.2022
- Сообщения
- 26 724
- Реакции
- 187
- Баллы
- 63
Инженер умных устройств использует технологии Интернета вещей (Internet of things) для разработки гаджетов для дома, промышленных летательных аппаратов и беспилотных автомобилей. Таких специалистов также называют разработчиками встраиваемых систем или embedded-разработчиками. Они пишут код, работают с микроконтроллерами и умеют паять компоненты для умных устройств.
Кому подойдёт курс
Новичкам
Научитесь разрабатывать устройства на базе микроконтроллеров. Сможете самостоятельно создавать сеть умных гаджетов.
Инженерам и специалистам по ремонту
Восполните недостающие знания: освоите C, разработку и отладку ПО. Расширите экспертизу и сможете развивать карьеру в IoT.
Специалистамиз других сфер IT
Освоите навыки инженерии и получите специализацию в IoT. Перейдете в перспективное направление и повысите уровень дохода.
ПРОГРАММА КРУСА
I четверть. Общие принципы микроэлектроники и программирования
В первой четверти вы освоите программирование на С. Научитесь работать с монтажным оборудованием (печатные платы, паяльник, резисторы) и разработаете свое первое электронное устройство. Также вы начнете знакомство с микроконтроллерами на примере простых в освоении устройств итальянской марки Arduino.
1. Введение в профессию (6 часов обучающего контента, 8 часов практики)
Кто такой разработчик встраиваемых систем
Этапы разработки устройств
Базовые знания по физике
Знакомство с методом пайки
2. Linux. Рабочая станция (12 часов обучающего контента, 32 часа практики)
Введение. Установка ОС.
Настройка и знакомство с интерфейсом командной строки.
Пользователи. Управление Пользователями и группами.
Загрузка ОС и процессы.
Устройство файловой системы Linux. Понятие Файла и каталога.
Введение в скрипты bash. Планировщики задач crontab и at.
Управление пакетами и репозиториями. Основы сетевой безопасности.
Введение в docker.
3. Программирование на С. Базовый уровень (20 часов обучающего контента, 62 часа практики)
Введение в язык С
Двоичная и шестнадцатеричная системы счислений.
Константы. Типы данных, часть 1.
Операторы и выражения языка С. Функции (объявление, вызов).
Переменные. Типы данных (примитивные типы, строки, структуры).
Управляющие операторы.
Функции. Работа с памятью.
Типы данных, часть 2. Основы объектно-ориентированного подхода к программированию. Пользовательские типы данных.
Структура программы на языке С.
Препроцессор.
IDE и средства разработки.
Стандартные библиотеки языка С.
Курсовой проект. Программная утилита, реализующая интерфейс расчетов температурных режимов в доме.
4. Основы электроники (15 часов обучающего контента, 50 часов практики)
Схемотехника. Знакомство с основными компонентами и инструментами.
Расчеты различных соединений. Теория и практика.
Транзисторы. Теория и практика.
Подключение и управление различными нагрузками.
Ток. Источники питания и фильтры. Гальваническая развязка.
Линейные преобразователи. Современные LDO. ШИМ.
Операционный усилитель. Логические компоненты, часть 1.
Логические элементы, часть 2.
Закрепление теории и практика.
Подготовка к курсовой работе. Генератор случайного числа на семисегментных индикаторах
5. Arduino. Проектирование устройств (12 часов обучающего контента, 42 часа практики)
Знакомство с Arduino
Обзор доступных сенсоров. АЦП. Считывание данных. Получение данных с потенциометра и оценка угла поворота его ручки. Простая фильтрация.
Обзор доступных средств индикации (светодиоды, светодиодные матрицы, дисплеи).
Динамическая индикация.
Интерфейс I2C на примере работы с датчиком влажности и температуры.
Символьный 16х2 дисплей. Вывод данных на дисплей.
Прерывания.
Подготовка к курсовой работе. Настольная метеостанция.
II четверть.Работа с промышленными микроконтроллерами и интерфейсами взаимодействия
В первый двух курсах четверти вы узнаете архитектуру ARM и выполните 2 проекта: на плате Nucleo и на основе микроконтроллеров STM 32. В третьем курсе вы изучите принципы работы технологий, обеспечивающие связь устройств между собой.
1. Микроконтроллеры. Вводный курс (12 часов обучающего контента, 42 часа практики)
Краткий обзор существующих архитектур микроконтроллеров. Микроконтроллеры AVR и ARM
Детальная лекция по архитектуре ARM
Интерфейс отладки и программирования. SWD, JTAG
Интерфейсы I2C, SPI (глубокое погружение)
Интерфейс QSPI как возможность расширения памяти
ACP Arduino/AVR
Прерывания Arduino/AVR
Подготовка к курсовой работе
2. Микроконтроллеры ARM (STM32) (18 часов обучающего контента, 58 часов практики)
Библиотеки CMSIS, LL, HAL. Абстракция как стиль в программировании
Среда STM32CubeMX как инструмент быстрого старта
Среда программирования STM32CubeIDE. Вводная лекция
DAC
ADC
DMA
WWDG, IWDG
Таймеры
RTC
UART
SDIO
Подготовка к курсовой работе
3. Базовые технологии электроники (15 часов обучающего контента, 50 часов практики)
Bluetooth (базовая лекция)
Протокол TCP-IP как базовый протокол Интернет. IP адресация. Маска подсети. Шлюз. Модули Wi-Fi. Основы
LoRa Базовая лекция. Основы использования
Применимость беспроводных решений. Базовые понятия скорости передачи данных. Дальность связи
Аппаратные решения
Измерение напряжения и тока: аппаратные и программные решения
Основы построения блоков питания
Гальваническая развязка цифровых интерфейсов. Приемо-передатчики RS232, 485, CAN FPGA/ASIC обзор
III четверть. Продвинутый уровень программирования микроконтроллеров.
Вы освоите язык С на продвинутом уровне. Сможете применить полученные знания в разработке встраиваемых систем. Научитесь работе с операционными системами реального времени и продолжите изучение технологий Интернета вещей для связи устройств в домашней сети.
1. Программирование на Си. Продвинутый уровень (12 часов обучающего контента, 42 часа практики)
Указатели. Указатели на структуры. Практические примеры. Ошибки программиста при работе с указателями
Библиотеки языка Си. Обзор функций. Недостатки базовых библиотек
Вопросы оптимизации кода
Алгоритмы
Компиляция и компиляторы
Многопоточность в С
Особенности С для IoT
Подготовка к курсовой работе
2. RTOS (Real-Time Operating System) (12 часов обучающего контента, 42 часа практики)
Обзорная лекция по операционным системам. Принципы работы. Ресурсы. Совместный доступ к ресурсам
Задачи. Управление задачами. Модели распределения и управления памятью
Очереди. Конкретные примеры и задачи. ПИД регулятор
Семафоры. Как семафоры позволяют сократить использование процессорного времени
Особенности отладки. Механизмы отладки. Оценка стека и кучи
Механизм взаимодействия между задачами
Многозадачная RTOS и прерывания
Подготовка к курсовой работе
1 месяц — 8 занятий
3. Связь (12 часов обучающего контента, 42 часа практики)
Протоколы взаимодействия устройств
Wi-Fi (низкий уровень протокола)
BLE/Bluetooth (низкий уровень протоколов)
Низкоуровневое взаимодействие устройств (канальный слой)
HASH и контрольные суммы
Распространенные методы шифрования и авторизации
Избыточность данных в протоколах связи
Курсовая работа. Взаимодействие с MQTT сервером
IV четверть. Дипломная работа и подготовка к собеседованию
Вы получите опыт разработки устойчивых к отказам распределенных устройств, выполните финальный проект, пройдете курс о том, как готовиться к собеседованиям, и сможете сделать первый шаг в профессию на позицию junior.
1. Распределенные сети / Дипломная работа (12 часов обучающего контента, 42 часа практики)
Вводный урок, знакомство с распределенной сетью Master/Slave
Режим работы устройства, методы построения
Отказоустойчивость сети, смена роли устройства
Брокеры задач, броадкаст задач
Моделирование отказов
Построение прототипа сети
Тестирование устойчивости
Дипломная работа. Распределенная сеть устройств
2. К чему готовиться на собеседовании (12 часов обучающего контента, 42 часа практики)
Подготовка резюме
Коммуникационные навыки и другие Soft Skills
Техническое собеседование, типы и варианты #1
Техническое собеседование, решение задач #2
Техническое собеседование, тестовый проект #3
Какие вопросы задавать рекрутеру
Согласие на оффер
Ревью резюме
Продажник
gb.ru/geek_university/internet-of-things#program
Кому подойдёт курс
Новичкам
Научитесь разрабатывать устройства на базе микроконтроллеров. Сможете самостоятельно создавать сеть умных гаджетов.
Инженерам и специалистам по ремонту
Восполните недостающие знания: освоите C, разработку и отладку ПО. Расширите экспертизу и сможете развивать карьеру в IoT.
Специалистамиз других сфер IT
Освоите навыки инженерии и получите специализацию в IoT. Перейдете в перспективное направление и повысите уровень дохода.
ПРОГРАММА КРУСА
I четверть. Общие принципы микроэлектроники и программирования
В первой четверти вы освоите программирование на С. Научитесь работать с монтажным оборудованием (печатные платы, паяльник, резисторы) и разработаете свое первое электронное устройство. Также вы начнете знакомство с микроконтроллерами на примере простых в освоении устройств итальянской марки Arduino.
1. Введение в профессию (6 часов обучающего контента, 8 часов практики)
Кто такой разработчик встраиваемых систем
Этапы разработки устройств
Базовые знания по физике
Знакомство с методом пайки
2. Linux. Рабочая станция (12 часов обучающего контента, 32 часа практики)
Введение. Установка ОС.
Настройка и знакомство с интерфейсом командной строки.
Пользователи. Управление Пользователями и группами.
Загрузка ОС и процессы.
Устройство файловой системы Linux. Понятие Файла и каталога.
Введение в скрипты bash. Планировщики задач crontab и at.
Управление пакетами и репозиториями. Основы сетевой безопасности.
Введение в docker.
3. Программирование на С. Базовый уровень (20 часов обучающего контента, 62 часа практики)
Введение в язык С
Двоичная и шестнадцатеричная системы счислений.
Константы. Типы данных, часть 1.
Операторы и выражения языка С. Функции (объявление, вызов).
Переменные. Типы данных (примитивные типы, строки, структуры).
Управляющие операторы.
Функции. Работа с памятью.
Типы данных, часть 2. Основы объектно-ориентированного подхода к программированию. Пользовательские типы данных.
Структура программы на языке С.
Препроцессор.
IDE и средства разработки.
Стандартные библиотеки языка С.
Курсовой проект. Программная утилита, реализующая интерфейс расчетов температурных режимов в доме.
4. Основы электроники (15 часов обучающего контента, 50 часов практики)
Схемотехника. Знакомство с основными компонентами и инструментами.
Расчеты различных соединений. Теория и практика.
Транзисторы. Теория и практика.
Подключение и управление различными нагрузками.
Ток. Источники питания и фильтры. Гальваническая развязка.
Линейные преобразователи. Современные LDO. ШИМ.
Операционный усилитель. Логические компоненты, часть 1.
Логические элементы, часть 2.
Закрепление теории и практика.
Подготовка к курсовой работе. Генератор случайного числа на семисегментных индикаторах
5. Arduino. Проектирование устройств (12 часов обучающего контента, 42 часа практики)
Знакомство с Arduino
Обзор доступных сенсоров. АЦП. Считывание данных. Получение данных с потенциометра и оценка угла поворота его ручки. Простая фильтрация.
Обзор доступных средств индикации (светодиоды, светодиодные матрицы, дисплеи).
Динамическая индикация.
Интерфейс I2C на примере работы с датчиком влажности и температуры.
Символьный 16х2 дисплей. Вывод данных на дисплей.
Прерывания.
Подготовка к курсовой работе. Настольная метеостанция.
II четверть.Работа с промышленными микроконтроллерами и интерфейсами взаимодействия
В первый двух курсах четверти вы узнаете архитектуру ARM и выполните 2 проекта: на плате Nucleo и на основе микроконтроллеров STM 32. В третьем курсе вы изучите принципы работы технологий, обеспечивающие связь устройств между собой.
1. Микроконтроллеры. Вводный курс (12 часов обучающего контента, 42 часа практики)
Краткий обзор существующих архитектур микроконтроллеров. Микроконтроллеры AVR и ARM
Детальная лекция по архитектуре ARM
Интерфейс отладки и программирования. SWD, JTAG
Интерфейсы I2C, SPI (глубокое погружение)
Интерфейс QSPI как возможность расширения памяти
ACP Arduino/AVR
Прерывания Arduino/AVR
Подготовка к курсовой работе
2. Микроконтроллеры ARM (STM32) (18 часов обучающего контента, 58 часов практики)
Библиотеки CMSIS, LL, HAL. Абстракция как стиль в программировании
Среда STM32CubeMX как инструмент быстрого старта
Среда программирования STM32CubeIDE. Вводная лекция
DAC
ADC
DMA
WWDG, IWDG
Таймеры
RTC
UART
SDIO
Подготовка к курсовой работе
3. Базовые технологии электроники (15 часов обучающего контента, 50 часов практики)
Bluetooth (базовая лекция)
Протокол TCP-IP как базовый протокол Интернет. IP адресация. Маска подсети. Шлюз. Модули Wi-Fi. Основы
LoRa Базовая лекция. Основы использования
Применимость беспроводных решений. Базовые понятия скорости передачи данных. Дальность связи
Аппаратные решения
Измерение напряжения и тока: аппаратные и программные решения
Основы построения блоков питания
Гальваническая развязка цифровых интерфейсов. Приемо-передатчики RS232, 485, CAN FPGA/ASIC обзор
III четверть. Продвинутый уровень программирования микроконтроллеров.
Вы освоите язык С на продвинутом уровне. Сможете применить полученные знания в разработке встраиваемых систем. Научитесь работе с операционными системами реального времени и продолжите изучение технологий Интернета вещей для связи устройств в домашней сети.
1. Программирование на Си. Продвинутый уровень (12 часов обучающего контента, 42 часа практики)
Указатели. Указатели на структуры. Практические примеры. Ошибки программиста при работе с указателями
Библиотеки языка Си. Обзор функций. Недостатки базовых библиотек
Вопросы оптимизации кода
Алгоритмы
Компиляция и компиляторы
Многопоточность в С
Особенности С для IoT
Подготовка к курсовой работе
2. RTOS (Real-Time Operating System) (12 часов обучающего контента, 42 часа практики)
Обзорная лекция по операционным системам. Принципы работы. Ресурсы. Совместный доступ к ресурсам
Задачи. Управление задачами. Модели распределения и управления памятью
Очереди. Конкретные примеры и задачи. ПИД регулятор
Семафоры. Как семафоры позволяют сократить использование процессорного времени
Особенности отладки. Механизмы отладки. Оценка стека и кучи
Механизм взаимодействия между задачами
Многозадачная RTOS и прерывания
Подготовка к курсовой работе
1 месяц — 8 занятий
3. Связь (12 часов обучающего контента, 42 часа практики)
Протоколы взаимодействия устройств
Wi-Fi (низкий уровень протокола)
BLE/Bluetooth (низкий уровень протоколов)
Низкоуровневое взаимодействие устройств (канальный слой)
HASH и контрольные суммы
Распространенные методы шифрования и авторизации
Избыточность данных в протоколах связи
Курсовая работа. Взаимодействие с MQTT сервером
IV четверть. Дипломная работа и подготовка к собеседованию
Вы получите опыт разработки устойчивых к отказам распределенных устройств, выполните финальный проект, пройдете курс о том, как готовиться к собеседованиям, и сможете сделать первый шаг в профессию на позицию junior.
1. Распределенные сети / Дипломная работа (12 часов обучающего контента, 42 часа практики)
Вводный урок, знакомство с распределенной сетью Master/Slave
Режим работы устройства, методы построения
Отказоустойчивость сети, смена роли устройства
Брокеры задач, броадкаст задач
Моделирование отказов
Построение прототипа сети
Тестирование устойчивости
Дипломная работа. Распределенная сеть устройств
2. К чему готовиться на собеседовании (12 часов обучающего контента, 42 часа практики)
Подготовка резюме
Коммуникационные навыки и другие Soft Skills
Техническое собеседование, типы и варианты #1
Техническое собеседование, решение задач #2
Техническое собеседование, тестовый проект #3
Какие вопросы задавать рекрутеру
Согласие на оффер
Ревью резюме
Продажник
gb.ru/geek_university/internet-of-things#program