Arduino умный дом открытый проект. Умный дом на Arduino своими руками. Видео: Умный дом на Arduino

Еще не так давно технология автоматизированного дома была недоступной для большинства людей, и считалась непозволительной роскошью. Эти времена прошли, и теперь позволить себе умный дом могут практически все жители городов и других населенных пунктов. Более того, можно сделать умный дом на Arduino своими руками, и тем самым значительно сэкономить. Что нужно для самостоятельного изготовления, и как сделать умный дом?

Из чего сделан современный умный дом?

Любая система автоматизации бытовых процессов состоит из нескольких компонентов, которые связаны друг с другом посредством проводной или беспроводной связи. В состав умного дома входят следующие элементы:

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

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

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

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

Каковы особенности платформы Arduino?

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

Автоматизированный дом на платформе Arduino отличается множеством преимуществ, среди которых такие:

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

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

    Производительность. Если речь идет о несложных проектах, их вполне можно реализовать на базе Ардуино. К тому же под этой торговой маркой выпускаются контроллеры с различной продуктивностью.

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

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

Какие компоненты требуется подготовить?

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

  • контроллер Arduino Leonardo;
  • модуль Ethernet ENC28J60;
  • датчик атмосферных осадков;
  • датчик передвижения;
  • два датчика температуры DS18B20;
  • язычковый переключатель;
  • реле и резистор с сопротивлением 4,7 кОм;
  • кабель Ethernet и кабель типа «витая пара»;
  • чувствительный микрофон.

Приблизительная стоимость всех перечисленных выше компонентов составляет порядка 90 долларов. Это в разы меньше по сравнению со стоимостью уже готовых к использованию систем автоматизации домашних процессов.


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

Подключение компонентов к Ардуино

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


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

Работа с программной частью проекта

Следующий после сборки системы этап – перепрошивка контроллера. Она выполняется для того, чтобы научить Ардуино работать с внешними датчиками по необходимым вам алгоритмам. Прежде, чем начать перепрошивку, нужно скачать программу Arduino IDE на персональный компьютер, и подключить контроллер к нему через USB кабель. После того, как устройство будет определено компьютером, можно начинать работу по перепрошивке.

Расписывать весь процесс написания прошивки не имеет смысла, так как сегодня в Интернете можно найти массу примеров готовых прошивок для автоматизации жилья. Достаточно скачать необходимые для работы внешних устройств библиотеки, скачать нужную прошивку и перенести ее на контроллер через программу Arduino IDE. Сразу после перепрошивки контроллера можно приступать к настройке самодельного умного дома.

Настройка управления автоматизированным домом

Заключительный этап – настройка управления умным жильем. Для этого нужно скачать в магазине приложений программу SmartHome и установить ее на своем мобильном устройстве. После этого надо зайти в настройки этой программы и отредактировать IP-адрес. Необходимо указать IP-адрес вашего роутера, к которому подключается контроллер Ардуино при помощи Ethernet кабеля. Далее выполняется настройка роутера по этой инструкции:

    откройте настройки маршрутизатора;

    впишите в настройках IP-адрес контроллера;

    откройте порт под номером 80.

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

Заключение

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

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

На потребительском рынке предлагается много систем подобного рода, которые имеют широкий набор функций и поддерживают работу с разными и исполнительными приспособлениями. Правда, есть еще возможность самостоятельно создать умный дом своими руками на базе Arduino.

Принцип работы умного дома на базе Ардуино

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

Схема управления светом с помощью «Умного дома»

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

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

Какие датчики и контролеры можно подключать и как они работают

Основу умного дома на базе Ардуино составляет процессорная плата, представляющая микроконтроллер. Она владеет процессором, который с помощью созданного программного обеспечения обрабатывает данные от датчиков и управляет работой исполнительных устройств.

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

Датчики и компоненты «Умного дома» на базе Arduino

