esp rfid

2025-12-11 0 908

ESP RFID – Access Control with ESP8266, RC522 PN532 Wiegand RDM6300

Access Control system using a cheap MFRC522, PN532 RFID, RDM6300 readers or Wiegand RFID readers and Espressif\’s ESP8266 Microcontroller.

Features

For Users

  • Minimal effort for setting up your Access Control system, just flash and everything can be configured via Web UI
  • Capable of managing up to 1.000 Users (even more is possible)
  • Great for Maker Spaces, Labs, Schools, etc
  • Cheap to build and easy to maintain

For Tinkerers

  • Open Source (minimum amount of hardcoded variable, this means more freedom)
  • Using WebSocket protocol to exchange data between Hardware and Web Browser
  • Data is encoded as JSON object
  • Records are Timestamped (Time synced from a NTP Server)
  • MQTT enabled
  • Bootstrap, jQuery, FooTables for beautiful Web Pages for both Mobile and Desktop Screens
  • Thanks to ESPAsyncWebServer Library communication is Asynchronous

Official Hardware

  • Small size form factor, sometimes it is possible to glue it into existing readers.
  • Single power source to power 12V/2A powers ESP12 module, RFID Wiegand Reader and magnetic lock for opening doors.
  • Exposed programming pins for ESP8266
  • Regarding hardware design, you get multiple possible setup options:
  • Forward Bell ringing on reader to MCU or pass it out of board
  • Track Door Status
  • Control reader’s status LED
  • Control reader’s status BUZZER sound *
  • Power reader, lock and the board through single 12V, 2A PSU
  • Optionally power magnetic lock through external AC/DC PSU
  • Possible to use any kind and any type of Wiegand readers
  • Enables you to make IOT Access System with very little wiring
  • Fits in an universal enclosures with DIN mount
  • Open Source Hardware

Get more information and see accessory options from Tindie Store

What are others saying about esprfid?
“Hi, nice project.” – @Rotzbua
“Your app works like a charm” – @tueddy
“Just stumbled upon this project while planning to do something similar. Very beautifully done!” – @LifeP
“Hello, I\’ve come across your project and first of all… wow – thanks to all contributors for your hard work!” – @byt3w4rri0r
“Brilliant work.” – @danbicks
“This is an impressive project.” – @appi1
“I\’d like to thank every single contributor for creating this epic project.” – @TheCellMc
“Congratulations for your awesome work! This project is absolutely brilliant.” – @quikote

Getting Started

This project still in its development phase. New features (and also bugs) are introduced often and some functions may become deprecated. Please feel free to comment or give feedback.

  • Get the latest release from here.
  • See Known Issues before starting right away.
  • See Security for your safety.
  • See ChangeLog

What You Will Need

Hardware

  • Official ESP-RFID Relay Board
    or
  • An ESP8266 module or a development board like WeMos D1 mini or NodeMcu 1.0 with at least 32Mbit Flash (equals to 4MBytes) (ESP32 is not supported for now)
  • A MFRC522 RFID PCD Module or PN532 NFC Reader Module or RDM6300 125KHz RFID Module Wiegand based RFID reader
  • A Relay Module (or you can build your own circuit)
  • n quantity of Mifare Classic 1KB (recommended due to available code base) PICCs (RFID Tags) equivalent to User Number

Software

Using Compiled Binaries

Download compiled binaries from GitHub Releases page
https://*github.c*o*m/esprfid/esp-rfid/releases

On Windows you can use \”flash.bat\”, it will ask you which COM port that ESP is connected and then flashes it. You can use any flashing tool and do the flashing manually. The flashing process itself has been described at numerous places on Internet.

Building With PlatformIO

The build environment is based on PlatformIO. Follow the instructions found here: http://pla**tf*ormio.org/#!/get-started for installing it but skip the platform init step as this has already been done, modified and it is included in this repository. In summary:

sudo pip install -U pip setuptools
sudo pip install -U platformio
git clone https://git*hu**b.com/esprfid/esp-rfid.git
cd esp-rfid
platformio run

When you run platformio run for the first time, it will download the toolchains and all necessary libraries automatically.

Useful commands:
  • platformio run – process/build all targets
  • platformio run -e generic -t upload – process/build and flash just the ESP12e target (the NodeMcu v2)
  • platformio run -t clean – clean project (remove compiled files)

The resulting (built) image(s) can be found in the directory /bin created during the build process.

How to modify the project

If you want to modify the code, you can read more info in the CONTRIBUTING file.

Pin Layout

The following table shows the typical pin layout used for connecting readers hardware to ESP:

ESP8266 NodeMcu/WeMos Wiegand PN532 MFRC522 RDM6300
GPIO-16 D0 SS (Wemos D1) SDA/SS
GPIO-15 D8 SDA/SS
GPIO-13 D7 D0 MOSI MOSI
GPIO-12 D6 D1 MISO MISO
GPIO-14 D5 SCK SCK
GPIO-04 D2 TX
GPIO-05 D1 SS

