Умная розетка bluetooth управление android. Умная розетка с управлением по Bluetooth. Самая безопасная умная розетка - Redmond

Для Windows 28.06.2020
Для Windows

Умная розетка - один из самых полезных бытовых гаджетов, когда-либо обозреваемых нами. Она и сэкономить позволяет, и дом обезопасить, и удаленно управлять различными гаджетами - одним словом, еще одна «извилина» для вашего умного дома. Сегодня среди 1600 моделей мы выбрали для вас 4 умных GSM розетки с wi-fi-разъемом – выбирайте, что подойдет именно вам. Но для начала по традиции - ликбез.

Китайская компания Xiaomi не отстаёт от своих производителей-конкурентов, и презентовала умную розетку Xiaomi Mi Smart Power Plug. Отличительной чертой данной модели является её компактность, удобство использования и многофункциональность.

Управление розеткой от Xiaomi и, соответственно, подключённой в неё техникой возможно из любого места, где есть подключение к Интернету. Функция дистанционного управления удобна и безопасна, ведь теперь не нужно переживать за не выключенный свет или утюг. Необходимо лишь установить приложение Xiaomi Mi Smart Home, и произвести синхроницазию с мобильным устройством и сетью Wi-Fi. Приложение поддерживает платформы Android и iOS. Контролировать энергопотребление можно с помощью встроенной опции интеллектуального таймера, который позволяет настроить определённое время автоматического включения и выключения устройства.

Минималистичный дизайн умной розетки подойдёт в любой интерьер: небольшие размеры (63х55х35 мм) и белое глянцевое покрытие из прочного термопластика, который выдерживает температуру до 750°С. На панели расположены универсальные входы, в том числе и разъем USB. Синий световой индикатор говорит об успешном подключении.

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

Многофункциональная умная розетка – TP-Link Smart Plug

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

Настройка TP-Link Smart Plug за происходит с помощью специального ПО. В начале подключаем саму розетку к беспроводной сети, а дальше настраиваем со смартфона как душе угодно, благо интерфейс располагает.

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

Путаницы во время управления несколькими розетками не происходит- устройство сразу предлагает переименовать девайс и назначить уникальный значок, избегая типичных «room1/2/3». Составление расписания - самый простой и интуитивно-понятный интерфейс среди остальных моделей.

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

Отзыв реального покупателя Честно говоря и не знал что есть такие розетки, пока не увидел в интернет-магазине. Приобрел себе такую для теста, оказалось полезная вещь! Теперь думаю взять парочку таких.

Смарт-розетка - NooLite SRF-1-3000

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

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

Смарт-розетка по-истине универсальна, ведь она подходит для любого выхода с напряжением в 220 В. Управление гаджетом происходит при помощи пульта радио-управления и волн, которые, соответственно, принимаются системой nooLite находящейся в блоке розетки. Благодаря этому управлять светом можно находясь в соседних комнатах и даже вне жилища. Кроме того, розетка "умеет" запоминать сценарии использования иллюминации и повторять их снова и снова.

Умная розетка с жидкокристалическим экраном

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

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

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

Самая безопасная умная розетка - Redmond

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

Для предотвращения представленной проблемы стоит задуматься над покупкой REDMOND RSP-R1S - универсальной системы безопасности для дистанционного управления электропитанием.

Представленный гаджет подключается к стандартной розетке и предоставляет Вам целых четыре выхода под приборы, а именно классическая розетка, евророзетка, британский тип и, что очень удобно в эру смартфонов, USB интерфейс для зарядки. Также на устройстве находится датчик подключаемый к беспроводной сети Wi-Fi. Именно благодаря нему Вы сможете контролировать питание через интернет со своего смартфона из любой точки мира: работы, отпуска, прогулки и т.д.

Отзыв реального покупателя Очень круто что она управляется через WiFi. Для меня это был прямо таки шок! Я и в помине не видела таких девайсов. Теперь потихоньку привыкаю к цивилизации.

Умная розетка с поддержкой Apple HomeKit - Elgato Eve Energy

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