Через шилды к контроллеру можно подключить разные по функциональности датчики.

  1. Сенсоры, которые контролирую параметры и характеристики окружающей среды внутри или вне помещения. Это могут быть , влажности, давления, уровня освещенности наличия осадков.
  2. Сенсоры, которые контролируют пространственную ориентацию объекта, к которому они прикреплены. К ним относятся гироскопы, компасы, акселерометры.
  3. Сенсоры, которые регистрируют наличие подвижных объектов. К ним относятся датчики движения, тепловые датчики УЗ-сенсоры.
  4. Сенсоры контроля аварийных ситуаций. К ним относятся устройства, которые позволяют контролировать целостность инженерных коммуникаций в доме. Датчики выявляют утечку газа, отключения электричества, .

Многие из этих устройств входят в набор Ардуино умный дом, предлагаемый производителями для тех, кто собрался самостоятельно автоматизировать свой дом.

Процесс сборки умного дома

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

Подключение всей периферии

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

Прикрепление датчика движения «Умного дома»

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

Программирование и отладка

Чтобы умный дом на Ардуино своими руками запрограммировать, нужно знать язык программирования С++ или использовать специальную оболочку Arduino IDE. Первый вариант подходит для продвинутых пользователей, которые знают и могут программировать на этом языке. Второй вариант подойдет для тех, кто только делает первые шаги в программировании алгоритмов для устройств, созданных на платформе Ардуино.

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

Версии Arduino IDE доступны пользователям для разных операционных систем. Это могут быть Windows, Mac OS X или Linux.

После того, как созданный код залит в микропроцессор можно выполнить отладку системы и проверить насколько эффективно работает взаимодействие между датчиками, контроллером и исполнительными устройствами.

Чтобы система умный дом всегда была под контролем, существуют разные приложения, которые можно установить на свой смартфон. Например, можно закачать и настроить приложение SmartHome.apk. С его помощью можно в любое время получать данные от контроллера умного дома, а также выполнять управление его функциями.

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

Сопряжение с интернетом

Умный дом, созданный своими руками на Arduino, может настраиваться и контролироваться через интернет. Для этого сначала следует настроить роутер, который обеспечивает раздачу интернета в доме.

Изначально нужно зайти в раздел настроек роутера и прописать в нем IP-адрес для системы Arduino. Затем выполняется открывание порта 80.

Если есть необходимость в том, чтобы присвоить доменное имя адресу системы умный дом, можно воспользоваться возможностями сервиса https://www.noip.com. После регистрации на этой платформе следует воспользоваться функцией «Add host» и прописать там IP-адрес созданной системы умного дома. После этого доступ можно будет получать, как по IP-адресу, так и по доменному имени.

Схема подключения «Умного дома» на базе Arduino к интернету

Чтобы управлять развернутым на Arduino умным домом можно было с любого места, где есть интернет нужно провести несложную настройку используемого браузера. Для этого в его адресной строке следует набрать следующий код «xxx.xxx.xxx.xxx/all».

Здесь под xxx.xxx.xxx.xxx подразумевают IP-адрес, используемый системой умный дом. После этой процедуры пользователь будет иметь возможность получать информацию от созданной системы автоматизации дома, а также задавать параметры ее работы.

Заключение

На сегодня существует много готовых Ардуино проектов умный дом, которые можно найти в сети интернет. Также можно создать свой собственный проект, который будет максимально подходить под конкретный объект. Системы, построенные на Ардуино, отличаются тем преимуществом, что их всегда можно модернизировать и масштабировать.

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

Видео: Умный дом на Arduino

Система «Умный дом» на Arduino пользуется большим спросом у людей, стремящихся создать максимальный комфорт дома или в офисе.

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

Одним из главных элементов системы умный дом в рассматриваемом варианте является Arduino. Что это такое? Как он работает? Какие функции выполняет? Все подробно мы рассмотрим в этой статье.

Что такое Arduino?

