Miroslav Kungurov 30 апреля 2021

🤖 Что такое IoT-разработка и с чем ее едят?

Каждый год армия Скайнета пополняется умными устройствами и системами обработки данных. Попробуем разобраться в иерархии вероятного противника и решить на чью сторону встать: биологического вида или физического воплощения набора нулей и единиц.
Массовая культура предлагает нам, если обобщить, два полярных варианта развития технологий. В первом случае человечество с помощью точных наук познает устройство мира и автоматизирует все, что можно без больших рисков отдать машинам – идеальный мир. Второй случай – антиутопия, в которой людям кажется, будто они живут, а на самом деле они работают батарейками для продвинутых машин «Матрицы». В фильме «Апгрейд» искусственный интеллект Stem манипулирует человеком, чтобы окончательно завладеть его телом. Давайте разберемся, насколько близок конец человеческой эпохи и можно ли с этим что-нибудь сделать?

Что такое Интернет вещей?

Интернет вещей (англ. internet of things, IoT) – сеть физических устройств, в которые встроены датчики, софт и другие технологии для сбора, обработки и обмена информацией с другими умными устройствами и IoT-платформами. Умная колонка расскажет о погоде и поставит подходящую музыку; смарт-холодильник отследит когда заканчивается срок годности продуктов; беспилотный автомобиль отвезет на работу. От пользователя требуется провести начальную настройку устройства и оформить свой запрос – остальное сделают за него.

Статистика

Отрасль IoT стабильно растет: количество IoT-устройств уже больше населения земли – 14 миллиардов против 8 миллиардов. К 2030 году ожидается прирост до 30 миллиардов умных устройств. Это обусловлено низкой ценой на датчики, доступными облачными технологиями и успехами в машинном обучении. Перейдет ли слабый искусственный интеллект в сильный через количественно-качественный переход? Вряд ли. Для этого понадобятся квантовые компьютеры с другой логикой работы.
График зависимости количества IoT-устройств (оранжевый столбец) и обычных гаджетов от года выпуска с прогнозом до 2025 г. <a href="https://iot-analytics.com/state-of-the-iot-2020-12-billion-iot-connections-surpassing-non-iot-for-the-first-time/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
График зависимости количества IoT-устройств (оранжевый столбец) и обычных гаджетов от года выпуска с прогнозом до 2025 г. Источник

Где используют IoT?

Промышленные предприятия, транспорт и энергетика возглавляют список отраслей, активно использующих IoT.

ТОП-10 отраслей, применяющих IoT в 2020 г. <a href="https://iot-analytics.com/top-10-iot-applications-in-2020/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
ТОП-10 отраслей, применяющих IoT в 2020 г. Источник

Заводы

На заводах IoT-решения мониторят производственные цеха, автоматизируют контроль качества выпускаемой продукции, управляют другими контроллерами. Например, компания «Северсталь» инвестировала в развитие роботизированных платформ, которые сократят цикл разработки композитных изделий и снизят стоимость их производства.

Транспорт и городская инфраструктура

Когда полностью автоматизированные и беспилотные автомобили начнут массово появляться на дорогах – вопрос десяти-пятнадцати лет. Тренд на умные машины задала Tesla, но лидеры автопрома (Volkswagen, Audi, BMW, Volvo, Nissan, Toyota, BMW), техногиганты (Google, Apple, Яндекс) также разрабатывают беспилотный наземный транспорт и сопутствующие технологии.

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

Энергетика

Мир постепенно избавляется от углеродной зависимости и переходит на возобновляемые источники энергии: солнечный свет, ветер, геотермальные электростанции. Для хранения избыточной энергии в дома устанавливают аккумуляторы (Tesla Powerwall и другие). Владелец батареи может тратить энергию на себя и продавать ее другим потребителям. Такая децентрализованная система повышает надежность всей энергетической системы: в случае форс-мажоров – природных бедствий, выхода из строя электростанций – можно распределить энергию между потребителями. Для идентификации потребителей, мониторинга и эффективного управления запасами энергии применяют умные устройства.

На чем собирают любительские IoT-устройства?

Arduino

Язык программирования: C/С++Сайт: arduino.cc
Цена: полноценная копия на Алиэкспресс стоит около 350 руб.

