Что такое умный дом на базе Arduino?
«Умный» дом на платформе Arduino – как сделать своими руками?
Arduino — популярная платформа для создания автоматики своими руками. Она подходит для изготовления автоматики в сельском хозяйстве, в рекламной деятельности, в сфере игровых развлечений и других видах деятельности.
Можно ли изготовить на платформе Arduino систему «умного» дома своими руками? Стоит рассмотреть и этот вопрос подробно, на примере одного проекта.
Начальные условия
Умный дом на Ардуино
Необходимо сделать автоматику в однокомнатном доме. Всего в доме пять зон: крыльцо, прихожая, санузел, кухня и комната проживания.
На крыльце есть свет, который хозяева включают в тёмное время суток при входе или выходе из дома. В прихожей свет включается, когда хозяева приходят или уходят из дома.
В санузле находится бойлер для нагрева воды, а также система вентиляции и освещения.
На кухне и в комнате в зимнее время включаются нагревательные приборы — электрические конвекторы. На кухне есть вытяжка, которая включается при приготовлении пищи. Также в доме установлена пара рекуператоров: на кухне и в комнате.
Составление проекта Arduino
- Крыльцо. Здесь необходимо сделать включение света при приближении хозяина к дому в тёмное время суток. Также необходимо сделать автоматическое включение света при открывании входной двери при выходе из дома.
- Прихожая. Автоматическое включение света при наступлении тёмного времени суток и обнаружения движения. В ночное время включаться должна маломощная лампочка, чтобы резким светом не будить других проживающих.
- Санузел. Нагревание воды в бойлере происходит в зависимости от того, обнаруживает ли автоматика нахождение в доме хозяина. Сам бойлер снабжён внутренним выключателем электричества — при достижении водой предельной температуры он отключается. Когда заходит человек в санузел, то необходимо автоматически включать вытяжку и свет.
- Кухня. Свет на кухне включается и выключается вручную. Но имеется возможность выключения света при фиксации длительного отсутствия движения. При готовке пищи автоматически включается вытяжка.
- Комната. В комнате, как и на кухне свет включается вручную, но при фиксации отсутствия движения есть возможность автоматического выключения света.
Отопительные приборы и рекуперация воздуха. Отопительные приборы работают на поддержание заданной температуры в доме.
При фиксации отсутствия хозяина, минимальная поддерживаемая температура снижается на определённое количество градусов. Как только происходит фиксация присутствия хозяина в доме, автоматически нижний порог переключается в нормальный режим поддержки температуры. Рекуперация воздуха происходит при фиксации присутствия хозяина, но не реже чем 10 минут в час.
Какие решения предлагает Arduino
Базовый набор Arduino Start
Как видно из данной постановки задач нам, кроме платы Arduino, понадобятся: датчики движения, датчики открывания двери, датчики температуры и освещённости. Для включения электрических приборов нам могут понадобиться реле. В качестве датчика фиксации открытия двери может быть применён обычный геркон. Все датчики можно купить для платы Arduino.
Так как количество датчиков достаточно большое для такого маленького дома, то для платформы Arduino существуют платы расширения. Всё, что необходимо, это правильно подключить датчики к прибору и написать программу, которая будет являться «сердцем» «умного» дома.
Прошить плату Arduino легко с помощью специальной программы, которая выпускается для любой операционной системы, а также кабеля USB. Не нужно никаких программаторов, как в случае разработки автоматики на микроконтроллерах.Программа, которая прошивается в Arduino, пишется на языке Си. Безусловно, есть ограничения на количество байт этой программы. Для реализации поставленной задачи объёма памяти вполне хватит.
Визуализация «умного дома» и расширение возможностей на Ардуино
Безусловно, для визуализации процессов «умного» дома можно было бы использовать ЖК-дисплей, любые цифровые табло. Но всё-таки, для «умного» дома это не является хорошим решением.
Для визуализации процессов и состояний автоматики на платформе Arduino лучше всего использовать отдельный сервер обработки состояний. Этот сервер может быть реализован на программной технологии Node.js, позволяющей реализовать любой сервер, в том числе и для обработки состояний платы Arduino.
Node.js используется для решения задач Интернета вещей, поэтому для визуализации автоматики «умного» дома он точно подойдёт. Достаточно создать сервер и обработчик на языке JavaScript, и можно будет отображать результат в браузере компьютера или планшета.
Микрокомпьютер одноплатный Raspberry Pi
В качестве «железа» сервера можно использовать микрокомпьютер Raspberry Pi или обычный стационарный компьютер или ноутбук. При этом расширяются возможности самой системы автоматизации.
Если на плате Arduino ограниченный объём физической памяти, то на сервере этот объём ничем не ограничен. Саму программу сервера можно написать так, что она будет полностью управлять платформой Arduino.
Например, можно расширить функционал нашего «умного» дома и приблизить его к умному дому без кавычек. Есть возможность написать такой алгоритм, который будет вести статистику нахождения хозяина в доме и его возвращение домой.
Если хозяин обычно возвращается домой в районе 17:30, то за час можно включить бойлер для нагрева воды.
Также, ориентируясь на это время, можно заранее включить отопительные приборы, чтобы возвращение было уже в тёплый дом, а не в тот, где температура ниже на 10 градусов из-за экономии электричества в отсутствии хозяев.
Программа может понять когда хозяева обычно ложатся спать и заранее переставать греть воду, так как ею уже никто не будет пользоваться до утра. И таких нюансов может быть множество. Именно внешний компьютер может дать продвинутые «мозги» контроллеру на Arduino, который превратится больше в исполнительный механизм.
Дистанционное управление «умным» домом
Home Automation Arduino и Raspberry Pi
Как уже упоминалось выше, с помощью сервера на Node.js можно связать вещи друг с другом. Это касается и визуализации процессов автоматики дома в Интернете через облачные сервисы. Это один способ управления своим домом через Интернет. Можно включить бойлер или отопительные приборы вручную заранее перед приездом в дом.
Другой способ — это получение данных и управление «умным» домом на платформе Arduino с помощью SMS и MMS сообщений. Ведь далеко не всегда может быть Интернет под рукой.
И, если включение какого-либо прибора может быть не критичным, то получение сообщения о протечке воды может оказаться просто необходимым.
И здесь, на помощь в разработке своими руками полнофункционального «умного» дома на платформе Arduino может прийти плата Edison компании Intel.И что же мы получаем?
Как видно, Arduino — это не просто плата для разработки каких-то простых устройств автоматики. На платформе Arduino можно легко создать своими руками даже автоматику «умного» дома. При этом нет необходимости переплачивать деньги за устройства от компании Simens, которые дороги и обойдутся в 5-10 раз дороже Arduino.
Arduino можно подключить к компьютеру и получить визуализацию процессов на экране монитора или планшета. Автоматикой «умного» дома на платформе Arduino можно управлять через Интернет или с помощью SMS и MMS сообщений. На Arduino можно создавать своими руками достаточно сложные устройства.
Источник: https://UmnieDoma.ru/umnyj-dom-na-platforme-arduino-kak-sdelat-svoimi-rukami/
Умный дом на Ардуино (Arduino) – создание и управление
Комплексные системы управления инженерными коммуникациями жилища, известные под названием «Умный дом» набирают всё большую популярность.
Широкому внедрению этих систем препятствует достаточно высокая стоимость комплектующих элементов и монтажных работ.
Умный дом на базе Arduino представляет собой решение вполне доступное для всех, кто хоть немного разбирается в электронике.
Что такое Arduino
Ардуино – это бренд, под которым выпускаются аппаратные и программные средства для самостоятельного построения систем автоматики и телеуправления.
По сути это модульный конструктор, обладающий широкими возможностями.
Аппаратные средства Ардуино представляют собой большой ассортимент печатных плат, на которых организованы различные датчики, исполнительные устройства и платы расширения. Ядром системы являются платы с программируемыми микроконтроллерами разного уровня сложности от Arduino Pro Mini до Arduino Mega.
Платы расширения позволяют использовать большое количество внешних устройств.
На небольшой печатной плате установлен микроконтроллер, немного дискретных элементов, кварц и различные виды разъёмов, в том числе и вертикальные штыри, с помощью которых собираются конструкции-этажерки с добавлением плат расширения. В качестве микроконтроллеров используются чипы семейства Atmega. Тип контроллера определяет функциональные возможности платы, зависящие от количества входов и выходов.
Так широко распространённый модуль Arduino Uno с микроконтроллером Atmega 328 имеет следующие характеристики:
- Цифровые входы/выходы – 14
- Из них 6 – ШИМ
- Аналоговые входы – 6
- Память – 32 Кб
- Питание – 7-12 В
- Цена – 950 рублей
Цифровые контакты можно запрограммировать на выполнение конкретной функции. Это может быть вход или выход. Эти входы/выходы могут работать с устройствами, для функционирования которых достаточно двух уровней.
Это логическая единица или уровень близкий к напряжению питания и логический низкий уровень соответствующий нулю. На цифровые входы можно подключать двухуровневые датчики. К ним относится пара магнит-геркон. Этот датчик реагирует на открывание дверей и окон.
По такому принципу работают многие датчики охранной и пожарной сигнализации.
Цифровые выходы могут управлять работой электромагнитных реле, которые в свою очередь включают и выключают сетевые розетки, к которым подключены различные бытовые приборы. Умный от Arduino обойдётся значительно дешевле, чем готовый промышленный комплект.
Аналоговые входы через аналогово-цифровые преобразователи передают на контроллер информацию о состоянии датчиков температуры, освещённости и некоторых других приборов. Сравнивая показания датчиков с командами, хранящимися в памяти, центральный блок системы может управлять устройствами, где требуется плавное изменение мощности.
Шесть выходов, связанных с широтно-импульсным модулятором позволяют плавно управлять мощностью нагрузки. Например, регулировать яркость светильника, регулировать температуру обогревателя или управлять частотой вращения электродвигателя.
Самой мощной и многофункциональной платой этой линейки является Arduino Mega.
На печатной плате смонтирован контроллер ATmega2560, дискретные элементы, порт USBконнектор для подключения питания. Плата имеет 54 универсальных контакта, которые можно запрограммировать на выполнение функций входа/выхода.
14 из них могут управлять аналоговыми устройствами при помощи широтно-импульсной модуляции. 16 аналоговых входов предназначены для подключения любых аналоговых приборов.
Плата контроллера ArduinoMega стоит в пределах 1 500 рублей. Программировать его проще всего с помощью персонального компьютера через USB-порт.
Периферийные модули для Ардуино
Плата контроллера является ядром системы, но подключать к ней какие либо устройства нельзя. Выходы имеют небольшую нагрузочную способность и ограниченный ток.
Для организации системы управления бытовой техникой потребуются внешние силовые модули, устройства связи и другие устройства.
Это не является проблемой, поскольку для контроллеров Arduino разработано большое количество периферийных модулей.
Вот только некоторые из них:
- Газоанализатор – MQ-2
- Датчик освещённости – 2CH-Light-2
- Датчик температуры внешний – DS18B20-PL
- Датчик температуры и влажности комнатный – DHT-11
- Драйверы электродвигателя – L298N, L9110
- Релейные модули – 1ch5V, 4ch5V
- Модуль дистанционного управления IC2262/2272
Датчик, определяющий утечку газа в помещении, реагирует на пропан и бутан, которые являются составляющими бытового газа. Модуль имеет регулировку чувствительности и аналоговый/цифровой выходы. Датчик освещённости может являться частью автоматизированной системы управления светом.
Он состоит из двух независимых каналов с индивидуальной регулировкой чувствительности. Уличный термодатчик предназначен для работы при температуре от – 55 до +125 градусов. Комнатный датчик температуры и влажности предназначен для работы в системе климат-контроль Умного дома.
Диапазон изменения температуры от 0 до +550С и влажности от 20 до 90%.
Поскольку питающее напряжение модулей Ардуино лежит в диапазоне от 7 до 12 вольт, то для организации охранной или пожарной сигнализации можно использовать любые стандартные датчики, которые имеют такие же рабочие уровни.
Драйверы электродвигателей позволяют управлять однофазными, двухфазными, четырёхфазными и шаговыми двигателями.
С помощью таких устройств можно открывать и закрывать жалюзи или шторы. Подключенные к драйверам сервоприводы позволяют регулировать поток теплоносителя в радиаторах отопления. Незаменимыми в системе «Умный дом» являются релейные ключи.Управляемые потенциалом логической единицы +5 вольт, реле допускают коммутацию нагрузок в цепях переменного тока до 10 ампер при напряжении до 250 вольт.
С их помощью можно включать и выключать электрические розетки, электронасосы и другие системы.
Модуль дистанционного управления состоит из пульта и приёмного устройства.
Пульт оборудован четырьмя кнопками и обеспечивает передачу команд на приёмный блок на расстоянии до 100 метров.
Все периферийные модули имеют одинаковое питающее напряжение и совместимы с любыми микроконтроллерами Arduino.
Организация системы «Умный дом»
Без определённых навыков, знания принципиальных схем и основ электроники за систему «Умный дом» в полном объёме лучше не браться.
Программирование микроконтроллеров линейки Ардуино осуществляется на языке С/С++.
Для начала можно написать простейшие программы, которые могут включать и выключать светодиод или управлять работой микроэлектродвигателя. Примеров таких программ очень много.
В них используются простые операторы вида: если, пока, то и другие. Они позволяют писать программы даже школьникам.
Когда первые программы будут правильно выполняться можно попробовать собрать более сложные устройства, где будут задействованы ШИМ выходы для плавного управления светом.
Для того чтобы сделать «Умный дом» на Ардуино своими руками необходимо составить технический проект, где будет указано количество датчиков и исполнительных устройств для каждого помещения. Можно начать с одной комнаты, где будут реализованы несколько простых функций.
Некоторые из них будут выполняться по сигналам от внешних датчиков, а некоторые по сигналам таймера. Когда утром человек встаёт на работу контроллер Ардуино, по сигналу таймера включит электрический чайник или кофеварку. Если на улице темно, что зафиксирует наружный датчик, в комнате плавно загорится светильник.
Комфортную температуру в помещении так же можно задать как для сна, так и для просыпания.
Для небольшого числа функций подойдёт микроконтроллер Arduino Uno и набор периферийных модулей.Для управления бытовыми приборами потребуются релейные ключи, которые будут включать и выключать электрические розетки.
Для управления светом потребуется детектор движения. Если умная система монтируется на кухне необходимо предусмотреть автоматическое включение вытяжки, датчик утечки бытового газа и датчик протечки воды.
Как элемент пожарной сигнализации в помещении должен быть установлен дымовой датчик.
Заключение
Контроллер Ардуино позволит выполнить проект умный дом и уложиться в сравнительно небольшую сумму. Если подсчитать все расходы на оборудование трёхкомнатной квартиры, то сумма вряд ли превысит 30-40 тысяч рублей. Если сократить число функций, бюджет окажется ещё более скромным.
Источник: https://videokontroldoma.ru/umnyj-dom-na-arduino/
Умный дом на Ардуино (Arduino) своими руками: проекты, схемы, управление GSM-сигнализацией, светодиодными лентами через интернет и другие возможности
К настоящему времени системы типа «умный дом» из удивительной экзотики, доступной только самым состоятельным лицам, превратились в обыденность, к которой может приобщиться любой желающий.
Выбирать есть из чего: выпуск подобных аппаратно-программных комплексов освоили очень многие разработчики.
К числу наиболее известных принадлежит компания Arduino, с продукцией которой мы сейчас и познакомимся.
Что такое «умный дом»
У этого термина есть более понятный аналог — «домашняя автоматизация». Суть подобных решений состоит в том, чтобы обеспечить автоматическое выполнение различных процессов, происходящих в жилище, офисе или на специализированных объектах. Простейший пример — автоматическое включение освещения в тот момент, когда кто-то из жильцов входит в комнату.
Система «умный дом» от Arduino представляет собой комплект оборудования для управления работой различных устройств с помощью мобильного телефона на базе ОС Android
В любой системе «умный дом» можно выделить следующие составляющие:
- Сенсорная часть. Это набор устройств, основная часть которых представлена всевозможными датчиками, позволяющими системе регистрировать события различного характера. Примерами могут служить датчики температуры и движения. Прочие устройства сенсорной части служат для передачи системе команд пользователя. Это выносные кнопки и пульты дистанционного управления с приёмниками.
Одним из наиболее часто импользуемых элементов «умного дома» является датчик движения
- Исполнительная часть. Это устройства, которыми система может управлять, реагируя таким образом на то или иное событие в соответствии с заданным пользователем сценарием. Прежде всего, это реле, посредством которых контроллер «умного дома» может подавать питание на любой электрический прибор, то есть включать и выключать его. Например, по хлопку в ладони (система «услышит» его при помощи микрофона) можно настроить включение реле, подающего питание на вентилятор. Обратите внимание: в этом примере вентилятор может быть любым. Но можно применить и прибор, специально выпущенный для работы в составе той или иной системы. Например, компания Arduino выпускает для своих систем электромоторчики, при помощи которых можно, допустим, закрывать или открывать форточку, а компания Xiaomi (китайский производитель подобных систем) — устройства управления воздухоочистителем. Такой прибор полностью контролируется системой, то есть она может не только включить его, но и изменить настройки.
Электромоторчик является исполнительным устройством, которое включается по сигналу контроллера системы и приводит в движение подключённый к нему механизм
- Процессор. Может также называться контроллером. Это «мозг» системы, который координирует и согласовывает работу всех её составляющих.
Плата процессора (или контроллера) управляет исполнительными устройствами на основе встроенной программы и данных, полученных от сенсоров
- Программное обеспечение. Это набор инструкций, которыми руководствуется процессор. В системах некоторых производителей, в том числе и от Arduino, пользователь может написать программу самостоятельно, в других — используются готовые решения, в которых пользователю доступны лишь типовые сценарии.
Современные системы «умный дом» делятся на несколько разновидностей:
- Оснащённые собственным контроллером.
- Использующие в этом качестве процессор пользовательского компьютера (планшета, смартфона).
- Обрабатывающие информацию при помощи удалённого сервера, принадлежащего компании-разработчику (облачный сервис).
Система может не только активировать тот или иной прибор, но и проинформировать пользователя о происшедшем событии путём отправки сообщения на телефон или каким-то иным способом. Таким образом, на неё можно возложить функции сигнализации, в том числе и противопожарной.
Сценарии могут быть гораздо более сложными, чем мы описали в примерах. Например, можно научить систему включать бойлер и переводить снабжение горячей водой на него при отключении централизованной подачи, если при этом обнаруживается присутствие кого-то из жильцов в доме (помогают инфракрасные, ультразвуковые датчики, а также датчики движения).
Знакомимся с Arduino
Arduino — итальянская компания, занимающаяся разработкой и производством компонентов и программного обеспечения для простых систем «умный дом», предназначенных для неспециалистов.
Примечательным является то, что этот разработчик сделал архитектуру созданных им систем полностью открытой, что дало возможность сторонним производителям разрабатывать новые и копировать уже существующие Arduino-совместимые устройства, а также выпускать ПО для них.
Набор Arduino Uno содержит необходимые компоненты для реализации устройств, описанных в прилагаемой книге
Такой подход обеспечил высокую популярность системам итальянской компании, но у него есть и недостаток: из-за того что за производство компонентов для Arduino-систем берутся, так сказать, все кому не лень, не всегда удаётся с первого раза приобрести качественное изделие. Зачастую приходится сталкиваться и с проблемой совместимости компонентов от разных производителей.
Потенциальному пользователю следует знать, что с 2008 года существуют две компании, выпускающие продукцию под торговой маркой Arduino.
У первой, которая начинала это направление, официальный сайт размещён по адресу www.arduino.cc; у второй, новообразовавшейся — по адресу www.arduino.org.
То, что было разработано до раскола, на обоих сайтах представлено одинаково, а вот ассортимент новой продукции уже отличается.
ПО для систем «умный дом» Arduino имеет вид программной оболочки (называется IDE), в которой можно писать и компилировать программы. Распространяется бесплатно. Программы пишутся на языке C++.
Версии программы Arduino IDE, представленные на указанных сайтах, тоже сильно отличаются, хотя имеют одинаковые не только название, но и номера версий. Из-за этого в них довольно легко запутаться. Отличие состоит в том, что каждое ПО поддерживает свои библиотеки и платы.
«Железо» системы состоит из платы с микроконтроллером (процессорная плата) и установленных на ней плат расширения, которые в обиходе называют шилдами. Подключение шилд к процессорной плате позволяет добавлять к «умному дому» новые компоненты. Собранная система может быть как полностью автономной, так и работающей в связке с компьютером через стандартный проводной или беспроводной интерфейс.
На процессорную плату можно устанавливать специальные расширения (шилды), которые увеличивают функциональность системы
Преимущества системы Arduino
Этот аппаратно-программный комплекс привлекает пользователя такими достоинствами:
- возможность автономной работы, обусловленная наличием собственного контроллера;
- широкие возможности по настройке работы системы (пользователь сам пишет программу, в которой могут быть предусмотрены сценарии любой сложности);
- простота процесса загрузки программы в контроллер: программатор для этого не требуется, достаточно иметь USB-кабель (в микроконтроллере имеется прошивка загрузчика Bootloader);
- доступная стоимость компонентов, обусловленная отсутствием у того или иного производителя монопольных прав (архитектура является открытой).
Если загрузчик Bootloader стал работать со сбоями, либо в приобретённом микроконтроллере его не оказалось, пользователь имеет возможность прошить его самостоятельно.
В программной оболочке IDE для этой цели предусмотрена поддержка ряда наиболее доступных и популярных программаторов.
Кроме того, почти все процессорные платы Arduino имеют штыревой разъём, позволяющий осуществлять внутрисхемное программирование.
В программе Arduino IDE, представленной на сайте arduino.cc, заложена возможность создания пользовательских аппаратно-программных платформ, в то время как в версии программы на arduino.org такая функция отсутствует.
Какие решения предлагает Arduino
Поскольку производством Arduino-совместимых датчиков и приборов занимается множество компаний, ассортимент этой продукции довольно широк. Вот что применяется чаще всего:
- Сенсоры, отслеживающие климатические параметры:
- температуру;
- влажность;Специальная плата с датчиками температуры и влажности предоставляет интерфейс вывода измеряемых параметров на LCD-дисплей
- осадки (датчик дождя и снега);
- освещённость;
- давление.
- Сенсоры, позволяющие определить пространственное положение объекта, на котором они закреплены:
- 6-осный датчик-гироскоп с акселерометром;
- компас.Встроенный компас позволяет определять стороны света по отношению к объекту, на котором используется система
- Сенсоры, позволяющие регистрировать присутствие различных объектов:
- датчик движения;
- инфракрасный датчик (зафиксирует неподвижно сидящего человека или теплокровное животное);ИК-датчик позволяет гарантированно определить присутствие в доме людей и перейти на соответствующую ветку рабочего сценария
- ультразвуковой датчик (обнаруживает объекты с любой температурой и определяет расстояние до них).
- Аварийные сенсоры:
- датчик дыма;
- датчик огня;
- датчик утечки газа;Подключение датчика газа позволит мгновенно выявить утечку газа в помещении и задействовать аварийный сценарий работы
- датчик углекислоты.
- Прочие устройства, например:
- микрофон;
- часы;
- датчик открывания двери;
- пульты дистанционного управления (радиочастотные и инфракрасные) с приёмниками;
- удалённые кнопки.
Некоторые из этих устройств включены в состав базового набора Arduino Start, который у ряда производителей имеет название StarterKit.
Стартовый набор системы Arduino включает в себя процессорную плату и несколько наиболее часто используемых устройств
Исполнительная часть содержит огромный набор устройств, например:
- электромоторы;
- реле и различные переключатели;
- диммеры (позволяют плавно менять интенсивность освещения);
- доводчики дверей;
- вентили и 3-ходовые клапаны с сервоприводами.
Если вы планируете подключить через реле Arduino освещение, то правильнее использовать в качестве светильников светодиодные лампы. Лампы накаливания при подключении через такие реле быстро горят.
Составление проекта на Arduino
Процесс создания и настройки «умного дома» Arduino покажем на примере системы, в которую будут заложены следующие функции:
- мониторинг температуры на улице и в помещении;
- отслеживание состояния окна (открыто/закрыто);
- мониторинг погодных условий (ясно/дождь);
- генерация звукового сигнала при срабатывании датчика движения, если активирована функция сигнализации.
Систему настроим таким образом, чтобы данные можно было просматривать посредством специального приложения, а также веб-браузера, то есть пользователь сможет сделать это из любого места, где есть доступ в интернет.
Используемые сокращения:
- «GND» — заземление.
- «VCC» — питание.
- «PIR» — датчик движения.
Необходимые компоненты для изготовления системы «умного дома»
Для системы «умного дома» Arduino потребуется следующее:
- микропроцессорная плата Arduino;
- модуль Ethernet ENC28J60;
- два температурных датчика марки DS18B20;
- микрофон;
- датчик дождя и снега;
- датчик движения;
- переключатель язычковый;
- реле;
- резистор сопротивлением 4,7 кОм;
- кабель «витая пара»;
- кабель Ethernet.
Стоимость всех компонентов составляет примерно 90 долларов.
Для изготовления системы с необходимыми нам функциями потребуется набор устройств стоимостью около 90 долларов
Сборка «умного дома»: пошаговая инструкция
Вот в какой последовательности необходимо действовать.
Подключение исполнительных и сенсорных устройств
Подключаем все компоненты согласно схеме.
Сборка системы в основном сводится к подключению исполнительных устройств к соответствующим контактам процессорной платы
Разработка программного кода
Пользователь пишет всю программу целиком в оболочке Arduino IDE, для чего последняя оснащена текстовым редактором, менеджером проектов, компилятором, препроцессором и средствами для заливки программного кода в микропроцессор платы Arduino.
Разработаны версии IDE для операционных систем Mac OS X, Windows и Linux. Язык программирования — С++ с некоторыми упрощениями.
Пользовательские программы для Arduino принято называть скетчами (sketch) или набросками, программа IDE сохраняет их в файлы с расширением «.ino».
Функцию main(), которая в С++ является обязательной, оболочка IDE создаёт автоматически, прописывая в ней ряд стандартных действий. Пользователь должен написать функции setup() (выполняется единоразово во время старта) и loop() (выполняется в бесконечном цикле). Обе эти функции для Arduino являются обязательными.
Заголовочные файлы стандартных библиотек вставлять в программу не нужно — IDE делает это автоматически. К пользовательским библиотекам это не относится — они должны быть указаны.Добавление библиотек в «Менеджер проекта» IDE осуществляется несколько необычным способом. В виде исходных текстов, написанных на С++, они добавляются в особую папку в рабочем каталоге оболочки IDE. После этого названия этих библиотек появятся в соответствующем меню IDE. Те, что отметит пользователь, будут внесены в список компиляции.
В IDE предусмотрен минимум настроек, а возможность настройки компилятора отсутствует вовсе. Таким образом, начинающий программист застрахован от ошибок.
Вот пример самой простой программы, заставляющей каждые 2 секунды мигать подключённый к 13-му выводу платы светодиод:
void setup () { pinMode (13, OUTPUT); // Назначение 13 вывода Arduino выходом}
void loop () { digitalWrite (13, HIGH); // Включение 13 вывода, параметр вызова функции digitalWrite HIGH — признак высокого логического уровня
delay (1000); // Цикл задержки на 1000 мс — 1 секунду
digitalWrite (13, LOW); // Выключение 13 вывода, параметр вызова LOW — признак низкого логического уровня
delay (1000); // Цикл задержки на 1 секунду}
Источник: https://tehznatok.com/kak-podklyuchit/umnyiy-dom-na-arduino.html
Умный дом на Ардуино и интернет: работаем с Dweet.io
13 июня в 12:00 / Умный дом / Arduino, ESP8266
Всем привет! С вами снова Артем Лужецкий и очередной материал в направлении умных домов. Чтобы связать наши проекты с интернетом можно использовать 10-ки способов, но мы пока остановимся на модуле, о котором я еще говорил еще в самой первой статье, ESP 8266. Arduno UNO не может работать с интернетом. Обычная плата без дополнений и модулей не может передавать информацию на расстоянии.
Но с помощью UART интерфейса на Arduino мы можем получать информацию, обрабатывать ее и отправлять данные обратно. С помощью него, UNO может работать с Bluetooth и Wi-fi модулями, которые уже и дают нашей системе дополнительные функции.
Выход в интернет
Давайте поговорим об интернете поподробнее. Я думаю, вы знаете, что интернет — это не магия и не просто радиоволны, а гигантская сеть между тысячами различных устройств с помощью беспроводной связи.
Сайты, с которыми мы каждый день сталкиваемся — это информация, переданная нам с сервера. Весь тот текст, картинки, анимация — все это хранится на сервере, пока клиент, мы, не захочет, чтобы ему передали эту информацию.
Вы можете узнать, что такое IP, TCP, HTTP, GET — запрос в интернете, если вам в дальнейшем будет не понятно.
Но это все не будет работать без связи нашей платы с сайтами и приложениями. Есть два решения, подключится к другому сайту (серверу), который будет обрабатывать информацию полученную либо от самой платы, либо от пользователя, чтобы управлять приборами на расстоянии или создать свой сервер, где будет лежать лично наш написанный сайт. Мы все это попробуем сделать в будущем.
Передача данных от Ардуино
Сначала мы заставим нашу ардуину передавать данные на отдельный сайт, который будет изображать данные, полученные с датчиков ардуино. Для этого прекрасно подойдет сайт для интернет вещей — dweet.io
Это сайт может отображать график изменения температуры, света, влажности, все что имеет изменение по времени.
Попробуем на него передавать данные изменения температуры нашей комнаты.
Можно обойтись без создания собственного ключа, и в коде (где нужно вставить ключ), можно записать все что угодно и сайт все равно вам выведет на экран график изменения отправленных данных по времени. Но для того, чтобы в дальнейшем создать сеть онлайн устройств, придется более серьезно отнестись к данному сайту.
На главной странице можно посмотреть возможные варианты работы данного сайтаТакже создать свой аккаунт и сеть ключей для разных устройств, чтобы вы могли не беспокоится за безопасность данных и могли из любого устройства узнать, что происходит в вашем доме.
Схема подключения
Разберем электрическую схему подключения esp 8266. Нам потребуется только пины Rx, Tx, Gnd и Vcc. Данный модуль питается от 3,3 вольт.
И общую электрическую схему, в которой нам пригодится ардуино, esp и термистор.
Код проекта
Итак, приступим наконец-то к проекту. Основная часть нашего проекта будет в коде. Для библиотеки по использованию нашего модуля предусмотрено пара новых функций (ссылку на библиотеку можно найти в первой статье):
- ESP8266 wifi(Serial) — Подключаем esp8266 через Serial соединение.
- wifi.joinAP(a,b); — Подключение к wifi, где а — это название точки доступа, а b — пароль к этой точки доступа.
- wifi.createTCP(a,b) — Открытие TCP соединения, где «a» — DNC сайта (www.dweet.io), а «b» — сетевой порт (порт 80).
- wifi.send(a,b) — отправляем данные, где «a» — данные в массиве (строка с-стиля), а «b» — общее количество отправленных байтов.
- 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); // пины подключения по UARTESP8266 wifi(mySerial); // говорим esp8266, что она будет работать через пины UARTString 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»; data += «Host: dweet.io\r\
«; // закрываем GET-запрос в строке wifi.send(data.c_str(), data.length()); // отправляем данные в массиве (строка с-стиля) и общее количество байтов wifi.releaseTCP(); // закрываем TCP соеденение } else { Serial.println(«create TCP error»); // в случае, если мы не создали TCP соеденение, нам выдадут ошибку } delay(1000); // ждем секунду (dweet.io обрабатывает данные 1 секунду, нет смысла отправлять данные раньше) }
Итоговый результат
Если код вы записали правильно, с правильным паролем и именем от вашего wifi, который исправно работает, то в монитор порта будет отправлена ссылка, которую необходимо вставить в адресную строку браузера. Изображение должно выглядеть так
А теперь вы можете подключить ардуино к источнику питания и убрать провод подключения ардуино — компьютер. И узнавать температуру в вашем доме, находясь на другом конце города. Все зависит только от вашей фантазии.
В следующий раз попробуем разобрать еще один проект, который поможет больше раскрыть все возможности интернет модуля. В дальнейшем попробуем создать свой сервер и сайт, а также поговорим о соединении с соцсетями. Увеличить возможности сделать ваш дом умным. Удачи!
Автор — Артем Лужецкий
Источник: https://ArduinoPlus.ru/arduinon-umnii-dom-i-internet/
Умный дом на Аrduino своими руками: описание и характеристики
Умный дом на Аrduino своими руками
2.8 (56.3%) 27 votes
Сложно представить себе современную жизнь без использования технологий: интернета, смартфона, кухонной техники и системы «Умный дом». Если с последним вы еще не знакомы или хотите установить такую систему своими руками, то информация далее — для вас.
Управление «Умным домом» с планшета
Что такое «Умный дом»
Приобрести подобный проект не по карману большинству людей. Но, усвоив принцип работы «Умного дома», можно разработать такой проект самостоятельно и установить через специальное приложение своими руками.
Понятие Smart Homes или «Умный дом» можно охарактеризовать как простой набор контроллеров и датчиков. Эти приспособления могут срабатывать как на тепловую энергию, так и на движения. Как правило, такие наборы контролируют работу техники внутри дома, коммуникации, системы безопасности.
Есть и более «умные» проекты: системы по расписанию включают отопление, запускают работу бытовой техники и т. д. Только представьте себе: вы приходите домой, где вас уже ждет разогретый обед в микроволновке и горячая ванная.
Интересно? Тогда есть смысл сделать это своими руками.
«Умный дом» можно охарактеризовать как простой набор контроллеров и датчиков
Как работают датчики и контроллеры?
Такое оборудование считывает информацию, обрабатывает ее при помощи специальной программы и передает команду. Датчики могут реагировать на движение, резкий звук или температуру.
Самый простой и всем известный пример системы движения можно видеть в многоквартирных домах, где при открытии двери на лестничной клетке автоматически включается свет. Также контроллеры или датчики можно видеть в каждом здании в комплексе пожарной сигнализации — при резком повышении температуры срабатывает сигнализация.
Прежде чем начать устанавливать систему Smart Homes для своего дома, нужно разработать проект, согласно которому эти датчики и будут размещаться.
Так как многие системы этого плана требуют определенного опыта и знаний в области программирования и электроники, выбирать следует оборудование максимально простого плана. Другими словами — адаптированное под начинающего пользователя.
Именно таковыми можно назвать системы «Ардуино». Компания поставляет простые в плане установки и надежные в эксплуатации системы для Smart Homes.
Обратите внимание, что универсальную «умную» систему под проекты Smart Homes не предоставляет ни одна компания, в том числе и «Ардуино».
Полный проект Arduino для «Умного дома»
Преимущество систем
«Ардуино» пользуется большим спросом среди людей, далеких от программирования, прежде всего, благодаря понятному интерфейсу. Также не лишним будет выделить такие преимущества системы для Smart Homes:
- возможность создавать свои программы, так как открыт исходный код;
- простой язык программирования;
- все нужные программы можно перенести при помощи usb-кабеля.
Таким образом, приобретая только одну программу со стандартным набором функций, можно максимально удобно подстроить ее под себя.
Дополнительный софт для «Ардуино» Uno всегда можно скачать через интернет, причем бесплатно. Управлять системой можно как обычным ПК, так и при помощи смартфона, установив специальное приложение.
Принцип работы системы
При помощи беспроводной передачи данных датчики передают команды и другую информацию на компьютер или смартфон (планшет). Посредством специальной программы данные обрабатываются, и выполняется нужная команда.
Центральный датчик, который является главным в системе «Ардуино», можно купить или собрать своими руками. Разъемы на платах — стандартного типа. Это значительно облегчает подбор комплектующих в системе «Ардуино» Uno.
Принцип работы системы «Ардуино»
Необходимые материалы для сборки
Если вы решили собрать проект «Умного дома» своими руками, понадобится следующее:
- датчик Arduino Uno;
- Ethernet-модуль ENC28J60;
- нужные датчики и контроллеры;
- датчик движения;
- кабель типа витая пара;
- переключатель;
- реле;
- резистор;
- кабель для Ethernet-модуля.
Также не забудьте про необходимые инструменты: паяльники, отвертки и т. д.
Обратите внимание, что наборы для системы «Умный дом» на Arduino лучше приобретать в сертифицированных точках продажи. В связи с тем, что работа таких проектов связана с электричеством, применение подделки может быть небезопасно. Все нужные программы для адаптации системы можно скачать с интернета.
Что касается датчиков, то здесь вы выбираете набор того, что должно быть в вашей «умной» системе — контроль температуры в доме, включение/выключение освещения и т. д.
Необходимые материалы для сборки «Умного дома» своими руками
Процесс установки
Примите к сведенью, что «Умный дом» на Arduino Uno должен иметь только светодиодные лампы. Использовать обычные лампы накалывания не рекомендуется — они не выдерживают нагрузки.
После того как проект готов, можно начать подсоединение необходимых контроллеров и датчиков к Arduino. Делать это нужно строго по чертежу или схеме, которую вы будете использовать. Все контакты нужно хорошо изолировать.
«Умный дом» на Arduino Uno должен иметь только светодиодные лампы
Условно дальнейший этап работ можно представить в виде такого алгоритма:
- установка программного кода;
- конфигурация приложения под используемый гаджет;
- переадресация портов на роутере;
- тестирование;
- внесение правок (если понадобиться).
На используемое оборудование с интернета скачивается и устанавливается архив с необходимым софтом. Качать его лучше с проверенного источника. После того как все файлы будут разархивированы, следует обновить страницу в приложении или перезапустить сам девайс.
Приложение отображает информацию с установленных датчиков. При необходимости можно менять настройки ip-адреса и включать/отключать сигнализацию. Это же приложение будет передавать вам данные.
Программа Ардуино для Windows
Работа с роутером
На роутере нужно открыть порт. Для этого следует выполнить следующие действия:
- открыть конфигурацию роутера;
- прописать адрес arduino ip;
- открыть порт 80.
После этого — присвоить новому адресу доменное имя. Теперь можно приступать к тестированию проекта, который вы сделали своими руками.
Правильно настроить роутер — залог успеха
Следует отметить, что для такого рода проектов нельзя использовать открытый ip-адрес, так как система легко взламывается через интернет.
Дома с «умной» системой на базе arduino могут не просто контролировать работу коммуникаций, но и существенно экономить электричество. Главное — подобрать набор сертифицированного типа, иначе вся система будет плохо работать.
Также следует отметить и то, что «Ардуино» — это одна из немногих систем подобного рода, которая имеет огромное количество библиотек с разными программными кодами. Поэтому собрать ее своими руками через интернет несложно. Вам достаточно только приобрести все составляющие и выбрать уже готовые протестированные программные коды.Источник: https://proumnyjdom.ru/kontrollery/umnyj-dom-na-arduino.html