Ардуино (Arduino) - специальный инструмент, позволяющий проектировать электронные устройства, имеющие более тесное взаимодействие с физической средой в сравнении с теми же ПК, фактически не выходящими за пределы виртуальной реальности.

В основе платформы лежит открытый код, а само устройство построено на печатной плате с «вшитым» в ней программным обеспечением.

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

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

Существует несколько моделей плат, самые распространённые из них – UNO, Mega 2560 R3.

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

Особенность последних заключается в управлении с помощью только двух параметров - логической единицы или нуля. Что касается аналогового вывода, между 1 и 0 имеется много мелких участков.

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

Устройства на Ардуино могут работать в комплексе с ПО на компьютере или самостоятельно.

Что касается плат, их можно собрать своими руками или же приобрести готовое изделие. Программирование Arduino производится на языке Wiring.

ЧИТАЙТЕ ПО ТЕМЕ : , обзор, комплектация, подключение и настройка своими руками, сценарии.

Чем управляет Arduino?

Благодаря большому количеству выводов на печатной плате, к Ардуино удается подключить множество различных устройств, а именно:

Кроме того, к Ардуино подключается набор датчиков в зависимости от задач, поставленных перед системой. Как правило, устанавливаются датчики освещенности, дыма и состава воздуха, магнитного поля, влажности, температуры и прочие.

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

Принцип работы системы

Устройство Arduino работает следующим образом. Информация, собранная с различных датчиков в доме, направляется по беспроводной сети на планшет или ПК. Далее с помощью специального софта производится обработка данных и выполнение определенной команды.

Главную функцию выполняет центральный датчик, который можно приобрести или собрать самостоятельно. Разъемы на платах являются стандартными, что значительно упрощает выбор комплектующих.

Питание

Питание Arduino производится через USB разъем или от внешнего питающего устройства. Источник напряжения определяется в автоматическом режиме.

Если выбран вариант с внешним питанием не через USB, можно подключать АКБ или блок питания (преобразователь напряжения). В последнем случае подключение производится с помощью 2,1-миллиметровго разъема с «+» на главном контакте.

Провода от АКБ подключаются к различным выводам питающего разъема - Vin и Gnd.

Для нормальной работы платформа нуждается в напряжении от 6 до 20 Вольт. Если параметр падает ниже 7 вольт, на выводе 5V может оказаться меньшее напряжение и появляется риск сбоя.

Если подавать 12 В, возможен перегрев регулятора напряжения и повреждения платы. По этой причине оптимальным уровнем является питание с помощью 7 - 12 В.

В отличие от прошлых типов плат, Arduino Mega 2560 работает без применения USB-микроконтроллера типа FTDI. Для обеспечения обмена информацией по USB применяется запрограммированный под конвертер USB-to-serial конвертер.

ПОПУЛЯРНО У ЧИТАТЕЛЕЙ : .

На Ардуино предусмотрены следующие питающие выводы:

  • 5V - используется для подачи напряжения на микроконтроллер, а также другие элементы печатной платы. Источник питания является регулируемым. Напряжение подается через USB-разъем или от вывода VIN, а также от иного источника питания 5 Вольт с возможностью регулирования.
  • VIN - применяется для подачи напряжения с внешнего источника. Вывод необходим, когда нет возможности подать напряжение через USB-разъем или другой внешний источник. При подаче напряжения на 2,1-миллиметровй разъем применяется этот вход.
  • 3V3 - вывод, напряжение на котором является следствием работы самой микросхемы FTDI. Предельный уровень потребляемого тока для этого элемента составляет 50 мА.
  • GND - заземляющие выводы.

Принципиальную схему платы в pdf формате можно посмотреть .

Связь

Возможности Arduino позволяют подключить группу устройств, обеспечивающих стабильную связь с ПК, а также другими элементами системы - микроконтроллерами или такими же платами Ардуино.

Модель ATmega 2560 отличается наличием 4 портов, через которые можно передавать данные для TTL и UART. Специальная микросхема ATmega 8U2 на плате передает интерфейс (один из них) через USB-разъем. В свою очередь, программы на ПК получают виртуальный COM.