Arduino UNO
Arduino UNO

Arduino – платформа для создания прототипов и простых устройств в области электроники, робототехники и автоматизации процессов. С помощью десятков датчиков, реле, модулей беспроводной связи, аудиомодулей, моторов, дисплеев – возможности практически безграничны. Можно создавать умные дома, роботов и автоматизировать рутинные действия.

На сайте create.arduino.cc/projecthub представлены 1500 работ энтузиастов. Ниже перечислены интересные из них.

Коммуникатор с растением

Сложность: 3/5

Растения требуют ухода, но на это нужно выделять время, которого обычно не хватает. Как вариант – всегда держать растение при себе, но вы же не возьмете кактус на вечеринку, если только это не встреча кактусистов. Во время длительной командировки может возникнуть навязчивая мысль: а как там мой аспарагус? Разработчик под ником Arduino_Genuino собрал из Ардуино и датчиков влажности, температуры и освещенности устройство, которое в режиме 24/7 мониторит состояние растения и отправляет электронное письмо, если почва высыхает.

Что используется:

  • датчик влажности, температуры и фототранзистор.

Окей, почва высыхает Но я за тысячи километров от моего растения. Что делать?

Есть два варианта:

  1. Пустить дело на самотек и дать почве засохнуть, а растению погибнуть.
  2. Действовать как инженер и продумать все заранее: собрать автоматизированную помпу.

Система автоматической компенсации потерь воды

Сложность: 3/5

Разработчик под ником Atlas Scientific придумал систему, которая сохраняет уровень воды в аквариуме. Да, аквариум – не горшок с аспарагусом, но код потребует минимального вмешательства: заменить значение уровня воды на значение влажности.

Что используется:

  • помпа с контроллером;
  • пластмассовые трубки;
  • блок питания на 12 В.

Идентификатор ISBN на дисплее Nokia 5110

Сложность: 4/5

Если вы пишите код днями напролет и читаете только документацию библиотек, то, напомним, ISBN – это международный номер книги, по которому ее можно идентифицировать. Энтузиаст Kutluhan Aktar – библиофил и перед очередным заказом ему нужно знать, есть ли эта книга в его библиотеке. Пользователь набирает на клавиатуре номер ISBN и получает результат на дисплее от Nokia 5110. Ссылка на проект.

Что используется:

  • Arduino Nano 33 IoT;
  • клавиатура 4x4;
  • дисплей Nokia 5510;
  • резисторы 1 кОм.

Погодная станция с интернет-хранилищем данных

Сложность: 5/5

За три месяца пользователь randtekk собрал из датчиков и палок метеорологическую станцию.

«Этот проект стал моей давней мечтой – построить собственную метеорологическую станцию. Теперь она стала довольно сложной системой с тремя отдельными микроконтроллерами, которые обмениваются данными и отправляют их в интернет», – говорит randtekk.

Что используется:

  • Arduino Mega 2560 – продвинутая версия Arduino с большим количеством портов и памяти (продается на Алиэкспресс от 800 руб.);
  • Arduino Nano R3 и NodeMCU ESP8266;
  • датчики атмосферного давления и температуры.
Как кулхакеры эксплуатируют NodeMCU ESP8266
На контроллере NodeMCU ESP8266 школьники проводят деаутентификацию клиентов точек доступа Wi-Fi. Дел на пять минут: залить прошивку в контроллер, подключиться к нему по Wi-Fi со смартфона, выбрать роутеры и нажать кнопку «Атаковать».

Raspberry Pi

Язык программирования: C, С++, Java, JavaScript, Python, Go и другие
Цена: от 4500 до 8000 рублей на Алиэкспресс
Сайт: raspberrypi.org

Raspberry Pi
Raspberry Pi

Raspberry Pi (от англ. raspberry, малина) – миникомпьютер размером чуть больше банковской карточки, работающий на уровне слабого десктопа. Четвертая версия Малины идет с 2, 4 или 8 Гб оперативной памяти, четырехъядерным процессором Cortex-A72, Wi-Fi, Bluetooth, Gigabit Ethernet и портами USB 3. В качестве ОС используется Raspbian – модифицированная Ubuntu. Получаем комфортную работу в привычной для программиста среде.

Что делают на Raspberry Pi?

