100+ RFID readers with one master

Hello everyone!

I am facing a project in which I would need to use a large number of RFID readers (for each position in warehouse). A target is approx 100 RFID readers, but the more the better. Read values + reader's IDs will be send to a server (via a master device). The RFID reader will be probably PN532. The master device some Arduino (probably Mega) + an ethernet shield. Master-slave wire length max 5m. A baud rate and a response are not so important. 1 way communication is theoretically enough.

What is the best possible way to communicate between these devices?

I don't have much experience with communication protocols, but here are my ideas:

  • SPI + a shift register for SS (chip select) pins = ??? devices
  • I2C + 8x I2C multiplexer (because PN 532 has always same address) = 64 devices
  • CAN bus - is it even possible/cheap?

Note: I always prefer a cheaper solution. If will be cheaper to have 4 master devices with 25 slaves for each, I have no problem with that.

Thanks in advance!
Adam

That is pushing it. I used to work in access control and this was the sort of system we used to design. We never used more than 2 readers per unit, one in and one out reader, and located close the the door.
Then we used RS485 to communicate to a central hub, then that in turn was passed onto a central computer for logging. The whole system could run without this central computer, as all the valid IDs were stored in the units themselves.

Note that many of the cheaper boards based around the PN532 are SPI only.

Yes they are, if the unit doesn't respond within a second we found users found it frustrating and assumed they were not working. If you have say 1000 active tokens then consider how long it will take to search that for a match. You might have to resort to hash tables to speed this up.

If you have 100 readers have you thought of how many user IDs the units need to store? This will be a major limiting factor. Are you planning to put propitiates on each token, like a start date, and expire date, or a time profile, a time period where a token would open a door. For each new feature you add you double the number of options you have for your token validation code.

We used to use much more powerful controllers than a ATmega, so I think you will struggle with this, especially as we had many more experienced professional engineers working on this project than you have.

Then you have to think about the enrolling protocol normally handled by the main computer, and the cancelling of tokens when some one leaves.

Won't work, max. length is about 30-50cm with low frequencies.

Almost same problem although you may use I2C extenders to mitigate the problem. But generally single PCB buses (as SPI and I2C) are the wrong choice for spanning distances.

CAN bus might be possible. What's cheap in your eyes? An MCP2515 is about $2-3.

Why don't you use an ESP8266 and WiFi? You can eliminate the master too as the ESP can talk to the server directly.

Your solution won't be cheap anyway, the PN532 costs more than $10 without a board and the necessary antenna.

Thank you both for your time and helpful answers!

No, I only need to store a token ID (which will be paired with a part number) and a reader ID (which will be paired with a warehouse position).

Okay, let's say not cheap, but most cheapest. Then I will make a decision if this project makes sense. What is the best way, how to connect RFID readers to CAN bus? A reader + an arduino + the MCP2515? Or is it possible without the arduino controller?

I'm not sure if it's a good idea in such quantities...

It would be by far the cheapest option. I never tried to have 100+ devices in one WiFi network but I wouldn't expect bigger problems.

You seem to have no clue about hardware so the MCP2515 is no option for you without a corresponding shield. That's in the range of $25-30. That's more than an ESP8266 including the MFRC522 reader.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.