Здесь имеются нюансы, которые зависят от типа операционной системы:

  • Если на ПК установлен Linux, распознавание происходит в автоматическом режиме.
  • Если стоит Windows, потребуется дополнительный файл.inf.

С помощью утилиты мониторинга обеспечивается отправление и получение информации в текстовом формате после подключения к системе.

Мигание светодиодов TX и RX свидетельствует о передаче данных. Для последовательной отправки информации применяется специальная библиотека Software Serial.

К особенностям ATmega 2560 стоит отнести наличие интерфейсов SPI и I2C. Кроме того, в состав Ардуино входит библиотека Wire.

Разработка проекта

На современном рынке представлено множество устройств Arduino, имеющих различную комплектацию. Но универсального решения «на все случаи жизни» не существует. В зависимости от поставленной задачи каждый комплект подбирается в индивидуальном порядке. Чтобы избежать ошибок, требуется разработка проекта.

Какие проекты можно создавать на Arduino?

Ардуино позволяет создавать множество уникальных проектов. Вот лишь некоторые из них:

  • Сборка кубика Рубика (система справляется за 0,887 с);
  • Контроль влажности в подвальном помещении;
  • Создание уникальных картин;
  • Отправка сообщений;
  • Балансирующий робот на двух колесах;
  • Анализатор спектра звука;
  • Лампа оригами с емкостным сенсором;
  • Рука-робот, управляемая с помощью Ардуино;
  • Написание букв в воздухе;
  • Управление фотовспышкой и многое другое.

Составление проекта для умного дома

Рассмотрим ситуацию, когда необходимо сделать автоматику для дома с одной комнатой.

Такое здание состоит из пяти основных зон - прихожей, крыльца, кухни, санузла, а также комнаты для проживания.

При составлении проекта стоит учесть следующее:

  • КРЫЛЬЦО . Включение света производится в двух случая - приближение хозяина к дому в темное время суток и открытие дверей (когда человек выходит из здания).
  • САНУЗЕЛ . В бойлере предусмотрен выключатель питания, который при достижении определенной температуры выключается. Управление бойлером производится в зависимости от наличия соответствующей автоматики. При входе в помещение должна срабатывать вытяжка, и загорается свет.
  • ПРИХОЖАЯ . Здесь требуется включение света при наступлении темноты (автоматическое), а также система обнаружения движения. Ночью включается лампочка небольшой мощности, что исключает дискомфорт для других жильцов дома.
  • КОМНАТА . Включение света производится вручную, но при необходимости и наличии датчика движения эта манипуляция может происходить автоматически.
  • КУХНЯ . Включение и отключение света на кухне осуществляется в ручном режиме. Допускается автоматическое отключение в случае продолжительного отсутствия перемещений по комнате. Если человек начинает готовить пищу, активируется вытяжка.

Отопительные устройства выполняют задачу поддержания необходимой температуры в помещении. Если в доме отсутствуют люди, нижний предел температуры падает до определенного уровня.

После появления людей в здании этот параметр поднимается до прежнего значения. Рекуперация воздуха осуществляется в случае, когда система обнаружила присутствие владельца. Продолжительность процесса - не более 10 минут в час.

Стоит обратить внимание, что если в доме планируется установка , то для управления ими лучше использовать приложения на мобильных устройствах, WIFI или через SMS сообщения.

Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/.

Подбираем комплектацию под проект на примере Arduino Mega 2560 R3

Для создания полноценной системы «Умный дом» и выполнения ею возложенных функций важно правильно подойти к комплектации и выбору оборудования.

Что входит в комплект поставки?

Если ваша цель - «Умный дом» на базе Arduino, требуется подготовить следующее оборудование - саму плату Mega 2560 R3, модуль Ethernet (ENC28J60), датчик движения, а также другие датчики и контроллеры.

