Hi, I’m a member of MakeHaven, a makerspace in New Haven, CT.
We’re looking to move from a proprietary RFID door lock to a more versatile system that could also do entry logging, tool access control, and perhaps other uses like vending/usage tracking. The tentative plan is to issue Mifare 13.56MHz cards and build networked reader/control points based on RPi.
I’m researching open-source options to avoid having to build our system from scratch, and wondering how feasible it would be to adapt the software used by DMS.
So far I’ve found these repos, am I missing anything more recent? (I noticed the live site is MakerManager3?)
Are you generally happy with the system you have? Any tips/things you wish worked differently?
We have also been moving away from our proprietary store-bought solution to something more flexible and maintainable. Most recently (earlier this year) we built a new access control system based on a raspberry pi running a python script interfaced to rfid readers via uart and to door locks via a relay shield. We use it with active directory for access control but there is also provision for using a hardcoded python config file and it shouldn’t be hard to adapt it to any other storage backend.
Our rfid readers are wiegand. They’re connected to an avr which decodes the wiegand protocol and sends the ids to the rpi over serial. Actually what it sends is a shell command (./DMSopen -d 2 -b 0123456789) which is received by a shell running on a serial port on the rpi. This command runs a bash script which pokes the running python daemon which queries active directory and operates the relays. We ended up with this shell script arrangement partly due to seeking to reduce the various significant latencies in the system which were contributing to a slower response time than our existing proprietary system.
The code that runs on the rpi is here:
It’s considered usable enough for us for now so it’s not being actively developed but we tried to keep it reusable and there will probably be someone interested in helping maintain it. We’ve been using this setup in production for about 7 months now.
I don’t know where the code for makermanager3 is, but someone knows. It’s what our members currently use to issue themselves rfid badges. It updates the entries in active directory for the rpi to read. It also issues updates to our proprietary rfid system which is still installed concurrently. This too shouldn’t be hard to adapt. There has been talk of rewriting this in python for increased maintainability but I don’t think anyone has done anything yet.
We’re largely happy with this latest setup. The weak link is the avr that interfaces to the rfid readers. It was quick to implement but the maintainability isn’t as good as we want. We intended to replace this with either readers going straight to the rpi or to an arduino or other standardized hardware platform. This is the only part of the system with bad reusability/maintainability. The code running on the avr isn’t even published anywhere.