Гаджет поддерживает фирменную систему Apple HomeKit, которая позволяет по беспроводной системе Bluetooth 4.0 подключать к розетке все Ваши iOS-приборы и управлять ними как с помощью Вашего смартфона, так и при помощи фирменного голосового помощника Siri. Также девайс считывает метрику использования того или иного прибора, благодаря чему можно увидеть столь ценный расход электроэнергии и сделать ряд выводов. Корпус смарт-розетки изготовлен из высококачественного пластика не горящего даже при длительном нагревании.

Лучшая GSM розетка - ZDK GSM SC-1 White

Название умной розетки говорит о наличии GSM-модуля, который отвечает за дистанционное управление устройства. Кроме того, в панели розетки можно заметить слот для SIM карты. Таким образом, управление электропитанием возможно через SMS-команды или мобильное приложение.

Розетка пользуется спросом на рынке за счёт просты своего использования. Для активирования функции дистанционного управления необходимо вставить в слот SIM-карту любой мобильной сети, подключить розетку к электрической сети и затем подключить необходимые приборы. Всего 3 шага, и Ваш дом управляется на расстоянии. Стоит отметить, что мощность подключаемых приборов не должна превышать 2кВт. При своих небольших размерах (39х25х12 мм), внутри гаджета расположился аккумулятор, информирующий о сбоях электроэнергии.

Чаще всего розетку используют в качестве контроллера умного дома: управление бытовыми приборами, дверьми, воротами, камерами наблюдения, освещением и т.п.

Лучшая Wi-Fi розетка - Smart home Hommyn Wi-Fi (PL-20-W)

Розетка Smart home Hommyn Wi-Fi (PL-20-W) - это отличное дополнение умного дома. Функция подключения к сети Wi-Fi упрощает использование розетки: всего одно нажатие кнопки включения, и адаптер подключается к доступной Интернет сети. Всё предельно просто, а индикатор внизу устройства проинформирует о готовности начала работы. После успешного подключения, управлять умным гаджетом можно с помощью установленного на смартфон с операционной системой Android/iOSспециального приложения. Розетка работает от сети, мощностью 220В.

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

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

Сравнительная таблица умных розеток

Название

Основные характеристики

Цена

Протокол: IEEE 802.11b/g/n, тип беспроводной передачи: 2,4 ГГц, 1T1R, системные требования: Android 4.1 или выше, iOS 8 или выше.

Напряжение питания: 230В ± 10%, 50Гц, количество каналов нагрузки: 1, максимальная мощность нагрузки: 3000Вт.

Температурный диапазон5 °С до 30 °С, точность срабатывания+/-1° С, максимально допустимое напряжение230 В.

Redmond

В последнее время я протестировал (и разломал) несколько силовых розеток, управляемых по сети, в том числе WeMo фирмы Belkin и HS100 фирмы TP-Link. Обе управлялись по Wi-Fi. Теперь очередь дошла до устройства из линейки Avi-on фирмы GE (выпускаемого по лицензии компанией Jasco). В отличие от остальных, перечисленных мною, эта розетка основана на Bluetooth и содержит некоторые изюминки.

В каждом устройстве семейства Avi-on есть не только приемник, но и сетевой передатчик, который теоретически позволяет управлять любым предметом в вашем доме с помощью устройства, работающего под Android или iOS. (При условии, конечно, что они способны «видеть» друг друга). Предметом сегодняшнего изучения будет умная розетка BT4101, также довольно гибкая в настройках конфигурации. Вы можете задать ему расписание на 7 дней, настроить на включение в сумерках и выключение на рассвете (с автоматическими сезонными поправками), программировать обратный отсчет времени и заставить включаться и выключаться случайным образом для создания эффекта присутствия на время вашего отъезда.

Начну, как обычно, с фотографии упаковки.

Внутри вы найдете брошюру и руководство пользователя.

А это крупный план маркировки на задней стороне.

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

Вуаля, я не ошибся!

С такими шлицами винтов я раньше не сталкивался.

Но, как и всегда, мой набор iFixit с 64 битами с этой задачей справился.

При вывернутых винтах верхняя крышка сразу снимается, открывая доступ к внутренностям.

Первым попадается на глаза реле HF115FD компании Xiamen Hongfa Electroacoustic.

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

Выходная розетка, наоборот, свободно уложена прямо в корпус.

Вывернув еще три винта Philips, мы достанем сборку из двух печатных плат.