Кроме того, стоит подготовить кабель вида «витая пара», резистор, реле, переключатель и кабель для модуля Ethernet.

Необходимы и дополнительные инструменты - отвертки, паяльники и прочее.

Учтите, что покупать наборы для монтажа системы стоит в сертифицированных пунктах. Это объясняется тем, что при реализации проекта применяется электричество, а использование подделки может привести к снижению уровня безопасности.

Все программы для адаптации можно найти в сети на официальном сайте Arduino http://arduino.ru. При выборе датчиков стоит ориентироваться на задачи, которая должен решать «Умный дом».

Как правило, требуются датчики движения, температуры, открытия дверей и освещенности. Роль датчика открытия дверей может выполнять обычный геркон.

Прошивается плата с помощью специального софта, предназначенного для различных операционных систем, в том числе и кабеля USB. При этом в программаторах нет необходимости.

Что касается ПО, которое применяется в Ардуино, оно написано на языке Си. На число байт имеются определенные ограничения, но текущей памяти достаточно для реализации поставленной задачи.

Начало работы

Как только необходимое оборудование подготовлено, а проект разработан, можно приступать к выполнению поставленной задачи.

Этапы

При организации системы «Умный дом» на базе Ардуино, стоит действовать по следующему алгоритму:

  • Инсталляция программного кода;
  • Конфигурация приложения под применяемое устройство;
  • Переадресация портов (для роутера);
  • Проведение тестов;
  • Внесение правок и так далее.

В Сети имеется весь необходимый софт на применяемое оборудование - его достаточно скачать с официального сайта и установить (ссылку смотрите выше).

Приложение позволяет увидеть информацию о датчиках. Если это требуется, настройки IP-адрес могут быть изменены.

Последовательность действий при подключении к компьютеру

Чтобы начать работать с Ардуино в Windows, сделайте следующие шаги:

  • Подготовьте необходимое оборудование - USB-кабель и Arduino.
  • Скачайте программу на странице arduino.cc/en/Main/Software.
  • Подсоедините плату с помощью USB-кабеля. Проследите, чтобы загорелся светодиод PWR.
  • Поставьте необходимый набор драйверов для работы с Ардуино. На этом этапе стоит запустить установку драйвера и дождаться завершения процесса.
    После жмите на кнопку «Пуск» и перейдите в панель управления. Там откройте вкладку «Система и безопасность» и выберите раздел «Система». После открытия окна выберите «Диспетчер устройств», жмите на название Ардуино и с помощью правой кнопки мышки задайте команду обновления драйвера. Найдите строчку «Browse my computer for Driver software!», кликните по ней и выберите соответствующий драйвер для вашего типа платы - ArduinoUNO.inf (находится в папке с драйверами). Это может быть UNO, Mega 2560 или другая.
  • Запустите среду разработки Ардуино, для чего дважды кликните на значок с приложением.
  • Откройте готовый пример (File - Examples - 1.Basics - Blink).
  • Выберите плату. Для этого перейдите в секцию Tools, а дальше в Board Menu.
  • Установите последовательный порт (его можно найти путем отключения и подключения кабеля).
  • Скачайте скетч в Ардуино. Кликните на «Upload» и дождитесь мигания светодиодов TX и RX на плате. В завершение система показывает, что загрузка прошла успешно. Через несколько секунд после завершения работы должен загореться светодиод 13 L (он будет мигать оранжевым). Если это так, система готова к выполнению задач.

Работа с роутером

Для полноценной работы «Умного дома» важно правильно обращаться с роутером. Здесь требуется выполнить следующие действия - открыть конфигурацию, указать адрес Arduino IP, к примеру, 192.168.10.101 и открыть 80-й порт.

После требуется присвоить адресу доменное имя и перейти к процессу тестирования проекта. Учтите, что для такой системы запрещено применение открытого IP-адреса, ведь в этом случае высок риск взлома через Сеть.

