Web controlled relays (with a schedule)

I have successfully built a project and understand much of what I am doing as far as setting up inputs/outputs, relays, and configuring a basic display screen with a standard lcd.

My next project is this- using a Mega 2560 and an ethernet adapter I would like to accomplish the following goals which would be used to add features to a door control system which is in place now=

Device boot to a program which provides a web server with pages stored on an SD card that can control 12 relays. These 12 relays will be in a configuration of pairs, one relay will trip (shunting a door contact), delay 500, then the second relay will trip (cutting power on a mag-lock or door strike).

Ethernet- I would want this to pull an IP address and dns settings from a txt file on the SD card. A network admin will need to have documentation to be able to pull this SD card to update the IP/Gateway/DNS.

Webpages I can build pretty easily, but where I am stuck is using a RTC module to set the time and then have it be able to build a schedule based on input from the website.

My biggest hurdle to overcome is the scheduling and I have read thread after thread. Having a hard time getting started. Looking for a couple things- input on where to start, references and pages to read with examples or potentially example code I can look at, also if someone is interested in offering direct input as the project progresses I would like to find someone that could be a kind of tutor/mentor type to help with friendly nudges.

Everything I have read this should be possible, but I would like it to be a stand-alone system. I know it would be pretty easy to attach it to a pc, but it needs to be smaller and less complex.

My biggest hurdle to overcome is the scheduling and I have read thread after thread. Having a hard time getting started. Looking for a couple things- input on where to start, references and pages to read with examples or potentially example code I can look at, also if someone is interested in offering direct input as the project progresses I would like to find someone that could be a kind of tutor/mentor type to help with friendly nudges.

I think you should start with explaining what the schedule is supposed to accomplish. Do you want to open and close doors on a set schedule?

What would the user interface look like?

A web page, served by the Arduino, with a bunch of text fields to let the user enter times will result, when the submit button is pressed, in a GET request to the server, containing name=value pairs with the name being the name of the text field and the value being the value in the text field.

Its relatively easy to parse the GET request, and store the values in the appropriate variables.

On every pass through loop(), get the time, and see if now is equal to a start time. If it is, start whatever is supposed to start at that time. If now is equal to some stop time, stop whatever is supposed to stop at that time.

PaulS:
I think you should start with explaining what the schedule is supposed to accomplish. Do you want to open and close doors on a set schedule?

This is for use as an add on to an existing door controller- it has 3 holidays and no other physical scheduling other than a fixed Monday through Friday 7:30-4:30 auto unlock.

The goal would be to create a sub-system that would allow users on the network (restricted on the network side by vlan and user) to input a time frame for a door or doors to be unlocked (ie. after hours meetings etc.)

PaulS:
What would the user interface look like?

Ideally it would have 2 components - 1, a list of doors (6 of them) with lock/unlock buttons and an indicator of the current status for manual temporary unlocks. 2, would be a place to enter a time/date (start) and a time/date (end) and check boxes or another method to select doors. It would also then display under this in a list of entered times/dates with an add/remove option. I think edit and auto-removal after the date would be great too, but manual removal/cleanup would be fine as we maybe have 12ish events per month.

I figure I will have to add a RTC module to identify the time, and I had assumed some sort of alarm function to trigger the relays and an array to store the dates and times...