Начало работы
Как только необходимое оборудование подготовлено, а проект разработан, можно приступать к выполнению поставленной задачи.
Этапы
При организации системы «Умный дом» на базе Ардуино, стоит действовать по следующему алгоритму:
- Инсталляция программного кода;
- Конфигурация приложения под применяемое устройство;
- Переадресация портов (для роутера);
- Проведение тестов;
- Внесение правок и так далее.
В Сети имеется весь необходимый софт на применяемое оборудование — его достаточно скачать с официального сайта и установить (ссылку смотрите выше).
Приложение позволяет увидеть информацию о датчиках. Если это требуется, настройки 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-адреса, ведь в этом случае высок риск взлома через Сеть
После требуется присвоить адресу доменное имя и перейти к процессу тестирования проекта. Учтите, что для такой системы запрещено применение открытого IP-адреса, ведь в этом случае высок риск взлома через Сеть.
Этапы создания
Следует сказать, что этапы создания системы «умного дома» с привлечением специалистов или же своими руками будут одинаковыми. Правда, в последнем случае готовый вариант в целом обойдется существенно дешевле, чем если привлекать специалистов, которых на рынке и так не хватает. По этой причине зарплаты у них будут соответствующими, а значит, если вы не хотите тратить лишние средства, то можно обойтись собственными силами. Итак, начнем с комплектующих для этой системы, если вы решили все-таки создавать ее самостоятельно.
Комплектация
Если говорить о комплектации системы, то технология будет включать в себя следующий набор компонентов:
- датчик движения;
- датчик температуры и влажности;
- датчик освещенности;
- пара температурных датчиков с маркировкой DS18B20;
- Ethernet-модуль марки ENC28J60;
- микрофон;
- переключатель язычкового типа;
- реле;
- кабель типа «витая пара»;
- кабель категории Ethernet;
- резистор, имеющий сопротивление 4,7 килоома;
- микропроцессорная плата Arduino.
Алгоритм подключения
Следует сказать, что умный дом должен быть оснащен исключительно светодиодными лампочками, так как обычные варианты просто могут не выдержать большого напряжения. Когда проект будет готов, а все нужные запчасти уже приобретены, следует начать подключение датчиков и контроллеров. Делать это необходимо исключительно по схеме, созданной ранее. Контакты необходимо полностью заизолировать.
Если говорить кратко, то поэтапно алгоритм подключения будет выглядеть таким образом:
- установка кода;
- настройка приложения для ПК или мобильного;
- портовая переадресация;
- осуществление тестирования ПО и датчиков;
- устранение неисправностей, если они были выявлены при тестировании.
Итак, начнем с установки кода.
Сначала пользователю следует написать ПО в Arduino IDE. В нем представлены:
- текстовый редактор;
- создатель проектов;
- программа для компиляции;
- препроцессор;
- инструмент для загрузки ПО в мини-процессор Arduino.
Следует сказать, что существуют версии ПО для основных компьютерных ОС – Windows, Linux, Mac OS X. Если говорить об используемом языке программирования, то речь идет о C++ с рядом упрощений. Программы, написанные пользователями для Arduino, обычно называют скетчами. Ряд функций система создает автоматически и пользователю не нужно разбираться в их написании, прописывая список обычных действий. Также нет необходимости вносить файлы заголовочного типа обычных библиотек. Но пользовательские вставлять необходимо.
Добавлять библиотеки в проектный IDE-менеджер можно различными методами. В виде исходников, прописанных на С++, идет добавление в отдельную директорию на рабочей директории IDE-оболочки. Теперь имена необходимых библиотек появляются в определенном IDE-меню. Те, что вы отметите, войдут в компиляционный список. В IDE существует малое количество настроек, а задавать тонкости компилятора вообще нет возможности. Это сделано для того, чтобы несведущий человек не натворил каких-либо ошибок.
Если вы скачали библиотеку, то ее необходимо распаковать и просто вставить в IDE. В программном тексте есть комментарии, которые поясняют принцип ее работы. Следует отметить, что все приложения на Arduino работают по одной технологии: пользователь шлет запрос на процессор, а он, в свою очередь, осуществляет загрузку нужного кода на экран устройства. Когда человек нажимает клавишу Refresh, то микроконтроллер отсылает информацию. С каждой из страниц с определенным обозначением идет программный код, что будет отображаться на экране.
Следующий комплекс действий заключается в установке клиента на персональный компьютер или смартфон. Скачать его можно в интернете, в Google Play Market или из другого источника. Для того чтобы сделать это, необходимо открыть файл на телефоне, который вы скачали, после чего щелкнуть по нему и в появившемся окне нажать на клавишу «Установить». При этом следует знать, что для этого должна быть активирована опция, позволяющая осуществлять установку программ не из сервиса Google Play. Чтобы включить эту опцию, необходимо войти в раздел настроек и выбрать там пункт «Безопасность». Именно так и необходимо активировать соответствующую опцию. Когда установка завершится, то можно будет осуществить активацию приложения и настроить его.
Функции, реализованные в проекте
- Комплексное управление городской квартирой
- Управление системой из веб-интерфейса
- Адаптивный дизайн для использования на планшетах и смартфонах
- Отсылка тревожных и информационных SMS сообщений
- Сохранение настроек в энергонезависимой памяти системы
Режимы присутствия людей в доме
- Режимы «присутствие» и «отсутствие» людей в доме
- Смена режима в веб-интерфейсе
- Возможность отложенной смены режима с регулируемой задержкой срабатывания
Отопление
- Управление отоплением 5-и помещений и зон в квартире
- Управление работой тёплых полов в 5-и помещениях
- Автоматическое поддержание заданной температуры
- Установка параметров отопления в веб-интерфейсе
- Регулировка температуры в зависимости от режима присутствия людей
- Дополнительное разбиение режимов на 2 поддиапазона «высокий» и «низкий»
- Задание матрицы целевых температур в веб-интерфейсе
- Задание матрицы «высоких» и «низких» режимов для каждого времени суток
- Регулировка температуры с учётом матрицы высоких и низких подрежимов
- Контроль текущей и целевой температуры в реальном времени на веб-странице
- Задание допустимых лимитов отклонения температуры в веб-интерфейсе
- Индикация текущих нарушений температурных лимитов на веб-странице
- Отсылка тревожных SMS при нарушении лимитов отклонения температур
nRF24 сеть
- Поддержка работы nRF24 сети
- Использование нативного AMS nRF24 беспроводного стека и протокола
- Использование беспроводных батарейных AMS nRF24 датчиков
- Удалённый контроль «здоровья» беспроводных датчиков
- Отслеживание активности и ошибок беспроводных датчиков
- Использование беспроводных AMS nRF24 контроллеров
Управление двумя санузлами
- Защита от протечек
- Автоматическое перекрытие клапана при протечках воды
- SMS оповещение при аварийных ситуациях с протечками воды
- Управление вентиляцией санузлов
- Автоматический и ручной режимы вентиляции
- Задание задержки отключения вентиляции в веб-интерфейсе
- Задание критической влажности для включения вентиляции в веб-интерфейсе
- Управление освещением санузлов
- Автоматический и ручной режимы работы освещения
- Задание задержки отключения освещения в веб-интерфейсе
Управление зимним садом на балконе
- Определение температуры и влажности на улице
- Поддержание заданной температуры на балконе
- Алгоритм обогрева, учитывающий множество параметров
Работа со временем
- Получение и синхронизация времени через интернет
- Отслеживание временных интервалов
- Отслеживание времени суток
- Отслеживание времени восхода и захода солнца
- Задание часов и минут наступления каждого времени суток в веб-интерфейсе
СМС сообщения и команды
- Интеграция с AMS СМС сервером
- Отсылка информационных и тревожных СМС на мобильный телефон
- Приём управляющих команд от СМС сервера
Сетевая работа
- Интеграция с другими контроллерами сети
- Приём управляющих команд по сети от других контроллеров
- Отсылка управляющих команд другим контроллерам сети
Индикация
Индикация состояния всех объектов системы в реальном времени
Заказать проект
Для того, чтобы заказать проект, просто пришлите письмо с описанием задачи на адрес info@hi-lab.ru и возможно уже через несколько дней вы получите готовый проект вашей мечты
Компания Arduino
Arduino — это итальянская компания, которая занимается производством и разработкой программного обеспечения и компонентов для систем автоматизации. Основное назначение таких простейших систем — это их использование неспециалистами, то есть обычными домовладельцами. Поэтому если вы планируете обустроить у себя дома достаточно простую и в то же время функциональную систему жизнеобеспечения, то Arduino станет для вас отличным выбором.
Предлагаемое П. О. Arduino отличается простотой использования, что позволяет самим домовладельцам компилировать программы и настраивать работу всего подключенного к микропроцессору. Программное обеспечение от этого итальянского производителя распространяется бесплатно, поэтому каких-либо сложностей с поиском таких управляющих программ у вас гарантированно не возникнет.
https://youtube.com/watch?v=kBt51h3Wf0s
В первую очередь вам необходимо будет спланировать весь функционал такой системы, правильно подобрать используемые датчики и контроллеры. Чтобы разработать грамотную схему системы на Arduino, вы должны четко представлять, какой функционал платформы вам необходим. Кому-то будет достаточно просто включения света при открытии двери, а кто-то хочет получить максимально разветвленную систему, которая будет поддерживать оптимальные показатели температуры, влажности в доме, проветривать окна, включать по расписанию отопление, выполнять другие различные работы и максимально точно контролировать все инженерные коммуникации в доме.
Этот итальянский производитель предлагает стандартную модель автоматизации, которая состоит из микроконтроллера и нескольких плат расширения. Такие платы расширения принято называть «шильды». В последующем имеется возможность подключения к ним и к процессорной плате различных дополнительных компонентов. Такая собранная система на Arduino может работать автономно по установленной пользователем программе или подключаться к компьютеру через беспроводной и проводной интерфейс.
Преимущества использования
Если говорить о преимуществах использования такого программно-аппаратного комплекса Arduino для налаживания автоматизации, то можно выделить следующие:
- Максимально широкие возможности по настройке проекта Arduino для дома.
- Работать такой программно-аппаратный комплекс может автономно.
- Простота загрузки программы в контроллер.
- Доступная стоимость компонентов.
- Существенно упрощено расширение функционала работающей в доме системы.
Управление системами
В настоящее время этот итальянский производитель предлагает различные уже готовые решения, позволяющее управлять следующими инженерными системами в доме:
- Температурой и влажностью.
- Освещенностью.
- Аварийными системами безопасности.
- Различными бытовыми приборами.
Если вам необходима простейшая система автоматизации, то можем порекомендовать базовый набор Arduino Starter Kit Uno, который включает все необходимые датчики и микроконтроллеры для управления инженерными коммуникациями в доме.
Дополнительные устройства
Впоследствии можно с легкостью расширить функционал данной системы, используя следующие исполнительные устройства:
- Доводчики дверей.
- Диммеры для освещения.
- Переключатели и различные реле.
- Электромоторы.
Сборка «умного дома»: пошаговая инструкция
Вот в какой последовательности необходимо действовать.
Подключение исполнительных и сенсорных устройств
Подключаем все компоненты согласно схеме.
Сборка системы в основном сводится к подключению исполнительных устройств к соответствующим контактам процессорной платы
Разработка программного кода
Пользователь пишет всю программу целиком в оболочке Arduino IDE, для чего последняя оснащена текстовым редактором, менеджером проектов, компилятором, препроцессором и средствами для заливки программного кода в микропроцессор платы Arduino. Разработаны версии IDE для операционных систем Mac OS X, Windows и Linux. Язык программирования — С++ с некоторыми упрощениями. Пользовательские программы для Arduino принято называть скетчами (sketch) или набросками, программа IDE сохраняет их в файлы с расширением «.ino».
Функцию main(), которая в С++ является обязательной, оболочка IDE создаёт автоматически, прописывая в ней ряд стандартных действий. Пользователь должен написать функции setup() (выполняется единоразово во время старта) и loop() (выполняется в бесконечном цикле). Обе эти функции для Arduino являются обязательными.
Заголовочные файлы стандартных библиотек вставлять в программу не нужно — IDE делает это автоматически. К пользовательским библиотекам это не относится — они должны быть указаны.
В IDE предусмотрен минимум настроек, а возможность настройки компилятора отсутствует вовсе. Таким образом, начинающий программист застрахован от ошибок.
Вот пример самой простой программы, заставляющей каждые 2 секунды мигать подключённый к 13-му выводу платы светодиод:
Однако в настоящий момент перед пользователем далеко не всегда встаёт необходимость лично писать программу: в сети выложено множество готовых библиотек и скетчей (загляните сюда: http://arduino.ru/Reference). Имеется готовая программа и для системы, рассматриваемой в этом примере. Её нужно загрузить, распаковать и импортировать в IDE. Текст программы снабжён комментариями, поясняющими принцип её работы.
Все программы на Arduino работают по одному принципу: пользователь посылает запрос процессору, а тот загружает необходимый код на экран компьютера или смартфона
Когда пользователь нажимает в браузере или установленном на смартфоне приложении кнопку «Refresh» (Обновление), микроконтроллер Arduino осуществляет отсылку данных этому клиенту. С каждой из страниц, обозначенных как «/tempin», «/tempout», «/rain», «/window», «/alarm», поступает программный код, который и отображается на экране.
Установка клиентского приложения на смартфон (для ОС Android)
Для получения данных от системы «умный дом» в сети можно скачать готовое приложение.
Вот что необходимо сделать владельцу гаджета:
- Скачайте файл SmartHome.apk.
- Отправьте его на телефон.
- Открыв «Менеджер файлов», разместите этот файл.
- Щёлкните на нём и выберите «Установить» (должна быть отмечена «галочка», позволяющая осуществлять установку программ вне сервиса Google Play).
- Когда установка будет завершена, активируйте приложение.
- Выполните его настройку.
С помощью этого приложения можно не только получать информацию от системы «умный дом», но и управлять ею — включать и отключать сигнализацию. Если она включена, то при срабатывании датчика движения приложению будет отправлено уведомление. Опрос системы Arduino на предмет срабатывания датчика движения приложение выполняет с периодичностью раз в минуту.
Активировав иконку «Настройки», можно отредактировать свой IP-адрес.
Настройка браузера на работу с «умным домом»
В адресной строке браузера следует ввести XXX.XXX.XXX.XXX/all, где «XXX.XXX.XXX.XXX» — ваш IP-адрес. После этого появится возможность получать данные от системы и осуществлять управление ею.
Представленный здесь программный код позволяет через браузер включать и выключать свет, тогда как в приложении для Android-смартфона такая функция не реализована.
Работа с роутером
Далее на маршрутизаторе необходимо открыть порт:
- открываем настройки маршрутизатора;
- прописываем адрес Arduino IP;
- открываем порт 80.
Настройка учётной записи на noip.com
Этот этап не является обязательным, но он необходим, если вы хотите присвоить адресу доменное имя. Для этого надо зарегистрироваться на сайте https://www.noip.com/, перейти в раздел «Add host» и ввести IP-адрес системы.
После регистрации на сайте noip.com доступ к системе можно получать не только по IP-адресу, но и по полному доменному имени
Создание проекта завершено, можно проверять работоспособность системы.
Как это сделать?
Следует понять, что «умный» дом – это просто набор контролеров с подключенными датчиками, которые считывают информацию и на ее основе выполняют какие-то конкретные команды. Например, контролер обогрева. При фиксировании его датчиком падения температуры ниже определенного уровня, он включит подачу тепла в комнату. На таком принципе работают автоматические кондиционеры. А в «умном» доме такие контролеры с датчиками стоят везде, что и позволяет охватить контролем максимальное количество задач. Естественно, чтобы сделать свой «умный» дом, вы сначала разработаете у себя в голове небольшой проект, учтя в нем, какие именно сферы своего быта вы хотели бы усовершенствовать и что вам для этого нужно.
Итак, чтобы сделать свой дом более самостоятельным, вам потребуются контролеры, которыми вы смогли воспользоваться. Дело в том, что их мало купить – нужно еще их запрограммировать, подключить внешние источники информации и настроить на нужную работу. Здесь возникает проблема недостатка знаний в конкретной области, потому что многие подобные устройства достаточно сложны в эксплуатации и работать с ними может не так уж и много людей. Но при появлении спроса (кому бы не хотелось своими руками собрать работающее электронное устройство?) появляется и соответствующее предложение. Одна компания является на данный момент практически самым популярным поставщиком удобных в использовании и простых для понимания электронных устройств. Это компания Arduino (ардуино).
Прежде чем начать рассмотрение этой системы, нужно принять во внимание то, что универсального проекта «умного» дома для этой системы нет. Каждый пользователь делает свой особенный проект, который по-своему и реализует, используя свои уникальные технические решения. Это одно из достоинств системы, которую мы рассмотрим ниже
Это одно из достоинств системы, которую мы рассмотрим ниже.
Проекты Arduino для начинающих
Если посмотреть на все проекты ардуино, информация о которых доступна в интернете, то можно их разделить на несколько основных групп:
Начальные учебные проекты, не претендующие на какое-то важное практическое использование, но помогающие разобраться в разных аспектах платформы.
Мигающие светодиоды – маячок, мигалка, светофор и другие.
Проекты с датчиками: от простейших аналоговых до цифровых, использующих разнообразные протоколы для обмена данными.
Устройства регистрации и отображения информации.
Машины и устройства с сервоприводами и шаговыми двигателями.
Устройства с использованием различных беспроводных видов связи и GPS.
Проекты для автоматизации жилья – умные дома на Arduino, а также отдельные элементы управления домашней инфраструктурой.
Разнообразные автономные машины и роботы.
Проекты для исследования природы и автоматизации сельского хозяйства
Необычные и креативные – как правило, развлекательные проекты.
По каждой из этих групп можно найти множество самых разнообразных материалов в книгах и на сайтах. В этой статье мы начнем знакомство с описанием наиболее простых проектов, с которых рекомендуется стартовать начинающим.
Как создавать проект на ардуино
Проект Ардуино – это всегда сочетание электронной схемы, некоторых связанных друг с другом аппаратных и механических устройств, системы питания и программного обеспечения, управляющего всем этим хаосом. Поэтому приступая к работе, вы должны твердо понимать, что создавая устройство в одиночестве, вы должны будете стать и программистом, и электронщиком, и конструктором.
Если речь идет не об учебном проекте, то вы обязательно столкнетесь со следующими этапами реализации с такими вот задачами:
- Придумать что-то, что будет полезно и (или) интересно для окружающих. Даже самый простой проект несет какую-то пользу – как минимум, он помогает изучать новые технологии.
- Собрать схему, подключить модули друг к другу и к контроллеру.
- Написать скетч (программу) в специальной среде и загрузить ее в контроллер.
- Проверить, как все работает вместе, и исправить ошибки.
- После тестирования – готовиться к созданию готового устройства. Это означает, нужно собрать устройство в каком-то пригодном для эксплуатации корпусе, предусмотреть систему питания, связи с окружающей средой.
- Если вы собираетесь распространять созданные вами устройства, то придется также заняться дизайном, системой транспортировки, задуматься о безопасности использования необученными пользователями и обучением этих самых пользователей.
- Если ваше устройство работает, оно протестировано и обладает какими-то преимуществами перед другими решениями, то можно попытаться сделать из вашего инженерного уже бизнес-проект, попробовать привлечь инвестиции.
Каждый из этих этапов создания проекта достоин отдельной статьи
Но мы уделим главное внимание этапам сборки электронных схем (основы электроники) и программирования контроллера
Электронные схемы
Электронные схемы обычно собираются с применением макетных плат, скрепляющих элементы друг с другом без пайки и скрутки. О том, как работают модули и схемы подключения можно узнать на нашем сайте. Обычно в описании проекта указаны способы монтажа деталей. Но для большинства популярных модулей есть уже десятки готовых схем и примеров в интернете.
Программирование
Создание и прошивка скетчей производится в специальной программе – среде программирования. Наиболее популярной версией такой среды является Arduino IDE. На нашем сайте вы сможете найти информацию о том, как скачать, установить и настроить эту программу.