Основная печатная плата управляет оборудованием коммутации переменного тока; вот как она выглядит с задней стороны.

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

Ее соединение со второй платой, на которой размещены Bluetooth и другие цифровые схемы, кажется немного ненадежным.

Это полный вид передней стороны второй печатной платы. (Задняя сторона в основном пустая, за исключением нескольких паяных соединений).

А на этом крупном плане видна выпускаемая CSR (теперь Qualcomm) микросхема 1010 однокристального Bluetooth радио с интегрированным микропроцессором и памятью.

Я собрал части BT4101 обратно… и, как ни странно, все по-прежнему работало. Эту розетку я использовал для управления огнями новогодней елки.

Таймер, настраиваемый с помощью смартфона или планшета на ОС Android.
Связь и синхронизация таймера происходит по каналу Bluetooth, с помощью модуля установленного на таймере.
Можно настроить 100 событий по часам и дате.
На борту таймера установлено реле для управления внешней нагрузкой.
Питание от сети 220 вольт.

Руководство по подключению и применению
1.1 Подключение к таймеру.
Нажмите . В всплывающем меню нажмите пункт и в появившемся диалоговом окне нажмите поиск оборудования. Будет произведен поиск Bluetooth устройств, и результаты отображены в виде списка в двух диалогах. В верхнем список спаренных устройств. В нижнем все доступные не спаренные Bluetooth устройства.
Выберите устройство.
К спаренному устройству смартфон подключится автоматически.
Не спаренные устройства, запросят пароль для входа. (некоторые смартфоны уведомляют об этом сообщением в панели на верхней части экрана). Щелкните по этому сообщению или сдвиньте его вниз. Для первого соединения с таймером введите - 1999 (заводское значение пароля). После соединения и синхронизации данных на экран будет выведено сообщение об успешной инициализации. Обязательно дождитесь завершения инициализации прежде чем перейти к другим действиям.

1.2 Изменение пароля Bluetooth соединения.
1. Нажмите затем [изменить пароль].
2.Введите новый четырехзначный пароль.
3. Повторно введите новый пароль.
4. Нажмите [Изменить] Появится сообщение "Пароль, успешно изменен, для вступления в силу перезапустите устройство!"
5. Для перезапуска на таймере нажмите кнопку RST.

1.3 Включение и выключение.
Кнопкой в нижней части экрана смартфона можно включить или выключить таймер.

1.4 Установки таймера.
Таймер позволяет настроить 100 событий, которые могут выполнятся: один раз, ежедневно, еженедельно, в определенную дату.
1 В списке на главном экране можно увидеть весь список настроенных событий.
2. Для изменения настроек любого события щелкните по нему и вы попадете в панель установок.
3. Настройте время события.
4. Установите действие ВКЛ. / ВЫКЛ.
5. Установите день недели или дату события. Внимание! Из этих установок можно выбрать что-то одно: день недели или дату.
a. Установка дня недели: щелкните по недельной панели, в открывшемся интерфейсе установите галочку на требуемый день.
b. Установка даты: Щелкните по полю даты, в открывшемся интерфейсе установки даты, назначьте дату.
c. Удаление даты: Длительное нажатие на поле даты, откроет диалоговое окно с запросом на удаление установки даты. Нажмите .
6. Чтобы выйти из интерфейса установки нажмите "OK".

Дополнительная информация:
Кнопка "OK" для подтверждения установок находится в верхней части экрана справа. При нажатии на неё все установки вступают в силу.
Удалить событие можно длительным нажатием на него. После отпускания появится запрос на удаление. Нажмите .

Умная розетка на Arduino, что может быть проще. Основной целью данного проекта было разработать розетки с беспроводным управлением, а также «автоматизировать» вход в Windows. Мотивирующая составляющая – разобраться, что такое RFID–метки и как с ними работать. В итоге было разработано два устройства – деблокиратор, который считывает карточки и собственно умная розетка, которая принимает сигнал «включиться» от деблокиратора. Если я Вас заинтересовал прошу к прочтению.


К слову, деблокиратор в данном проекте умеет как читать RFID-метки, так и писать на них. Область применения умной розетки достаточно большая. С их помощью можно удаленно включать и отключать электрические устройства. Так же данный проект может быть использован как пример для создания более сложных устройств управления электрическими устройствами (об этом в заключении). Сначала, думаю, стоит показать проект в работе, а потом рассказать как все работает.