Расширение возможности на Ардуино

Одной из возможностей умного дома является визуализация состояния автоматики и проходящих в системе процессов. Для этого рекомендуется применять отдельный сервер, обеспечивающий обработку состояний (может применяться программа Node.js).

Упомянутая программная технология применяется для решения интернет-задач, поэтому для визуализации «Умного дома» используется язык Java Script (именно с его помощью создается обработчик и сервер). Результаты можно увидеть на экране компьютера или ПК.

Для реализации задуманного подойдет ноутбук, обычный ПК или Raspberry Pi. Применение такой системы позволяет увеличить ее возможности. Так, если на плате Ардуино имеется небольшой объем памяти, на сервере такие ограничения отсутствуют. Программа пишется таким образом, чтобы обеспечить полное управление платформой.

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

Программа может запомнить время, когда владелец ложится отдыхать и отключать нагрев воды. Таких нюансов, которые при необходимости вносятся в программу, множество. Именно наличие внешнего ПК дает большие возможности контроллеру на Ардуино.

Общение с Arduino

Чтобы узнать, какие действия осуществлять, процессор должен получить соответствующую команду. Общение производится с помощью специального языка, который адаптирован под работу с Ардуино и достаточно прост. При желании в нем легко работаться даже при отсутствии навыков программирования.

Оформление и отправка сообщения контроллеру называется программированием. Чтобы упростить процесс, разработана среда Arduino IDE, в состав которой входит множество программ. Их изучение позволяет получить массу полезной информации о работе с Ардуино.

Как можно управлять?

Как отмечалось, сервер Node.js позволяет связать между собой оборудование в доме. Одним из способов управления процессами являются облачные сервисы в Сети. При этом включить отопление или бойлер можно за один-два часа до приезда.

Еще один способ - управление с помощью сообщений (MMS или SMS). Этот вариант актуален в случае, когда нет связи с Интернетом. Одним из преимуществ системы является возможность получения информации о форс-мажорной ситуации (например, протечке). Здесь помогает плата Edison от компании Intel.

В итоге, что мы получим?

Сегодня Arduino востребовано среди людей, которые ничего не знают о программировании.

Причиной этому является простой интерфейс, а также ряд преимуществ - простой язык программирования, возможность создания своего алгоритма, благодаря открытому исходному коду, а также легкость переноса программ с помощью USB-кабеля. Необходимый для Ардуино софт имеется в Интернете, поэтому тут проблем нет.

Как видно, Ардуино - не просто плата, позволяющая подключить различные устройства. Это мощная база, которую можно использовать для создания «Умного дома». При этом нет нужды тратить большие деньги за дорогостоящие устройства, стоимость которых в 5-10 раз больше.

Это и есть основные преимущества системы.

К особенностям платы стоит отнести возможность подключения к компьютеру и получения визуализации процессов на дисплее планшета или ПК.

Управление автоматикой возможно через Интернет или посредством сообщений. Так что Ардуино отлично подходит для создания устройств повышенной сложности.

Всем привет! С вами снова Артем Лужецкий и очередной материал в направлении . Чтобы связать наши проекты с интернетом можно использовать 10-ки способов, но мы пока остановимся на модуле, о котором я еще говорил еще в самой первой статье, ESP 8266. не может работать с интернетом. Обычная плата без дополнений и модулей не может передавать информацию на расстоянии.

Но с помощью UART интерфейса на Arduino мы можем получать информацию, обрабатывать ее и отправлять данные обратно. С помощью него, UNO может работать с Bluetooth и Wi-fi модулями, которые уже и дают нашей системе дополнительные функции.

Выход в интернет

Давайте поговорим об интернете поподробнее. Я думаю, вы знаете, что интернет - это не магия и не просто радиоволны, а гигантская сеть между тысячами различных устройств с помощью беспроводной связи.

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

Вы можете узнать, что такое IP, TCP, HTTP, GET - запрос в интернете, если вам в дальнейшем будет не понятно.