На Малине делают если не все, то очень многое: от собственного хостинга паролей Bitwarden, системы аутентификации через RFID-метки до системы контроля дефектов солнечных панелей с помощью дрона и тепловизора.

Замó‎к

Сложность: 3/5

Замок управляется через страничку на веб-сервере на базе Raspberry Pi. Веб-страничка имеет две кнопки: открыть и закрыть замок. Отправлять команды можно из любой точки мира.

Что используется:

  • Raspberry Pi 4;
  • замок;
  • реле.

Дрон-скринер дефектов солнечных панелей

Сложность: 5/5

Если солнечные панели находятся в десятках километров от пункта управления, то мониторинг всех панелей может занять несколько дней. Чтобы быстро проверить панели на дефекты разработчики навесили на дрон Raspberry Pi и тепловизор.

Nvidia Jetson Nano

Язык программирования: C, С++, JavaScript, Python, Go и другие
Сайт: nvidia.com
Цена: от 5500 до 9500 руб. на Алиэкспресс

Основное различие между миникомпьютерами Raspberry Pi и Jetson Nano – в наличии графического процессора с CUDA-ядрами у последнего, которые запускают нейронные сети с меньшими тормозами по сравнению с центральным процессором (ЦП). У Малины нет отдельного графического процессора, поэтому для тех же задач используется медленный ЦП.

Технические характеристики:

  • ГП: 128-core NVIDIA Maxwell
  • ЦП: Quad-core ARM® A57
  • 2/4 Гб LPDDR4
  • Gigabit Ethernet
  • отсутствуют встроенные Wi-Fi- и Bluetooth-модули

Jetson Nano работает на модифицированной Ubuntu, GPIO (контакты, к которым подключаются датчики) такие же, как у Малины, поэтому все, что можно сделать на Малине, воссоздается на Jetson Nano без лишних проблем.

Облачные платформы

Иерархия IoT состоит из трех компонент: маломощные контроллеры с датчиками и сенсорами; туманные вычисления (Fog cloud – вычисления на периферии) для быстрого выполнения несложных расчетов; облачные сервисы для ресурсоемких задач.

Популярные IoT-платформы:

  • Microsoft Azure IoT
  • Google Cloud IoT
  • AWS IoT
  • Cisco IoT
  • IBM Watson IoT platform

Их функциональность примерно одинакова:

  • объединение устройств в сеть;
  • мониторинг устройств в режиме реального времени;
  • сбор, обработка и аналитика данных;
  • управление политиками безопасности;
  • создание моделей машинного обучения.

Youtube-каналы и плейлисты

Литература

  • Мобильные роботы на базе Arduino – Михаил Момот;
  • Arduino Uno и Raspberry Pi 3. От схемотехники к интернету вещей – Макаров Сергей;
  • Raspberry Pi. Руководство по настройке и применению – Магда Ю. С.;
  • Робототехника на Raspberry Pi для юных конструкторов и программистов – Мэтт Тиммонс-Браун (для детей);
  • Энциклопедия электронных компонентов тома 1–3 – Янссон Платт.

Вывод

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

Интернет вещей – отрасль со стабильным ростом количества умных устройств и рабочих мест для людей-программистов. Если вам близка по духу идея технократического общества, в котором власть принадлежит техническим специалистам, сейчас самое время пойти учиться на инженера – IoT еще в зародыше и на его развитие можно повлиять.

***

Образовательная онлайн-платформа GeekBrains проводит набор на курс «Инженер умных устройств». Там вы научитесь:

  • писать приложения на языке C;
  • разрабатывать и отлаживать ПО;
  • работать в Linux с нуля;
  • программировать промышленные микроконтроллеры и собирать умные гаджеты;
  • понимать базовые принципы создания микроэлектроники.

К концу обучения вы построите распределенную сеть устройств, прокачаете софт-скиллы, а самое главное – получите десять проектов в портфолио и гарантию трудоустройства.

МЕРОПРИЯТИЯ

Комментарии 0

ВАКАНСИИ

Добавить вакансию
PHP разработчик
Москва, от 75000 RUB до 90000 RUB
Android Developer
Казань, от 120000 RUB до 170000 RUB
Golang разработчик
от 120000 RUB до 180000 RUB
Business development manager (Game dev)
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

BUG