Из чего это сделано

Умная розетка

Вид изнутри:


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


Использованные компоненты:

  • Arduino Leonardo
  • АС-DС миниатюрный блок питания на 12В
  • Bluetooth-модуль
  • Обычная розетка на 220В, 2 штуки
  • Вилка 220В с проводом
  • Контактная площадка
  • Двухцветный светодиод для индикации работы
  • Площадка из ДСП для размещения компонентов

Подробнее о компонентах. Все комплектующие я разместил на площадке из ДСП размером 15 на 15 сантиметров.



Крепление всех комплектующих к площадке выполнено при помощи шурупов и предварительно просверленных в площадке отверстий. В качестве микроконтроллера я использовал именно Arduino Leonardo, так как эта плата в отличие от Uno, например, может выступать в роли USB-HID устройства. На фото Uno, но это фото, сделанное до появления идеи разблокировать Windows с помощью розетки. Leonardo нам нужен, чтобы сымитировать ввод пароля. Вместо Leonardo для этих целей можно было взять Arduino Due, Micro, Zero или Esplora.

Модуль реле

Что касаемо модуля реле, то он на два канала:



Коммутируемые токи до 10А при AC250V или DC30V. Имеется два управляющих пина на каждое реле и пины питания и земли. Важно отметить, что пины в данном модуле инверсные, то есть делая так:


digitalWrite(relay_pin, HIGH);

Вы размыкаете реле. Чтобы ток пошел, нужно подать на пин логический ноль.


О проводке. Для низковольтной части схемы я использовал обычные коннекторы из шлейфа DuPont. Для высоковольтной части я взял алюминиевые провода сечением 2 мм. Будьте очень осторожны и внимательны при монтаже высоковольтных проводов!


О блоке питания. Я использовал блок питания для светодиодных лент, выходные параметры которого 12В, 0,4 А - достаточно и не много для Arduino. Зачем он нужен? Нужен для того, чтобы низковольтная часть схемы использовало то же напряжение, которое идет на наши розетки. Плюс от блока питания подается на Vin вход Arduino, минус - на Gnd. На заметку: вполне безопасно подключать USB-кабель одновременно с подключенным блоком питания на Vin.

Bluetooth-модуль

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



Слейвом у меня является модуль, установленный в умную розетку, мастером - модуль в деблокираторе. Таким образом, деблокиратор всегда является инициатором подключения. Данные модули можно сконфигурировать так, чтобы при включении они соединялись автоматически. Так я и сделал. Конфигурирование данного bluetooth-модуля выполняется путем отправки ему AT-команд. Для того, чтобы модуль мог принимать AT-команды его нужно перевести в AT-режим. Модуль, который попался мне (FC-114) имеет на борту кнопку (см. фото). Если ее зажать при включении модуль войдет в AT-режим. Согласитесь, неудобно. При таком подходе я не смогу динамически подключиться к какому-либо неизвестному до этого модулю. Было бы хорошо, чтобы можно было подать на какой-либо пин модуля логическую единицу и таким образом войти в AT-режим. Так и сделано во многих модулях, но не в FC-114. Такой пин имеет номер 34 в моем модуле и для того, чтобы в будущем, если понадобится подключаться к bluetooth-модулям динамически, я припаял к пину 34 модуля провод, который можно подключить к пину Arduino.



Теперь о командах для соединения двух bluettoth-модулей HC-05. В режиме слейв каждый модуль HC-05 работает "из коробки". Нужно лишь узнать его MAC-адрес, который мы будем использовать при конфигурировании мастера. Делать это будем при помощи AT-команд, о которых я упоминал выше. Для начала необходимо подключить пин RX bluetooth-модуля к пину 0 Arduino (тоже RX), пин TX соответственно к пину 1 Arduino. Обратите внимание, что здесь соединение не кроссовер, потому что мы используем UART Arduino. Далее необходимо залить на Arduino пустой скетч, так как опять таки мы используем UART Arduino.


void setup() { } void loop() { }

