30 апреля 2021

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

Пишу об IT и на Python. kungurov.net
Каждый год армия Скайнета пополняется умными устройствами и системами обработки данных. Попробуем разобраться в иерархии вероятного противника и решить на чью сторону встать: биологического вида или физического воплощения набора нулей и единиц.
🤖 Что такое 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 мониторит состояние растения и отправляет электронное письмо, если почва высыхает.

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

  • датчик влажности, температуры и фототранзистор.
🤖 Что такое IoT-разработка и с чем ее едят?

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

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

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

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

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

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

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

  • помпа с контроллером;
  • пластмассовые трубки;
  • блок питания на 12 В.
🤖 Что такое IoT-разработка и с чем ее едят?

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

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

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

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

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

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

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

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

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

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

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

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. Веб-страничка имеет две кнопки: открыть и закрыть замок. Отправлять команды можно из любой точки мира.

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

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

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

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

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

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

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

Nvidia Jetson Nano

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

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

Основное различие между миникомпьютерами 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 еще в зародыше и на его развитие можно повлиять.

***

Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?

Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:

  • Основы программирования на Python.
  • Профессия Python-разработчик.
  • Алгоритмы и структуры данных.
  • Математика для Data Science.
  • Профессия Data Science.
  • Frontend Basic: принцип работы современного веба.
  • Профессия Фронтенд-разработчик.
  • Обработка естественного языка. Полный курс.

На подходе еще больше 10 курсов для взрослых и детей.

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Go-разработчик
по итогам собеседования
Senior Java Developer
Москва, по итогам собеседования

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