For Wiegand based readers, you can configure D0 and D1 pins via settings page. By default, D0 is GPIO-4 and D1 is GPIO-5

Steps

  • First, flash firmware (you can use /bin/flash.bat on Windows) to your ESP either using Arduino IDE or with your favourite flash tool
  • (optional) Fire up your serial monitor to get informed
  • Search for Wireless Network \”esp-rfid-xxxxxx\” and connect to it (It should be an open network and does not require password)
  • Open your browser and visit either \”http://192.*1**68.4.1\” or \”http://e*s*p-*rfid.local\” (.local needs Bonjour installed on your computer).
  • Log on to ESP, default password is \”admin\”
  • Go to \”Settings\” page
  • Configure your amazing access control device. Push \”Scan\” button to join your wireless network, configure RFID hardware, Relay Module.
  • Save settings, when rebooted your ESP will try to join your wireless network.
  • Check your new IP address from serial monitor and connect to your ESP again. (You can also connect to \”http://e*s*p-*rfid.local\”)
  • Go to \”Users\” page
  • Scan a PICC (RFID Tag) then it should glimpse on your Browser\’s screen.
  • Type \”User Name\” or \”Label\” for the PICC you scanned.
  • Choose \”Allow Access\” if you want to
  • Click \”Add\”
  • Congratulations, everything went well, if you encounter any issue feel free to ask help on GitHub.

MQTT

You can integrate ESP-RFID with other systems using MQTT. Read the additional documentation for all the details.

Known Issues

  • You need to connect your MFRC522 reader to your ESP properly or you will end up with a boot loop
  • Please also check GitHub issues.

Time

We are syncing time from a NTP Server (in Client -aka infrastructure- Mode). This will require ESP to have an Internet connection. Additionally your ESP can also work without Internet connection (Access Point -aka Ad-Hoc- Mode), without giving up functionality.
This will require you to sync time manually. ESP can store and hold time for you approximately 51 days without major issues, device time can drift from actual time depending on usage, temperature, etc. so you have to login to settings page and sync it in a timely fashion.
Timezones are supported with automatic switch to and from daylight saving time.

Security

We assume ESP-RFID project -as a whole- does not offer strong security. There are PICCs available that their UID (Unique Identification Numbers) can be set manually (Currently esp-rfid relies only UID to identify its users). Also there may be a bug in the code that may result free access to your belongings. And also, like every other network connected device esp-rfid is vulnerable to many attacks including Man-in-the-middle, Brute-force, etc.

This is a simple, hobby grade project, do not use it where strong security is needed.

What can be done to increase security? (by you and by us)

  • We are working on more secure ways to Authenticate RFID Tags.
  • You can disable wireless network to reduce attack surface. (This can be configured in Web UI Settings page)
  • Choose a strong password for the Web UI

Scalability

Since we are limited on both flash and ram size things may get ugly at some point in the future. You can find out some test results below.

Tests

1) How many RFID Tag can be handled?

Restore some randomly generated user data on File System worth:

  • 1000 separate \”userfile\”
  • random 4 Bytes long UID and
  • random User Names and
  • 4 bytes random Unix Time Stamp
  • each have \”access type\” 1 byte integer \”1\” or \”0\”.

Total 122,880 Bytes

At least 1000 unique User (RFID Tag) can be handled, the test were performed on WeMos D1 mini.

Additional testing is needed:

  • Logging needs testing. How long should it need to log access? What if a Boss needs whole year log?
  • Reliability on Flash (these NOR Flash have limited write cycle on their cells). It depends on manufacturer choice of Flash Chip and usage.

Community

Join community chat on Gitter

Projects that are based on esp-rfid

  • ESP-IO Project to manipulate GPIOs with EventGhost
  • ESP-RCM Room Climate Monitor with ESP8266, HTU21D, Si7021, AM2320
  • ESP-RFID-PY Micro-Python implementation of esp-rfid is also made available by @iBobik

Acknowledgements

  • @rneurink
  • @thunderace
  • @zeraien
  • @nardev
  • @romanzava
  • @arduino12
  • @Pako2
  • @marelab

See ChangeLog

Donations

Developing fully open, extensively tested embedded software is hard and time consuming work. Please consider making donations to support developers behind this beautiful software.

Donations transparently processed by Open Collective and expenses are being made public by OC\’s open ledger.

  • 2017-10-03 steinar-t
  • 2017-12-10 saschaludwig
  • 2018-10-02 Dennis Parsch
  • 2019-01-12 Chris-topher Slater
  • 2019-04-23 Klaus Blum
  • 2019-04-25 Andre Dieteich

Contributors

This project exists thanks to all the people who contribute.

License

The code parts written by ESP-RFID project\’s authors are licensed under MIT License, 3rd party libraries that are used by this project are licensed under different license schemes, please check them out as well.

下载源码

通过命令行克隆项目:

git clone https://github.com/esprfid/esp-rfid.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 esp rfid https://www.zuozi.net/34881.html

tasmotizer
上一篇: tasmotizer
smiley sans
下一篇: smiley sans
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务