multi RFID readers and nano's

this is a project i think i have bitten of more than i can handle,

the project is a door entry systems with something like 14 doors each having an nano inside to read the cards (so far i can only read the cards in serial.monitor)

what i would like to be about to do is have a main controller board thats got a ethernet shield on it so i can sit at home and add new cards to the system.

main controller and nano's are linked by Tx and Rx

can anyone help !!!!!!!!

can anyone help

I could maybe lend you a shift key. I've got two. Yours seem to be broken.

What do you need help with? You need some way to communicate between the Arduino with Ethernet shield and each of the other Arduinos. You don't expect to be able to connect the Arduino with Ethernet shield's TX and RX pins to all of the other Arduino's do you?

You could use the I2C pins and connect all the Arduinos together. By having each nano register with a different address, the master could ask each nano in turn if it seen a tag. If the nano has, it would respond with the tag value.

What does the code on the Arduino with Ethernet shield look like? It seems that the simplest thing for the Arduino with Ethernet shield to do is to be a client, making GET requests to a server, where the GET request contains the RFID tag obtained from the slave and the slave ID. That server would check a database to see if the tag is valid to open the door that the slave is monitoring. It would return yes or no, along with the slave ID.

The master would then call that slave again, and tell it to open the door, or to leave it locked.

RFID is linked to D2 and D3

nano to Uno is Tx and Rx

lock is D9

yes PaulS that is the idea i was having, nothing is programmed yet, its taken me 6 hours to work out how to get the tag ID as its a wiegand 26 reader. i didnt think i was such a noob at this it seems im in deep water here and dont know where to go

What i would like is help programming this, as i have no idea where to start :frowning:

i have no idea where to start

You start with a set of requirements. You break those down into task that need to be performed, like read an RFID tag, reply to the master, send a message to the slave asking for tag info, send a message to the slave with lock/unlock permission, send RFID tag and slave ID to server/database, get server response, parse server response, unlock door, etc.

You decide which of those functions are master functions and which are slave functions. You learn how to get the master and slaves to talk to each other. You begin implementing the functions one at a time, so that you can test the hardware.

You develop a complete sketch for the slave when you know that all the slave tasks can be performed.

You develop a complete sketch for the master when you know that all the master tasks can be performed.

You develop a complete sketch for the internet device (which could be the master or another slave) when you know that all the internet tasks can be performed.

You test the complete system, and have a beer to celebrate when it all works.

Now, which part are you having problems with? If you are so new to this, why did you sign up for the project?

You have to decide where the list of allowed tokens is going to live. If it is on the nano then it won't be very big. If it is not then you have to consider how long the nano has to wait between presenting the token and opening the door.

It is all a bit underpowered for what you are trying to do.

You have to decide where the list of allowed tokens is going to live. If it is on the nano then it won't be very big. If it is not then you have to consider how long the nano has to wait between presenting the token and opening the door.

What the locks in our company do is cache a limited number of tokens. If you go in through the same door often, the token is in the cache. If not, the door lock needs to communicate with the master to get permission to open the door (and push the token into the cache, if permission is allowed, bumping one out if the cache is full).

Not too difficult a process to implement in your system. It really depends on how many tokens you are talking about, and how often permission to use a particular entrance changes (and how difficult it would be to get the RFID tag back from the person it was issued to, if permission is to be revoked).

why did you sign up for the project?

i signed up because it was my local scout group that asked and i couldn't say no

also i have always been able to tweak with other peoples code, and i find it hard to start writing them

i signed up because it was my local scout group that asked and i couldn't say no

That's a very good reason. One that even would carry some weight if you posted in Gigs and Collaboration asking for help.

At least, it would with me.

ok anyway i can move this thread over there

A moderator can. You can't report your own post to a moderator, but I can report your post, asking that it be moved. And, I will.

ok thanks :smiley:

Just to say that this is the sort of thing I used to design at one company I worked for.
We had 6 hardware engineers and 14 software engineers working on this full time so it is not a simple project. Also the processors involved were a lot more powerful than an arduino.

Ok why rs232 and not rs485, you will be needing a multi drop bus for all the Nanos onto a single UNO

Are they (Nanos) responsible for triggering the lock , the LED and reading the RFID . I guess you are sending a data packet from the nanos to the UNO with the door ID and the RFID tag ID. Then expecting a response frm the NANO with a allow or deny door open command as the basic functionality

I am sure this is easily done it just needs to be broken into small manageable packets of work.

PM me if you need more help or ask it here in the thread

Cheers Pete.

yes the nanos are responsible for triggering the lock, the LED's and reading the RFID cards. the UNO with the LAN shield on it is a location to store the tags ID's and where to grant or deny access.

the tag info will be stored in a SQL database that can be edited over LAN