Технологии

Интернет вещей: как сделать умное устройство своими руками

3799
Автор:
Дорогая редакция
23 августа 2017 14:28
18+
Интернет вещей: как сделать умное устройство своими руками
Узнали, как сделать свой дом умным.

В рамках партнерского материала с воронежским центром разработки DataArt мы продолжаем разбираться в Интернете вещей. По просьбе редакции Downtown, Google Developer Expert Денис Неклюдов рассказал, как сделать умного робота своими руками. 

 

Денис Неклюдов
Google Developer Expert Android


Почему я в восторге от разработки Интернета вещей как хобби? Потому что это один из самых интерактивных и веселых разделов программирования, где происходит соединение двух стихий: софта и железа. Вы создаете и управляете физическими устройствами, которые движутся и находятся в той же среде, что и вы.

Единого определения термина «Интернет Вещей» (Internet of Things, сокращенно «IoT») не существует. В целом, это довольно понятный сегмент устройств и технологических решений. Устройства, соединенные в сети, общающиеся между собой и взаимодействующие с внешним миром. Под этот термин попадают как микроволновки и умные пылесосы, так и заводы, опутанные датчиками, сенсорами и высокотехнологичными станками, способными самостоятельно принимать решения.

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

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

Из чего состоит умное устройство

Для создания умного устройства нужно всего три предмета: сенсоры, устройства, производящие действия, и микроконтроллер.

Сенсоры — это глаза и уши устройства. Получая данные с сенсоров, устройство будет принимать решение. Например, датчик света может решить, что пора открыть шторы, так как наступило утро. А датчик приближения включит свет в гардеробе. Сенсоры бывают разные, например, датчики температуры, влажности, давления, света, положения устройства в пространстве. Это могут быть даже видеокамеры, распознающие лица людей, к примеру, чтобы реагировать, если в квартире появится незнакомец. А могут быть просто кнопки, сообщающие о нажатиях микроконтроллеру: например, чтобы выбрать температуру в квартире в ручном режиме без использования смартфона.

Устройства, производящие действия, — руки и ноги нашего устройства. Это могут быть моторы для движения игрушечных машинок, лодок, самодельных квадрокоптеров, сервоприводов для создания своих открывалок дверей, роботизированных прихватов и поливалок цветов. А еще можно подключить реле (выключатель электричества) и подавать питание на привычные домашние устройства — например, включать свет в комнате или чайник на кухне.

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

Виды микроконтроллеров — самой важной части умного устройства

Пора узнать, какие устройства-контроллеры существуют, что они умеют и сколько стоят. Это будет мозгом нашего умного дома, принимающим решения и управляющим всем остальным.

Arduino

Самый верный способ начать знакомиться с миром IoT — это купить набор сенсоров и в качестве микроконтроллера взять Arduino Uno. Цена на Aliexpress за китайский клон будет в районе 20 долларов, в России оригинальное устройство с набором сенсоров и хорошей инструкцией обойдется около 4,5 тысяч рублей.
Arduino хорош для новичка наличием огромного количества инструкций на множестве языков, легкостью покупки и настройки, разнообразием библиотек и драйверов, большой базой готовых примеров. Но для сложных вычислений он слабоват, да и не его это задача. Это отличное устройство, чтобы считывать показания с сенсоров — например, узнавать степень влажности почвы и, если она слишком сухая, включать мотор насоса для полива растений. А вот получить картинку с камеры, распознать лицо и отправить эту информацию на смартфон уже не получится. Вернее, получится, но это будет очень медленно.

ESP8266

Для простых задач, с которыми справляются устройства Arduino, подходит более дешевая и удобная альтернатива в виде ESP8266. На Aliexpress цены начинаются от двух долларов за штуку, в России от 500 рублей. Его основные преимущества — это дешевизна и наличие Wi-Fi модуля. За 120 рублей вы получаете полноценный беспроводной контроллер, который может считывать показания и управлять моторами. Часто он используется как Wi-Fi модуль для Arduino-устройств, так как те не имеют встроенного Wi-Fi. Используя встроенный беспроводной модуль, можно напрямую подключиться к облачным IoT сервисам. Например, прошивка DeviсeHive позволяет управлять выводами микросхем с помощью простых команд с сервера: я посылаю сигнал на одну из таких микросхем домой, а ESP8266 с припаянным инфракрасным диодом управляет домашним кондиционером. Так я могу контролировать температуру в квартире удаленно со смартфона.

Инструкций на русском языке меньше, но они есть. Я рекомендую сначала поиграться с Arduino, но для сложных задач предпочесть менее энергозатратные, миниатюрные, дешевые ESP8266.