Но это все не будет работать без связи нашей платы с сайтами и приложениями. Есть два решения, подключится к другому сайту (серверу), который будет обрабатывать информацию полученную либо от самой платы, либо от пользователя, чтобы управлять приборами на расстоянии или создать свой сервер, где будет лежать лично наш написанный сайт. Мы все это попробуем сделать в будущем.

Передача данных от Ардуино

Сначала мы заставим нашу ардуину передавать данные на отдельный сайт, который будет изображать данные, полученные с датчиков ардуино. Для этого прекрасно подойдет сайт для интернет вещей - dweet.io

Попробуем на него передавать данные изменения температуры нашей комнаты.

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

На главной странице можно посмотреть возможные варианты работы данного сайта

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

Схема подключения

Разберем электрическую схему подключения esp 8266. Нам потребуется только пины Rx, Tx, Gnd и Vcc. Данный модуль питается от 3,3 вольт.

И общую электрическую схему, в которой нам пригодится ардуино, esp и термистор.

Код проекта

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

  1. ESP8266 wifi(Serial) - Подключаем esp8266 через Serial соединение.
  2. wifi.joinAP(a,b); - Подключение к wifi, где а - это название точки доступа, а b - пароль к этой точки доступа.
  3. wifi.createTCP(a,b) - Открытие TCP соединения, где "a" - DNC сайта (www.dweet.io), а "b" - сетевой порт (порт 80).
  4. wifi.send(a,b) - отправляем данные, где "a" - данные в массиве (строка с-стиля), а "b" - общее количество отправленных байтов.
  5. wifi.releaseTCP() - Закрытие TCP соединения.
#include "ESP8266.h" // для работы с esp8266 #include // чтобы добавить больше пинов UART #include // чтобы высчитать логарифм #define SSID "Arduino" // имя вашего wi-fi #define PASSWORD "12345678" //пароль вашего wi-fi #define Thermistor_PIN A0 // пин подключения термистора SoftwareSerial mySerial(2, 3); // пины подключения по UART ESP8266 wifi(mySerial); // говорим esp8266, что она будет работать через пины UART String name = "MyEyse"; // ваш ключ от сайта dweet.io void setup() { Serial.begin(9600); // открываем serial соединение if (wifi.joinAP(SSID, PASSWORD)) { // если мы подключились к нашей сети Serial.println("https://dweet.io/follow/" + name); // пишем в мониторе порта адресс сайта } else { Serial.println("Wi-Fi connection error"); // в случае, если мы не подключимся к сети, нам выдадут ошибку } } void loop() { float volt_temp = 1023.0 / analogRead(Thermistor_PIN) - 1.0; // высчитываем температуру float temperatur = 1.0 / (-log(volt_temp) / 3977.0 + 1.0 / 295.0) - 273.0; if (wifi.createTCP("www.dweet.io", 80)) { // если нам удалось создать TCP соединение String data = "GET /dweet/for/" + name + "?"; // создаем переменную data в виде строки (заполняем GET-запрос) data += "temperatur_C=" + String(temperatur) + " HTTP/1.1\r\n"; data += "Host: dweet.io\r\n\r\n"; // закрываем GET-запрос в строке wifi.send(data.c_str(), data.length()); // отправляем данные в массиве (строка с-стиля) и общее количество байтов wifi.releaseTCP(); // закрываем TCP соеденение } else { Serial.println("create TCP error"); // в случае, если мы не создали TCP соеденение, нам выдадут ошибку } delay(1000); // ждем секунду (dweet.io обрабатывает данные 1 секунду, нет смысла отправлять данные раньше) }

Итоговый результат

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

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

В следующий раз попробуем разобрать еще один проект, который поможет больше раскрыть все возможности интернет модуля. В дальнейшем попробуем создать свой сервер и сайт, а также поговорим о соединении с соцсетями. Увеличить возможности сделать ваш дом умным. Удачи!