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

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

Основные возможности устройства

  1. Измерение основных параметров - температура, влажность, освещенность.
  2. Управление (включение/отключение) до 4 нагрузок, с помощью реле.
  3. Пользовательский интерфейс с возможностью работы по локальной сети или через интернет.

Преимущества проекта

  1. Автообновление и синхронизация данных. Это означает, что в любой момент  когда бы вы не подключились к устройству, вы сразу увидите актуальные значения измеряемых параметров, а также состояние ваших нагрузок (активны они или нет). Перезагружать страницу нет необходимости. Допускается одновременное подключение с множества устройств.
  2. Отсутствие необходимости скачивать стороннее ПО.
  3. Совместимость со всеми устройствами. Это означает, что вы можете подключиться к вашему контроллеру с ПК, планшета или смартфона на котором есть интернет браузер. Достаточно просто открыть веб-утилиту, доступную по ссылке, и ввести IP адрес вашего Arduino.

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

О том, как подлючится к вашему контроллеру через Интернет мы расскажем в следующих статьях. Сделать это можно будет несколькими способами, например с помощью "белого" IP, который можно заказать у вашего интернет-провайдера или с помощью VPN.

Веб-утилита доступна по ссылке


Нам понадобяться следующие компоненты

Что нужно сделать чтобы девайс у вас заработал

  1. Собрать схему.
  2. Скачать скетчь по ссылке ниже.
  3. Прописать в исходном коде скетча IP адрес вашего Arduino  UNO.
  4. Прошить ваш Arduino UNO.
  5. Открыть веб-утилиту по ссылке ниже.

Редактируем код прошивки

static byte mymac[] = { 0x74, 0x69, 0x69, 0x2D, 0x30, 0x31 }; // MAC адрес вашего Arduino (можно не редактировать)
static byte myip[] = { 192, 168, 1, 100 };                    // IP адрес вашего Arduino
static byte gwip[] = { 192, 168, 1, 1 };                      // IP адрес шлюза (роутера)

Принципиальная схема подключения модулей

Подключение четырехканального блока реле к Arduino UNO

Arduino UNO Блок реле
Pin 5V VCC
Pin GND GND
Pin 4 Реле 1
Pin 5 Реле 2
Pin 6 Реле 3
Pin 7 Реле 4

Подключение датчика DHT11 к Arduino UNO

Arduino UNO DHT11
Pin 5V VCC
Pin GND GND
Pin 2 DATA

Подключение датчика освещенности к Arduino UNO

Arduino UNO Датчик освещенности
Pin 5V VCC
Pin GND GND
Pin A0 DATA

Подключение модуля ENC28J60 к Arduino UNO

Arduino UNO ENC28J60
Pin 3.3V VCC
Pin GND GND
Pin 10 CS
Pin 11 SI
Pin 12 SO
Pin 13 SCK

Фотографии собранного устройства


Прошивка - WebDHTLightRelay.ino
Веб-утилита - ссылка