Raspberry Pi, NXP Pico, ранее Intel Edison

Самый интересный и дорогой класс устройств, Raspberry Pi и NXP Pico — это полноценные мини-компьютеры. «Малину» («raspberry» — малина по-английски) можно купить в DNS и других магазинах электроники за 3500 руб. На Aliexpress цена от 40$, и там можно взять набор с датчиками и аксессуарами.

NXP Pico, в отличие от Raspberry Pi, — это серьезное устройство, готовое для использования в массовом производстве, а не только в хобби-проектах. Цена 70$, в России сложно купить, только заказом из Европы или США

Их четырехъядерные процессоры несравнимо мощнее любого микрочипа в Arduino, поэтому на них интереснее выполнять более сложные задачи: держать сервера, выводить изображение на дисплеи, в том числе и на телевизор, использовать нейронные сети, например, для распознавания изображения лиц с камеры. С такими устройствами легко быть центральным звеном «умного дома»: собирать показания со всех сенсоров и датчиков, управлять моторами и сервоприводами. Если у вас как раз такая сложная система, а не набор из пары датчиков, то стоит присмотреться к этому решению. Документации и инструкций для Raspberry Pi много на любом языке, для NXP Pico русскоязычных инструкций пока нет.

Как заставить железо работать

У нас есть микроконтроллер и немного датчиков, как же сделать свое первое умное устройство?

Самый простой способ — это взять Arduino Uno, один светодиод и один резистор, скачать программу Arduino IDE, в которой вы будете писать простые инструкции для работы микроконтроллера, и помигать диодом, повторив эту несложную инструкцию. Как видите, не нужно быть гуру программирования, можно писать простые инструкции, и устройство будет работать.

Если язык Си совсем не для вас, можете попробовать разрабатывать с использованием JavaScript, например, следуя этим инструкциям. А если вам ближе скриптовый язык Lua, то добро пожаловать сюда, но для этого не подойдет Arduino и нужно будет купить за три доллара ESP8266 Node MCU.

«Не нужно быть гуру программирования, можно писать простые инструкции, и устройство будет работать».

Если вам приятен Python и у вас завалялась Raspberry Pi, то добро пожаловать в мир DIY (англ. «Do It Yourself», рус. «Сделай это сам» — Прим. ред) с «малинкой». Помните, что это более сложное и умное устройство, поэтому требует большей настройки, но и возможностей дает больше. Начать можно с настройки.

Не остались в стороне любители Windows и разработчики на языке C#. У Microsoft своя операционная система для умных устройств — Windows IoT Core. Есть официальная документация на английском языке.

Google, в свою очередь, уже год развивает операционную систему Android Things для IoT. Это лучший вариант для Android и Java разработчиков: всё обилие библиотек и решений для Android стало доступно на таких мощных устройствах, как Raspberry Pi и NXP Pico. Статья на русском поможет начать, но лучший источник знаний — официальная документация

Как программировать, если не умеешь?

Для новичков есть десяток инструментов визуального программирования, когда программы создаются передвижением и соединением блоков в визуальном интерфейсе: никакого кода, только перемещение блоков мышкой. Обзор подобных инструментов предоставляет большой выбор. На русском языке есть инструкции, например, как создать своего самодвижущегося робота и начало работы со Scratch, интерфейс которого переведен на русский язык.

Почему надо создавать умные устройства сейчас

Сейчас отличное время начать создавать свои умные устройства: цены очень низкие, документация на всех языках, беспроводной интернет есть в каждом доме. Большое количество готовых примеров можно найти на Hackster.io, instructables.com и geektimes.ru. Осталось только попробовать!

Благодарим IoT Expert DataArt Николая Хабарова и Google DevRel Russia Ex Google Developer IoT Expert Звиада Кардава за помощь в подготовке текста.

В начале сентября будет отличная возможность встретиться с единомышленниками и попробовать свои силы: Google Developer Group Voronezh при поддержке DataArt и ВГУ организует сразу две крупных встречи — 9 сентября GDG DevFest Voronezh 2017 (подробнее о конференции, программе и спикерах читайте на сайте DataArt), 10 сентября IoT Hackathon. На хакатоне будут сенсоры, микроконтроллеры и датчики, а также специалисты IoT, которые помогут разобраться и за один день создать свои умные устройства. Для участия нужен ноутбук, собственные устройства и платы приветствуются. 

Количество мест ограничено. Лучшие команды будут вознаграждены компаниями Google и DataArt. Подробнее о мероприятии можно прочесть на сайте DataArt.


Материал подготовлен при поддержке DataArt в Воронеже

Текст: Денис Неклюдов
Фотографии: referente.mx

Поделиться: