ESP RFID - Контроль доступа с ESP8266, RC522 PN532 Wiegand RDM6300
Система управления доступом с использованием дешевого MFRC522, PN532 RFID, читателей RDM6300 или считывателей Wiegand RFID и микроконтроллера ESP8266 ESP8266.
Функции
Для пользователей
- Минимальные усилия по настройке вашей системы управления доступом, просто вспыхивают, и все можно настроить через веб -интерфейс
- Способен управлять до 1.000 пользователей (возможно, еще больше)
- Отлично подходит для производства, лабораторий, школ и т. Д.
- Дешево для строительства и легко поддерживать
Для Tinkerers
- Открытый исходный код (минимальное количество жесткой переменной, это означает больше свободы)
- Использование протокола WebSocket для обмена данными между аппаратным и веб -браузером
- Данные закодированы как объект JSON
- Записи сметки времени (синхронизированное время с NTP -сервера)
- MQTT включен
- Начальная загрузка, jquery, footables для красивых веб -страниц как для мобильных, так и для настольных экранов
- Благодаря общению библиотеки Espasyncwebserver асинхронно
Официальное оборудование
- Форм -фактор небольшого размера, иногда можно приклеить его к существующим читателям.
- Источник единого питания для питания 12V/2A Powers ESP12 Модуль, RFID Wiegand Reader и Magnetic Lock для открытия дверей.
- Разоблаченные программные штифты для ESP8266
- Что касается дизайна аппаратного обеспечения, вы получаете несколько возможных параметров настройки:
- Вперед звонит на читателя в MCU или пропустите его из борта
- Отслеживать статус двери
- Случай статуса Control Reader
- Статус управления звеном зуммером * Звук *
- РАЗДЕЛИТЕЛЬНЫЙ ЧИТАТЕЛЬ, блокировку и плату через одиночный 12 В, 2A PSU
- Необязательно мощность магнитная блокировка через внешний блок кондиционера/постоянного тока.
- Возможно использовать любой вид и любой тип читателей Wiegand
- Позволяет создавать систему доступа IoT с очень небольшим количеством проводки
- Вписывается в универсальные корпуса с горой Дин
- Оборудование с открытым исходным кодом
Получите больше информации и см. Параметры аксессуаров от Tindie Store
| Что другие говорят о ESP-RFID? |
|---|
| «Привет, хороший проект». - @rotzbua |
| «Ваше приложение работает как очарование» - @tueddy |
| «Просто наткнулся на этот проект, планируя сделать что -то подобное. Очень красиво сделано!» - @lifep |
| «Здравствуйте, я наткнулся на ваш проект и, прежде всего,… вау - спасибо всем участникам за вашу тяжелую работу!» - @byt3w4rri0r |
| «Блестящая работа». - @danbicks |
| «Это впечатляющий проект». - @appi1 |
| «Я хотел бы поблагодарить каждого участника за создание этого эпического проекта». - @thecellmc |
| «Поздравляю с вашей потрясающей работой! Этот проект абсолютно великолепен». - @quikote |
Начиная
Этот проект все еще находится на этапе разработки. Новые функции (а также ошибки) часто вводятся, и некоторые функции могут установить. Пожалуйста, не стесняйтесь комментировать или давать отзыв.
- Получите последний релиз отсюда.
- Смотрите известные проблемы, прежде чем начать сразу.
- Смотрите безопасность для вашей безопасности.
- См. Чанженел
Что вам понадобится
Аппаратное обеспечение
- Официальный совет по реле ESP-RFID или
- Модуль ESP8266 или плата разработчиков, такая как Wemos D1 Mini или Nodemcu 1.0 с не менее 32 Мбит -вспышкой (равна 4 мбит) (ESP32 пока не поддерживается)
- MFRC522 модуль RFID PCD или модуль считывателя NFC PN532 или RDM6300 125 кГц модуль RFID RFID RFID Reader Reader
- Модуль реле (или вы можете построить свою собственную схему)
- n Количество Mifare Classic 1 кб (рекомендуется из -за доступной кодовой базы) PICCS (RFID -теги), эквивалентные номеру пользователя
Программное обеспечение
Используя скомпилированные двоичные файлы
Скачать скомпилированные бинарные файлы с страницы Github Releses https://github.com/esprfid/esp-rfid/releases
В Windows вы можете использовать «flash.bat» , он спросит вас, какой COM -порт подключен ESP, а затем мигает. Вы можете использовать любые мигающие инструменты и выполнить мигание вручную. Сам процесс мигания был описан во многих местах в Интернете.
Строительство с платформой
Среда сборки основана на платформе. Следуйте инструкциям, найденным здесь: http://platformio.org/#!/get-started для его установки, но пропустите шаг platform init так как это уже было сделано, модифицировано и включено в этот хранилище. В итоге:
sudo pip install -U pip setuptools
sudo pip install -U platformio
git clone https://github.com/esprfid/esp-rfid.git
cd esp-rfid
platformio run
Когда вы запускаете platformio run в первый раз, он автоматически загружает инструментальные наборы и все необходимые библиотеки.
Полезные команды:
-
platformio run - обработка/создание всех целей -
platformio run -e generic -t upload -Process/Build and Flash только цель ESP12E (Nodemcu v2) -
platformio run -t clean - Clean Project (удалить скомпилированные файлы)
Полученные (построенные) изображения можно найти в каталоге /bin , созданном в процессе сборки.
Как изменить проект
Если вы хотите изменить код, вы можете прочитать больше информации в файле Anplosing.
Пынальный макет
В следующей таблице показана типичная компоновка штифтов, используемое для подключения аппаратного обеспечения для считывателей к ESP:
| ESP8266 | Nodemcu/Wemos | Виганд | PN532 | MFRC522 | RDM6300 |
|---|
| GPIO-16 | D0 | | SS (Wemos D1) | SDA/SS | |
| GPIO-15 | D8 | | | SDA/SS | |
| GPIO-13 | D7 | D0 | Моси | Моси | |
| GPIO-12 | D6 | D1 | Мисо | Мисо | |
| GPIO-14 | D5 | | SCK | SCK | |
| GPIO-04 | D2 | | | | Техас |
| GPIO-05 | D1 | | SS | | |
Для читателей на основе Wiegand вы можете настроить контакты D0 и D1 через страницу настроек. По умолчанию D0-GPIO-4, а D1-GPIO-5
Шаги
- Во -первых, прошивка Flash (вы можете использовать /bin/flash.bat в Windows) в ESP или с использованием Arduino IDE или с вашим любимым инструментом Flash
- (необязательно) Запустите свой серийный монитор, чтобы получить информированность
- Поиск беспроводной сети "ESP-RFID-XXXXXX" и подключиться к ней (она должна быть открытой сетью и не требует пароля)
- Откройте свой браузер и посетите «http://192.168.4.1» или «http: //esp-rfid.local» (.
- Войдите в ESP, пароль по умолчанию - «администратор»
- Перейти на страницу «Настройки»
- Настройте свое удивительное устройство управления доступом. Нажмите кнопку «Сканирование», чтобы присоединиться к вашей беспроводной сети, настройте RFID -аппаратное обеспечение, реле.
- Сохраните настройки, когда перезагружается ваш ESP, попытается присоединиться к вашей беспроводной сети.
- Проверьте свой новый IP -адрес с последовательного монитора и снова подключитесь к ESP. (Вы также можете подключиться к "http: //esp-rfid.local")
- Перейти на страницу «Пользователи»
- Сканируйте PICC (RFID -тег), затем он должен увидеть на экране вашего браузера.
- Введите «Имя пользователя» или «метку» для сканирования PICC.
- Выберите «Разрешить доступ», если хотите
- Нажмите "Добавить"
- Поздравляю, все прошло хорошо, если вы столкнулись с какой -либо проблемой, не стесняйтесь обращаться за помощью к GitHub.
MQTT
Вы можете интегрировать ESP-RFID с другими системами, используя MQTT. Прочитайте дополнительную документацию для всех деталей.
Известные проблемы
- Вам нужно правильно подключить считывателя MFRC522 к ESP, иначе вы получите цикл загрузки
- Пожалуйста, также проверьте проблемы GitHub.
Время
Мы синхронизируем время от NTP -сервера (в режиме инфраструктуры -клиента -AKA). Это потребует ESP, чтобы иметь подключение к Интернету. Кроме того, ваш ESP также может работать без подключения к Интернету (Ad-Hoc-Mode), не отдавая функциональность. Это потребует от вас синхронизации времени вручную. ESP может хранить и удерживать время для вас примерно 51 дня без серьезных проблем, время устройства может дрейфовать с фактического времени в зависимости от использования, температуры и т. Д. Поэтому вам придется войти в страницу настроек и своевременно синхронизировать его. Часовые пояса поддерживаются автоматическим переходом на время сэкономить дневное время и из дневного света.
Безопасность
Мы предполагаем, что проект ESP-RFID -как целое не обеспечивает сильной безопасности. Существуют PICC, что их UID (уникальные идентификационные номера) можно установить вручную (в настоящее время ESP-RFID полагается только на UID, чтобы идентифицировать своих пользователей). Также может быть ошибка в коде, которая может привести к бесплатному доступу к вашим вещам. А также, как и любое другое сетевое подключенное устройство ESP-RFID уязвимо ко многим атакам, включая человек в среднем, грубое движение и т. Д.
Это простой проект Hobby Grade, не используйте его там, где необходима сильная безопасность.
Что можно сделать, чтобы повысить безопасность? (вами и нами)
- Мы работаем над более безопасными способами аутентификации тегов RFID.
- Вы можете отключить беспроводную сеть, чтобы уменьшить поверхность атаки. (Это можно настроить на странице настроек веб -пользовательского интерфейса)
- Выберите сильный пароль для веб -интерфейса
Масштабируемость
Поскольку мы ограничены как на вспышке, так и на размер ОЗУ, вещи могут стать уродливыми в какой -то момент в будущем. Вы можете узнать некоторые результаты теста ниже.
Тесты
1) Сколько RFID -метки можно обработать?
Восстановите некоторые случайно сгенерированные пользовательские данные по файловой системе стоимостью:
- 1000 отдельный "пользовательский файл"
- случайный 4 байта длиной
- случайные имена пользователей и
- 4 байта случайная марка Unix Time
- Каждый из них имеет «тип доступа» 1 байт целого числа "1" или "0".
Всего 122 880 байт
Можно обрабатывать не менее 1000 уникальных пользователей (RFID -тега), тест был выполнен на Wemos D1 Mini.
Необходимы дополнительные тестирование:
- Регистрация нуждается в тестировании. Как долго нужно войти в систему доступа? Что, если боссу нужен целый год журнал?
- Надежность на вспышке (эти ни вспышки имеют ограниченный цикл записи на своих ячеек). Это зависит от выбора флэш -чипа и использования производителя.
Сообщество
Присоединяйтесь к сообществу на Gitter
Проекты, основанные на ESP-RFID
- Проект ESP-IO для манипулирования GPIO с помощью EventGhost
- ESP-RCM Room Climate Monitor с ESP8266, HTU21D, SI7021, AM2320
- ESP-RFID-PY Micro-Python Реализация ESP-RFID также доступна @IBOBIK
Благодарности
- @rneurink
- @thunderace
- @zeraien
- @nardev
- @Romanzava
- @arduino12
- @Pako2
- @marelab
См. Чанженел
Пожертвования
Разработка полностью открытого, тщательно протестированного встроенного программного обеспечения является трудной и трудоемкой работой. Пожалуйста, рассмотрите возможность сделать пожертвования для поддержки разработчиков этого прекрасного программного обеспечения.
Пожертвования, прозрачно обрабатываемые открытым коллективом , и расходы обнародованы открытой бухгалтерской книгой OC.
- 2017-10-03 Steinar-T
- 2017-12-10 Saschaludwig
- 2018-10-02 Деннис Парш
- 2019-01-12 Крис-Топер Слейтер
- 2019-04-23 Клаус Блюм
- 2019-04-25 Андре Диетах
Участники
Этот проект существует благодаря всем людям, которые вносят свой вклад.
Лицензия
Части кода, написанные авторами проекта ESP-RFID, лицензированы по лицензии MIT, сторонние библиотеки, которые используются этим проектом, лицензированы в рамках различных схем лицензий, пожалуйста, проверьте их.