Далее, перед включением питания, как я упоминал выше, необходимо зажать маленькую кнопку на bluetooth-модуле, чтобы войти в AT-режим. После этого, используя стандартную IDE (Tools -> Serial Monitor). Также, открыв Serial Monitor, необходимо установить скорость передачи данных (baud rate) равную 38400 и установить подстановку символов \r\n после каждой команды (Both NL & CR). Проверить, что все подключено верно и работает, можно путем ввода "AT". В ответ мы должны получить "OK". Далее можно написать команду "AT+NAME?". В ответ мы должны получить название bluetooth-модуля. На данный момент мы работает со слейв-устройством, поэтому все, что нам нужно, это узнать его MAC-адрес и убедиться, что оно работает в режиме "Slave", а не "Master". Для этого вводим две команды:


AT+ROLE?

Если мы получили 0 - значит, что устройство работает в режиме "Slave", 1 - "Master". Чтобы изменить это значение, команда отправляется таким образом:


AT+ROLE=0 - изменить режим работы на "Slave":

Теперь узнаем MAC-адрес Slave"а, чтобы Master знал, к кому ему нужно подключаться. Вводим команду:


AT+ADDR?

Например, ответ был такой: "ADDR:20:2:110001". Это означает, что MAC-адрес нашего Slave"а 20:2:110001.



На этом работа со Slave"ом закончена. Переходим к конфигурированию Master"а. Таким же образом подключаем его к Arduino и заливаем пустой скетч, открываем Serial Monitor, ставим скорость передачи 38400, и подстановку /r/n. Далее вводим команды по порядку.


AT+ORGL AT+RMAAD AT+ROLE=1 AT+CMODE=1 AT+INIT AT+INQ AT+LINK=MAC-адрес (пример: 20,2,110001)

Итак, подробнее о каждой команде. Команда ORGL полностью сбрасывает устройство, а команда RMAAD удаляет все предыдущие "пары" с другими Slave-устройствами. Команда ROLE, как говорилось выше, имея аргумент 1 означает, что мы хотим, чтобы устройство работало в режиме Master. Команда CMODE с аргументом 1 (по умолчанию равен 0) означает, что наше Master-устройство может подключаться к Slave-устройству с любым адресом (можно задать определенный). Команда INIT запускает библиотеку SPP (Serial Port Profile), нужную для передачи/получения информации. Емкое высказывание зачем она нужна: "В то время как спецификация Bluetooth описывает как работает эта технология, профили определяет то, как с этой технологией работать". Вы можете получить ошибку 17 на данном шаге. Это означает, что библиотека уже запущена, просто продолжайте. Команда INQ означает, что наше Master-устройство начинает поиск Slave-устройств. Вывод данной команды - это список MAC-адресов найденных устройств. Например:


+INQ:address,type,signal 20:2:110001,0,7FFF

Сигнал и тип можно проигнорировать. Находим MAC-адрес нашего Slave"а и следующей командой LINK соединяем Master-устройство со Slave"ом. Обратите внимание, что здесь двоеточия в MAC-адресе заменяются на запятые. После этого Ваши bluetooth-устройства должны начать моргать два раза в ~2 секунды. Это означает, что они соединены. До этого они моргали достаточно часто (два раза в секунду) - это значит, что они в поиске "пары".


Полный список AT-команд:


Деблокиратор

Вид изнутри:


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


Использованные компоненты:

  • Arduino Uno
  • Bluetooth-модуль
  • RFID - сенсор
  • LCD - модуль
  • Тумблер для переключения режима
  • Пьезоэлемент

Подробнее о компонентах.

LCD - модуль

В рамках данного проекта был использован LCD-модуль 1620. Данный дисплей способен отобразить 2 строки по 16 символов каждая. Модуль подключается к микроконтроллеру Arduino через интерфейс I2C. I2C – последовательная шина данных для связи интегральных схем, использующая две двунаправленные линии связи (SDA и SCL). Данные передаются по двум проводам - проводу данных и проводу тактов. Есть ведущий (master) и ведомый (slave), такты генерирует master, ведомый лишь принимает байты. Всего на одной двухпроводной шине может быть до 127 устройств. I2C использует две двунаправленные линии, подтянутые к напряжению питания и управляемые через открытый коллектор или открытый сток – последовательная линия данных (SDA, англ. Serial Dаta) и последовательная линия тактирования (SCL, англ. Serial Clock). В скетче для работы с данным модулем используется библиотека LiquidCrystal_I2С. С ее помощью выводить данные на дисплей предельно просто. Данный пример кода выводит две символьные строки на две строки дисплея.


