Вокруг нас становится всё больше «умных» устройств — чайники мигают подсветкой в такт музыке, роботы-пылесосы составляют карты квартир, холодильники напоминают о заканчивающемся молоке.
Сенсорные панели заменяют механические кнопки и крутилки в микроволновках и автомобилях. Беспроводными интерфейсами обзаводятся велосипедные насосы, кроссовки и сковородки. На зарядку приходится ставить всё новые и новые предметы.
Что такое умное устройство
Определение «умный», так полюбившееся маркетологам, это дословный перевод английского слова smart. Слово smart означает, что в устройстве используется маленький процессор, который управляет основными функциями или добавляет новые.
В старой бытовой технике использовались сложные механические программаторы, поэтому даже навороченная стиральная машина с двумя десятками режимов работы, сигнализацией протечки и таймером включения не могла называться «умной». Зато кроссовки, которые считают шаги встроенным электронным сенсором, — это пример умного устройства.
Именно микроконтроллер, маленький кусочек кремния, переводит вещь в разряд умных.
Часто мы даже не задумываемся, что в привычных инструментах вообще есть электроника. Например, в дрелях и аккумуляторных шуруповёртах всё чаще применяют бесколлекторные двигатели. Они высокооборотистые, мощные и лёгкие, но не могут работать без электронного контроллера. Если подать на него электричество напрямую, ничего не произойдёт — двигатель вращаться не будет. Нужен чип, который займётся переключением катушек мотора.
Поэтому если у вас инструмент с бесколлекторным двигателем, можете гордо называть его «умным». Рекламщики часто так и делают.
Разумеется, если в устройстве уже есть микрочип, возникает желание добавить новые функции. Например, собрать статистику использования или заменить механическое управление программным.
Как сделать умное устройство
Сделать умное устройство своими руками совсем не сложно. Электронные метеостанции или системы полива домашних растений собирают даже школьники — на уроках технологии и в кружках робототехники. Главное — выбрать платформу, на которой будет работать устройство. Вариантов много, поэтому расскажу о трёх наиболее популярных решениях: micro:bit, Arduino и Raspberry.
micro:bit
Платформа разработана компанией BBC для использования в школах и колледжах.
Micro:bit — краеугольный камень образовательной стратегии британской компании под названием «Make it Digital». Основная цель — увлечь школьников высокими технологиями и показать, что не боги гаджеты собирают.
Плата интерактивна и проста в освоении — знакомство с micro:bit можно начинать с семи лет. 25 яркие светодиоды, программируемые кнопки и встроенный набор датчиков позволяет создавать гаджеты без покупки дополнительных модулей. Несколькими строками программного кода плата превращается в электронную игру, шагомер, часы или компас.
Micro:bit — это компактный микрокомпьютер понимающий JavaScript и Python. Чтобы задать программу, подключите плату к компьютеру и зайдите на сайт microbit.org.
Для самых маленьких пользователей предусмотрен графический язык. Программа составляется из отдельных блоков и элементов. Всё предельно просто и наглядно. Блоки можно перенести и соединить друг с другом парой щелчков мыши.
Для более опытных программистов сделаны редакторы кода JavaScript и Python.
Чтобы подключить другие электронные модули — цифровые сенсоры, кнопки, моторчики — понадобятся провода с "крокодилами" или четырёхмиллиметровыми штекерами. Для micro:bit выпускаются платы-дополнения, но их цена уже откровенно не радует, зачастую они дороже самого микрокомпьютера.
Достоинства:
- простота освоения
- доступная цена оригинальной платы
- интерфейс на русском языке
Недостатки:
- редко встречается в российских магазинах
- высокая цена дополнительных модулей
Arduino
Сегодня это самая популярная в России платформа любительской электроники.
Первая плата Arduino появилась в Италии почти двадцать лет назад. Молодой преподаватель Института Дизайна Массимо Банци заметил, что у студентов множество интересных идей, но все они остаются на бумаге. Создать электронный проект слишком сложно — приходится месяцами возиться с технической документацией, вникать в тонкости низкоуровневого программирования и покупать специальное оборудование. Естественно, никто с этим не связывался.
Поэтому Массимо создал предельно простую плату. Взял популярный микроконтроллер, который производился в соседнем городе, добавил необходимую обвязку — стабилизатор питания, разъёмы, светодиодные индикаторы и чип, который позволял программировать плату с любого компьютера.
Инструменты для программирования разработали аспиранты Банци — они взяли за основу популярный C++ и адаптировали язык для работы с платой. Получилось мощное и универсальное решение.
Все материалы — принципиальные и производственные схемы, макеты, библиотеки и программный код — Массимо Банци выложил в открытый доступ. Делать свои собственные платы Arduino мог любой желающий. Моментально появились китайские клоны и началась настоящая ардуиномания.
Плату стали использовать в проектах домашней автоматизации и приспосабливать к электронной одежде. Развлекательные проекты — роботы-бармены и ретро-игры — шли вперемешку с самодельными станками и 3D-принтерами. Платформа побывала на дне океана и даже стала основой для любительских спутников ArduSat.
Но главное, все эти проекты следуют открытой идеологии Arduino — авторы выкладывают всю документацию и программный код в свободный доступ. Поэтому, если захотите собрать умную теплицу, робот-пылесос или лазерную игрушку для кошек, введите эти слова в поиск и добавьте "на arduino". Наверняка найдёте несколько вариантов, которые сможете использовать в качестве основы своего проекта.
Философия Arduino состоит в том, что если вы захотите научиться электронике, вы сможете изучать ее уже с первого дня, вместо того, чтобы сначала учиться алгебре
Дэвид Куартилльз, инженер по телекоммуникациям Arduino
Достоинства:
- большое количество опубликованных проектов
- доступные дополнительные модули
- низкая цена на китайские аналоги
Недостатки
- проблемы с совместимостью модулей разных производителей
- высокая цена на оригинальные итальянские платы
- сложность программирования на C++
Raspberry
Две предыдущие платформы назвать компьютерами язык не повернётся — чтобы их программировать понадобится обычный десктоп, ноутбук или планшет. Но Raspberry — совсем другое дело.
Raspberry Pi 4 — это уже полноценная замена компьютеру на Linux. На плате размером с банковскую карту поместился четырёхядерный процессор, от 1 до 4 Гигабайт оперативки и видеокарта для подключения двух мониторов и работы с 4К видео. На борту платы предусмотрен беспроводной модуль Wi-Fi/Bluetooth и полноценный гигабитный Ethernet, чтобы подключиться к сети на высокой скорости.
Операционная система Raspbian — она построена на базе популярной версии Linux Debian — загружается с SD-карты. Это сделано, чтобы вы не боялись экспериментировать с настройками системы. Если что-то пойдёт совсем не так, всегда можно перезаписать карточку заново. Это намного быстрее, чем переустанавливать систему заново, на всё уйдёт меньше десяти минут.
Вычислительные ресурсы платы позволяют использовать Raspberry как web-сервер, сетевое хранилище или домашний медиасервер. Компьютер справится с записью видео, эмуляцией классической игровой консоли или распознаванием лиц.
У Raspberry есть то чего нет у других компьютеров, ноутбуков или мобильных устройств — это пины GPIO. Так называются контакты для подключения электронных модулей. Именно они позволяют Raspberry выйти за рамки простого программирования и превратиться в интерактивный гаджет.
Основной язык для проектов на Raspberry — Python. Он намного проще ардуиновского С++ и сейчас завоёвывает популярность в новых областях IT. Он пригодится для работы с базами данных, разработки web-сервисов и анализа BigData.
Достоинства:
- полноценный компьютер размером с банковскую карточку
- разработка на языке Python
- возможность управления другими платами
Недостатки:
- высокая цена
- для работы с платой необходим HDMI-монитор, клавиатура и мышь
Какую платформу выбрать
Всё определяется задачами. Для первого знакомства с миром программирования, если вы ещё ходите в школу или организуете кружки робототехники, я рекомендую платформу BBC micro:bit. Продуманная, сбалансированная, с наглядным редактором кода и большим количеством игровых проектов — она отлично подходит для работы с детьми.
Если вы хотите добавить капельку интеллекта своей теплице или одежде, следует остановиться на Arduino. Вероятней всего, даже программировать не придётся — подходящий проект можно будет найти и скачать в интернете.
Хотите освоить web-программирование, потоковую обработку видео или познакомиться с Linux — выбирайте Raspberry.