Оглавление:
Видео: Wi-Fi к RF - дверной замок: 3 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Обзор
Это руководство даст вам возможность заблокировать / разблокировать входную дверь с помощью программного обеспечения для домашней автоматизации (например, OpenHAB - бесплатное программное обеспечение для домашней автоматизации, которое я использую лично). На изображении выше показан образец снимка экрана приложения OpenHAB для iPhone. В качестве альтернативы вы можете использовать обмен сообщениями MQTT, как описано ниже, практически в любой системе, какой захотите.
Предположения
Это руководство предполагает, что у вас уже есть (или будет настроено):
- OpenHAB (бесплатное программное обеспечение для домашней автоматизации с открытым исходным кодом) работает, хотя, как уже упоминалось, он должен работать с любым программным обеспечением для домашней автоматизации, которое может включать привязку MQTT. Кроме того, вы можете изменить код самостоятельно в соответствии со своими потребностями.
- Привязка Mosquitto MQTT установлена и настроена с помощью OpenHAB (MQTT - это легкий протокол подписки / публикации для обмена сообщениями, который отлично подходит для связи между устройствами)
- То, что вы уже установили блокировку клавиатуры входной двери на основе RF, которая поставляется с хотя бы одним пультом дистанционного управления с брелоком (в большинстве случаев). Их можно купить относительно дешево на Amazon (примерно ~ 60 долларов США, хотя батарей в этой модели хватает только на ~ 4). месяцев, так что посмотрите, сможете ли вы предоставить DC, который питает замок, или потратите немного больше на приличную модель:-))
Если вы не используете OpenHAB и брокер MQTT, прочтите эту отличную статью на веб-сайте MakeUseOf.
Вступление
Этот проект специально показывает вам, как использовать RF-дверной замок KEY FOB, чтобы быть значительно более полезным, преобразовав его для работы по беспроводной сети, что дает вам возможность заблокировать или разблокировать дверь через систему домашней автоматизации, веб-браузер, ваш телефон (через приложение OpenHAB) или даже запланировать его автоматическую блокировку на ночь с помощью правил в программном обеспечении домашней автоматизации. Для этого проекта я купил на Amazon «замок входной двери с клавиатурой на базе Mi RF» примерно за 60 долларов США *.
(* РЕДАКТИРОВАТЬ: батарейки в дверных замках этой конкретной марки не работают так долго! Я использовал их всего 3-4 месяца, прежде чем мне пришлось менять батарейки, что стало довольно неприятно. С тех пор я заменил этот блок для электронного дверного замка под маркой Windsor, батареи которого служат до 2 лет. В качестве альтернативы, хотя это требует гораздо больше работы, рассмотрите возможность подачи постоянного тока через сердечник вашей двери к замку)
Для этого они предоставляют дверной замок с РЧ (радиочастотным) управлением со встроенной клавиатурой и брелок для дистанционного запирания / отпирания. Однако при использовании RF брелок должен находиться в зоне действия дверного замка. В этом проекте брелок будет использоваться путем интеграции его с Wemos (плата IOT с микросхемой ESP8266) для выполнения блокировки / разблокировки по беспроводной сети, поэтому им можно будет управлять из любого места, где есть подключение к Интернету.
Что мне нужно?
Во-первых, приобретите и установите блокировку клавиатуры на основе RF. Убедитесь, что в комплекте идет брелок! Перед запуском проверьте брелок и убедитесь, что, нажимая кнопки, он блокирует или разблокирует дверь. Большинство этих дверных замков должны быть основаны на стандартных размерах дверей и смещениях замков, поэтому, если у вас уже есть засов (как у меня), его замена будет исключительно простой.
Чтобы создать беспроводной контроллер, вам нужно будет получить следующие детали:
- Wemos D1 mini V2 (имеет встроенный беспроводной ЧИП ESP8266) или только ЧИП ESP8266 (я не рекомендую версию ESP-01 для этого проекта, так как вывод GPIO 0 должен удерживаться на высоком уровне при включении питания, чтобы чтобы он загружался с флэш-памяти, однако это приведет к срабатыванию дверного замка при включении ESP8266, что потенциально может разблокировать вашу входную дверь! Хотя есть обходные пути, которые мы можем сделать для этого, например, используя таймеры или транзисторы и т. д., по невысокой цене Wemos и меньшее количество компонентов, мы будем стремиться к более простому подходу)
- Источник питания 5 В постоянного тока для питания Wemos и брелока (батареи больше не требуются). Если вы запитываете Wemos с помощью вывода VCC 5 В (а не порта USB), а источник питания постоянного тока превышает 5 В, вы будете также нужен стабилизатор напряжения 5 В (например, LM7805) плюс 2 конденсатора, 10 В 0,33 мкФ и 10 В 0,1 мкФ или аналогичные по размеру (согласно таблице данных LM7805)
-
Два 2N7000 или подобных полевых МОП-транзистора (они будут использоваться для переключения брелока, один для блокировки, другой для разблокировки. 2N7000 - это очень распространенный и очень дешевый N-канальный полевой МОП-транзистор, поэтому его очень легко найти)
- Два резистора 10 кОм (они будут использоваться в качестве понижающих резисторов для каждого из полевых МОП-транзисторов, чтобы блокировка / разблокировка дверцы не срабатывала при включении питания!)
- В зависимости от вашего брелока вам также может потребоваться подключить другой конденсатор (например, 10 В 220 мкФ или аналогичный по размеру), чтобы повысить мощность брелока. См. Причины почему позже в этой статье.
- Необходимые инструменты: бокорезы, одножильный провод, паяльник, флюс и, возможно, мультиметр.
В самом брелоке обычно используются 2 батареи по 3 В, соединенные последовательно (6 В постоянного тока). Таким образом, использование источника питания 5 В с конденсатором является достаточным напряжением как для питания Wemos, так и для запуска блокировки / разблокировки.
Если у вас есть брелок, который работает от одной батареи 3 В, тогда вы сможете добавить в свою схему стабилизатор напряжения 3,3 В, чтобы падение напряжения было близко к требуемому 3 В. Батарея 3 В на самом деле выдает около 3,1 В, и большинство цепей имеют какой-то более высокий допуск по напряжению, поэтому в этом случае от 3,1 до 3,3 В составляет + 6%. Добавьте к этому тот факт, что Wemos потребляет ток, поэтому напряжение, вероятно, будет еще меньше. В случае сомнений измерьте с помощью мультиметра и, если возможно, уточните у поставщика замка максимальное напряжение (или максимальное отклонение), которое может принять брелок, так как я не несу ответственности, если ваш брелок перестанет работать! Наконец, в качестве альтернативного решения установите вместо него схему делителя напряжения.
Шаг 1: Сборка
Пайка
Сборка компонентов очень проста. Во-первых, откройте брелок - снимите батареи и корпус, так как внутри вам нужна только печатная плата. Далее припаиваем по проволоке с каждой стороны ножек кнопки брелока. Сделайте это как для кнопки «заблокировать», так и для кнопки «разблокировать». Затем переверните брелок и припаяйте провод к контактным площадкам + и - на задней стороне брелока, как показано на изображениях. Чем больше площадка +, тем меньше -
Примечание. Источник питания 5 В питает как Wemos, так и брелок, поэтому батареи для брелока больше не требуются.
сборка
Подайте 5 В постоянного тока и заземление на Wemos и добавьте полевые МОП-транзисторы и резисторы на макетную плату, как показано на рисунке. Резисторы на 10 кОм должны идти от GND к затвору (центральному контакту) полевых МОП-транзисторов. Это подтянет напряжение к земле, остановив срабатывание полевых МОП-транзисторов при включении питания.
Затем проложите провод от D1 на Wemos к затвору первого полевого МОП-транзистора и от D2 на Wemos к затвору второго полевого МОП-транзистора. D1 и D2 являются выводами GPIO (ввод / вывод общего назначения), которые обозначены в коде как выводы OUTPUT.
Наконец, подключите провода брелока к макетной плате, Vcc к шине 5 В, GND к GND, затем провод с отрицательной стороны кнопки к стороне истока каждого MOSFET и положительной стороны кнопки к стороне стока каждого MOSFET. как показано на изображении (используйте мультиметр, если не уверены в полярности)
(РЕДАКТИРОВАТЬ: у нового дверного замка Windsor, о котором я упоминал ранее, есть брелок, который потребляет немного больше напряжения, чем старый брелок. Это привело к тому, что Wemos фактически перестал реагировать из-за падения напряжения на нем, когда дверь была заблокирована / разблокирована. Если вы столкнетесь с той же проблемой, а затем исправить провод в конденсаторе 220 мкФ (или аналогичном) непосредственно перед проводкой +/-, которая выходит на брелок. Конденсатор будет заряжаться и при срабатывании срабатывает, разряжать конденсатор, а не прямое питание постоянного тока)
Теперь подключите кабель USB к Wemos, а другой конец кабеля - к компьютеру.
(Код выводит вывод D1 «HIGH», запускает MOSFET для включения, позволяя напряжению перемещаться от стока к источнику, и, следовательно, «включает» кнопку на 1 секунду, прежде чем снова перевести выходной контакт «LOW» и выключить его. По сути, это просто имитация нажатия клавиши с помощью кода)
IDE Arduino
Запустите IDE Arduino. Загрузите и откройте код (альтернативная ссылка ЗДЕСЬ). Убедитесь, что дополнительные платы включены в IDE, см. Здесь, как настроить. Затем вам нужно будет убедиться, что для вашего проекта установлена и загружена правильная плата (Tools, Boards, Board Manager - найдите «esp8266» и установите), а также правильный выбранный COM-порт (Tools, Port, COM…). Вам также потребуются установленные соответствующие библиотеки PubSubClient и ESP8266Wifi (Sketch, Manage Libraries, Include Library…)
Затем измените следующие строки кода и замените их собственным SSID и паролем для беспроводного подключения. Кроме того, измените IP-адрес, чтобы он указывал на вашего собственного брокера MQTT. Если у вас не установлен брокер MQTT, я рекомендую использовать Mosquitto. Загрузите для Windows или Linux здесь.
// Wificonst char * ssid = "your_wifi_ssid_here"; const char * password = "your_wifi_password_here"; // IP-адрес брокера MQTT MQTT_SERVER (192, 168, 222, 254);
После изменения проверьте свой код, затем загрузите его на плату Wemos / ESP8266 через USB-кабель.
Шаг 2: Тестирование и настройка OpenHAB
Тестирование MQTT
MQTT - это система обмена сообщениями «подписка / публикация». Одно или несколько устройств могут общаться с «брокером MQTT» и «подписываться» на определенную тему. Любые входящие сообщения от любого другого устройства, которые «опубликованы» в той же теме, будут отправлены брокером на любое другое устройство, которое подписалось на эту тему. Это чрезвычайно легкий и простой в использовании протокол, который идеально подходит в качестве простой системы запуска, такой как здесь. См. Блок-схему, чтобы получить общее представление о том, как это работает.
Для тестирования вы можете просматривать входящие сообщения MQTT от Wemos к вашему MQTT-брокеру, выполнив следующую команду на вашем сервере Mosquitto (Mosquitto - одно из многих доступных программ MQTT Broker). Эта команда подписывается на входящие сообщения keepalive:
mosquitto_sub -v -t openhab / входная дверь / статус
Вы должны видеть входящие сообщения, приходящие из Wemos каждые 30 секунд или около того с цифрой «1» (что означает «Я жив»). Если вы видите постоянные «0» (или отсутствие ответа), то связи нет. Как только вы видите число 1, это означает, что Wemos обменивается данными с брокером MQTT (выполните поиск по запросу «MQTT Last Will and Testament» для получения дополнительной информации о том, как это работает, или посмотрите эту действительно хорошую запись в блоге)
После того, как вы убедились, что связь работает, вы можете отслеживать фактическое «триггерное» сообщение (блокировка / разблокировка). Сначала подпишитесь на следующую тему.
mosquitto_sub -v -t openhab / входная дверь / триггер
Теперь откройте второе окно командной строки и выполните следующую команду публикации, отправив теме сообщение «LOCK» или «UNLOCK». Вы должны увидеть соответствующее сообщение в первом окне, вы также должны увидеть мигание красного светодиода на брелоке и блокировку или разблокировку дверного механизма по мере необходимости.
mosquitto_pub -t openhab / входная дверь / триггер -m LOCK
(-t означает «тема», -m означает «сообщение», -v означает «подробный» вывод)
Примечание: если дверь разблокируется, когда вы отправляете блокировку, или блокирует, когда вы отправляете команду разблокировки, просто поменяйте провода D1 и D2 вокруг
Конфигурация OpenHAB
В OpenHAB требуются следующие изменения:
файл 'items':
Переключатель frontdoorTrigger "Front Door" (gDoors) {mqtt = "> [mqttbroker: openhab / frontdoor / trigger: command: ON: LOCK],> [mqttbroker: openhab / frontdoor / trigger: command: OFF: UNLOCK]"} Номер frontdoorStatus "Входная дверь [MAP (status.map):% d]" (gDoors) {mqtt = "<[mqttbroker: openhab / frontdoor / status: state: default]"}
файл sitemap:
Switch item = frontdoorTrigger mappings = [ON = "Lock", OFF = "Unlock"] Текстовый элемент = frontdoorStatus
Файл 'status.map' (в папке преобразования):
0 = Вниз 1 = Жив- = неизвестно
Возможно, вам потребуется немного изменить приведенную выше конфигурацию OpenHAB, чтобы она соответствовала вашим настройкам, например, часть «mqttbroker:», которая относится к вашему настроенному имени брокера MQTT.
На последнем изображении показаны компоненты на печатной плате. В этом случае, поскольку я использую источник питания постоянного тока с напряжением> 5 В (в моем случае 9 В), плата также включает в себя стабилизатор напряжения LM7805, а также конденсатор 0,33 мкФ для питания на стороне и конденсатор 0,1 мкФ на стороне внешнего питания. чтобы помочь сгладить и стабилизировать напряжение. В остальном остальные подключения такие же, как описано ранее.
Исправление проблем
- Если у вас есть проблемы, когда Wemos постоянно блокирует или разблокирует дверь (например: отправляет радиочастотный сигнал, а светодиодный индикатор брелока остается включенным), проверьте ваши VCC и GND провода к Wemos. Скорее всего, один или оба из них не подключены должным образом.
Шаг 3: припаяйте компоненты к печатной плате
В итоге я припаял все компоненты к печатной плате, просто используя провода и / или паяные дорожки, чтобы соединить все компоненты. Затем я взял старую стенную бородавку постоянного тока и отрезал от нее провод немного короче, а затем протянул его к блоку разъемов, который я припаял к печатной плате. Затем питание поступает на стабилизатор напряжения 5 В / конденсаторы и необходимые компоненты. Я просто приклеил заднюю часть печатной платы к стенной бородавке и подключил ее к розетке в одном из своих шкафов. Он работает уже около 9 месяцев без каких-либо проблем!
Рекомендуемые:
Умный центральный замок: 6 шагов (с изображениями)
Умный центральный замок: это здорово, когда у вас есть возможность управлять вещами удаленно. Умное устройство центрального замка для мотоцикла (велосипеда). с помощью этого устройства вы можете управлять замком зажигания вашего велосипеда. вы можете заблокировать / разблокировать его удаленно. Также можно заводить и останавливать двигатель
Программируемый замок безопасности с использованием Arduino: 4 шага
Программируемый замок безопасности с использованием Arduino: это мой первый блог. Я представляю здесь программируемый замок безопасности (PSL) на базе Arduino для блокировки электронных устройств. Цепь PSL используется для включения / активации / разблокировки устройства переменного / постоянного тока от внешнего источника питания на основе пароля
Как взломать замок: 3 шага
Как взломать замок: в этом руководстве я покажу вам, как отмывать основной замок. Пожалуйста, не используйте эти знания для чего-либо незаконного. Если вам нравится это руководство, пожалуйста, дайте мне голос
Портативный замок: портативный замок: 5 шагов
Porto-lock: Portable Lock: Привет всем, поэтому, когда дело дошло до этого проекта, я хотел создать что-то простое, потому что оно решает простую проблему - никаких замков в вашем CR-стойле. Большинство людей списали меня с самого начала, говоря, не проще ли установить замки? Его
EAL - Embedded - Кодовый замок: 4 шага
EAL-Embedded - Кодовый замок: это один из школьных проектов, который я сделал, чтобы выбрать предмет 2.1 C-программирование в EAL. Это первый раз, когда я делал проект Arduino и C-программирование. Это проект, в котором присутствует кодовый замок. Кодовый замок