void lcd_display_two_lines(const char* first_line, const char* second_line) { g_lcd.clear(); g_lcd.setCursor(0, 0); // Установить курсор в начало первой строки g_lcd.print(first_line); g_lcd.setCursor(0, 1); // Установить курсор в начало второй строки g_lcd.print(second_line); }

RFID - модуль


С этим модулем и с технологией RFID в целом было особенно интересно разобраться. В рамках данного проекта был использован RFID-модуль RC-522, который работает с картами стандарта HF, в частности MIFARE с частотой 13,56 МГц. Данный модуль подключается к микроконтроллеру Arduino через интерфейс SPI. SPI – последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии. В SPI используются четыре цифровых сигнала:

  • MOSI – Служит для передачи данных от ведущего устройства ведомому;
  • MISO – Служит для передачи данных от ведомого устройства ведущему;
  • SCK – Служит для передачи тактового сигнала для ведомых устройств;
  • NSS – выбор микросхемы, выбор ведомого

RFID-модуль выступает в качестве ведомого, а микроконтроллер – в качестве ведущего.

Структура памяти RFID-карт MIFARE Classic

Память чипов MIFARE Classic имеет четкую структуру (в отличие от MIFARE DESFIre, имеющего более сложную, файловую организацию памяти). Память MIFARE 1K и MIFARE 4K разделена на сектора, 16 секторов у MIFARE 1K и 40 секторов у MIfare 4K. Каждый сектор MIFARE 1K и первые 32 сектора MIFARE 4K состоят из трех блоков данных и одного блока для хранения ключей (Sector Trailer). Последние 8 секторов MIFARE 4K состоят из 15 блоков данных и одного (16-го) блока хранения ключей. Блоки данных доступны для чтения/записи при условии успешной авторизации по ключу.


О "служебном" блоке. Блок Sector Trailer хранит секретные значения ключей (А и В) для доступа к соответствующему сектору, а также условие доступа (определяемое значением битов доступа). Блок Sector Trailer всегда последний (четвертый) блок в секторе. Каждый сектор MIFARE Classic может иметь свои собственные ключи доступа и условия записи/чтения данных.


О блоках данных. Каждый блок данных состоит из 16 байт, доступных для записи/чтения (кроме блока 0 сектора 0, где хранится не стираемая информация завода-изготовителя). Запись/чтение данных производится по ключу и битам доступа. Блоки данных могут быть сконфигурированы как блоки для обычной записи/чтения, или как блоки хранения условных единиц (функция электронного кошелька). В обычные блоки данных можно записывать любую информацию (цифры, символы и т.п.). Если блок данных сконфигурирован как блок для хранения условных единиц, то работа с таким блоком происходит по командам increment/decrement. То есть числовое значение, хранящееся в таком блоке, можно только увеличивать и уменьшать.


О правилах доступа. Ко всем секторам карты MIFARE Classic доступ осуществляется по единым правилам. Доступ к тому или иному сектору производится с помощью ключей (Ключ А и Ключ В). С помощью Access Condition (условие доступа в Sector Trailer) задаются условия записи и чтения данных из каждого сектора с использованием одного ключа (А или В) или обоих ключей А и В одновременно. Например, при пользовании клиентами карт MIFARE можно реализовать чтение (только чтение) данных из блока по ключу А, в то время как системный администратор может читать и писать данные к память MIFARE, используя ключ В. В четвертом блоке каждого сектора (Sector Trailer) для обеспечения такого разграничения доступа используются три бита (access bits) C1, C2 и С3. С помощью этих битов можно задать восемь различных режимов доступа к сектору MIFARE. Бит C1 считается младшим значащим битом (LSB).


О том, как я использовал память RFID-меток. В рамках проекта используется два режима: основной – чтение RFID – карты и включение розетки, дополнительный – программирование RFID – карты. Для авторизации RFID – карты деблокиратором на нее записывается секретный ключ длиной в 128 байт. 128 байт = 8 блоков по 16 байт. 3 блока пишутся в сектор 1, 3 блока в сектор 2 и, наконец, 2 оставшихся блока в сектор 3. Для чтения необходима аутентификация по ключу А, для записи – по ключу B, которых находятся в trailer блоке. Длина ключа в 128 байт была выбрана без каких-либо принципов, можно было использоваться хоть всю память карты. Ключ - случайный набор символов, который находится в коде прошивки и деблокиратора, и умной розетки. Такое решение сверх-безопасностью явно не обладает, но в рамках проекта задачи обеспечить защищенную систему не стояло. Об этом также в заключении.

Подключение тумблера


Как мне кажется, имеет смысл также отметить подключение тумблера к Arduino. Тумблер в деблокираторе используется для переключения режима работы. В первом режиме устройство считывает RFID-карты и если в нужных блоках памяти карты записан секретный ключ, о котором говорилось выше, посылает по bluetooth сигнал "Включить розетки и разблокировать Windows" на умную розетку. Во втором режиме, деблокиратор записывает на RFID-карту секретный ключ. Перед записью он карту считывает: если на ней уже записан правильный секретный ключ, он очищает нужные блоки памяти путем записи нулей. Согласитесь, странно снабжать деблокиратор и функцией чтения, и функцией записи RFID-карт. О том почему так - в заключении.


При подключении тумблеров, кнопок, переключателей имеет место "дребезг контактов" - явление, при котором вместо четкого и стабильного переключения мы получаем случайные многократные неконтролируемые замыкания и размыкания контактов. Другими словами, контакты при соприкосновении начинают колебаться (т.е. «дребезжать»), порождая множество срабатываний вместо одного. Соответственно, микроконтроллер «поймает» все эти нажатия, потому что дребезг не отличим от настоящего нажатия на кнопку.



Для подавления "дребезга" я использовал подтягивающий резистор емкостью 20 кОм, встроенный в Arduino. Он осуществляет подтягивание к логической единице. Так как у тумблера оба положения - ON, подтягивание к логической единице - то, что нужно. Используется он таким образом:


pinMode(pin_number, INPUT); // Подключаем пин на вход pinMode(pin_number, INPUT_PULLUP); // Подтягивание входа к питанию

Заключение

Итак, у меня получилось два устройства, одно из них принимает сигналы по bluetooth и активирует розетки, а также разблокирует Windows на присоединенном компьютере, а другое - эти сигналы отправляет после успешной валидации по RFID-метке. Однако, как я уже говорил, было странным делать и запись, и чтение в одном устройстве, без какой-либо защиты. Я сделал так лишь потому, что хотел пойти дальше считывания ID RFID-карты и сравнения его с захардкоженым значением, а попробовать поработать с ее памятью, для чего она собственно предназначена. Таким образом, теперь я знаю как записать любую информацию на RFID-карту, как ее считать, как сделать карту Read Only и т.п. Получилась система для домашнего использования. Так и получается, я использую свой девайс дома, умная розетка подключена к компьютеру, в нее подсоединены колонки и зарядное для телефона. Деблокиратор стоит на входе комнаты. Не скажу, что это девайс, без которого я не могу жить, но идеи реального практического применения у него есть. Одна из них вполне осуществима и будет реализована.


Планируется сделать систему контроля доступа к рабочему месту студента в аудитории с компьютерами. Забегая вперед, скажу, что в качестве студенческого билета в нашем университете используется RFID-карта MIFARE 1K. Предположим, что у нас есть небольшая аудитория на 6 компьютеров, другими словами на 6 рабочих мест.


Сперва мы "клонируем" умную розетку - делаем еще 5 таких устройств, чтобы помимо использования компьютера, студент мог подключить свой ноутбук/паяльник/телефон к розетке. Тут нам и пригодится динамическое соединение Master-устройства bluetooth со Slave-устройством, о котором я говорил, рассказывая про bluetooth-модуль. Больше каким-либо образом модифицировать умную розетку не придется. Единственное, придется поискать решение, чтобы нельзя было перепрограммировать микроконтроллер Arduino, присоединенный к компьютеру через USB-кабель.


Теперь стоит сказать об изменениях в деблокираторе. Его мы лишаем функции записи, оставляя возможность только считывать RFID-карты. Если бы мы использовали самодельные RFID-карты, то понадобилось еще сделать устройство для записи RFID-карт. Так как планируется использовать уже готовые студенческие билеты с готовой записанной информацией, данное устройство в рамках будущего проекта не требуется, но в случае использования своих, "кастомных" карт его создание было бы очень простым с учетом проделанной работы над этим проектом. Также, деблокиратор необходимо будет оснастить Ethernet- или WiFi-модулем, для возможности осуществлять запросы на management-сервер. Какой и зачем, спросите вы? Чтобы сделать систему более гибкой и удобной, перед тем как придти поработать в аудиторию, студенту необходимо "забронировать" себе место с помощью данного веб-сайта. Деблокиратор при проверке RFID-карты студента будет обращаться на данный сервер для проверки бронирования (и еще чего-нибудь, если хочется). Остается подумать, как реализовать перепроверку присутствия студента (ушел и не приложил карту) и удобный способ информирования об окончании "рабочего" времени.

Умная розетка на Arduino, что может быть проще. Статья о проекте Arduino умной розетки с управлением со смартфона по Bluetooth. Управление реализовано с использованием сервиса RemoteXY. Две розетки, раздельно управляемые со смартфона, размещены на одной платформе со всей необходимой электроникой. Область применения умной розетки достаточно большая. Вы сможете удаленно включать и отключать электрические устройства. Так же данный проект может быть использован как пример для создания более сложных устройств управления электрическими устройствами.

Для реализации проекта мы использовали следующие комплектующие:

  • Arduino UNO или совместимая плата.
  • Релейный модуль 2 канала с питанием 5В.
  • AC-DC миниатюрный блок питания 12В, 0.15A.
  • Bluetooth модуль HC-05.
  • Розетка 220В 2 шт. (внешняя установка)
  • Вилка 220В с проводом.
  • Контрактная площадка.

Все комплектующие мы разместили на платформе из плиты ДСП размером 155x135 мм. Крепление всех комплектующих к платформе выполнено при помощи шурупов и предварительно просверленных в платформе отверстий. Вариант размещения комплектующих вы можете посмотреть на рисунке. Плата Arduino размещена таким образом, что бы иметь легкий доступ к USB разъему для программирования.

На рисунке изображена схема соединения комплектующих. Модуль Bluetooth подсоединен к пинам 2 и 3 Arduino. Для управления реле использованы пины 4 и 5. Вся схема питается от сети 220В через блок питания - миниатюрный AC-DC преобразователь на напряжение 12В. Это напряжение подается на Arduino через пин Vin.

Все высоковольтные соединения выполнены алюминиевым проводом диаметром проводника 1.2 мм. Для соединения высоковольтных проводов использована контактная площадка. Будьте очень осторожны и внимательны при монтаже высоковольтных проводов!

Программное обеспечение

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

Сформируйте исходный код проекта и загрузите его в Arduino. Исходный код приведен ниже.


// RemoteXY include library //
// use ANDROID app version 3.1.1 or up //
/////////////////////////////////////////////

/* определение режима соединения и подключение библиотеки RemoteXY */
#define REMOTEXY_MODE__SOFTWARESERIAL
#include
#include

/* настройки соединения */
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 3
#define REMOTEXY_SERIAL_SPEED 9600

/* конфигурация интерфейса */
unsigned char RemoteXY_CONF =
{ 2,0,30,0,2,5,2,0,6,2
,88,29,1,79,78,0,79,70,70,0
,2,0,6,33,88,29,6,79,78,0
,79,70,70,0 };

/* структура определяет все переменные вашего интерфейса управления */
struct {

/* input variable */
unsigned char switch_1; /* =1 если переключатель включен и =0 если отключен */
unsigned char switch_2; /* =1 если переключатель включен и =0 если отключен */

/* other variable */
unsigned char connect_flag; /* =1 if wire connected, else =0 */

/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////

#define PIN_SWITCH_1 4
#define PIN_SWITCH_2 5

Void setup()
{
RemoteXY_Init ();

PinMode (PIN_SWITCH_1, OUTPUT);
pinMode (PIN_SWITCH_2, OUTPUT);

// TODO you setup code

Void loop()
{
RemoteXY_Handler ();

DigitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH);

// TODO you loop code
// используйте структуру RemoteXY для передачи данных

Теперь вы можете при помощи



Рекомендуем почитать

Наверх