Open Access Quick Start Guide

From ACCX Products Wiki
Revision as of 15:19, 3 June 2014 by Arclight (Talk | contribs) (Created page with "==Steps to Getting Up and Running== The Open Access comes fully assembled out of the box. Here are the steps involved in getting it up and running in your environment. <BR>...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Steps to Getting Up and Running

The Open Access comes fully assembled out of the box. Here are the steps involved in getting it up and running in your environment.

Powering on and connecting

1. Unpack your Open Access Control and familiarize yourself with it. For initial programming, make sure the serial port jumpers are set to "USB" and that the "Reset Enable" jumper is closed. Details on the jumpers and hardware settings can be found here: Open Access v4 Jumpers

2. Connect your Open Access to a 12V power supply. Any 11.5-14V power supply capable of delivering at least 500ma will work. You can cut and strip the ends of a standard consumer wall-wart supply and attach them to the 12V-IN terminals. The Open Access is protected against reverse polarity, and will not be harmed if the 12V input is reversed.

3. Connect the Open Access to a computer using a standard USB-mini cable. You 4. Download the latest Arduino environment for your OS (WIndows, OSX or Linux) from:

5. Download the Open Access software. You can either get it here: Open Access 4.0

6. Unzip the package and install the libraries in your sketchbook under a directory called "libraries" and place the .ino and the .h file in a sketchbook folder.

7. Open the project in the Arduino IDE, and you should now get both the .INO and the .h open in separate tabs.

You can customize values like the enable password, timeouts, etc from the user.h file.

#define DEBUG 3                         // Set to 4 for display of raw tag numbers in BIN, 3 for decimal, 2 for HEX, 1 for only denied, 0 for never.               
#define VERSION 1.35
#define UBAUDRATE 9600                 // Set the baud rate for the USB serial port

#define gonzo   0xFFFFFFF                  // Name and badge number in HEX. We are not using checksums or site ID, just the whole
#define snake   0xFFFFFFF                  // output string from the reader.
#define satan   0xFFFFFFF
const long  superUserList[] = { gonzo, snake, satan};  // Super user table (cannot be changed by software)

#define PRIVPASSWORD 0x1234             // Console "priveleged mode" password

#define DOORDELAY 5000                  // How long to open door lock once access is granted. (2500 = 2.5s)
#define SENSORTHRESHOLD 100             // Analog sensor change that will trigger an alarm (0..255)
#define KEYPADTIMEOUT 5000              // Timeout for pin pad entry. Users on keypads can enter commands after reader swipe.
#define CARDFORMAT 1                    // Card format
                                        // 0=first 25 raw bytes from card
                                        // 1=First and second parity bits stripped (default for most systems)

The "Superusers" are optional card values that can be hard-coded in, should you lock yourself out accidentally. They are set by default to be disabled (FFFFFFFF).

5. Compile and upload the sketch to the Open Access. Under Tools->Boards, select the "Duemillanove, 16Mhz with Atmega328P."

Note: If it fails to compile as-is, you may have an issue with the Arduino compiler. Some versions/platforms will complain about one of the libraries having an include of "WProgram.h" If that is the case, you can remove that line from the library.

6. Once the program is uploaded, test it out by attaching an RFID reader to the "Reader1" input and swiping a card. You should see a relay click and its LED flash to indicate an "access denied."

7. Using the Arduino terminal or your favoraite comm program, connect over USB at 9600. Once connected, hit '?' for the menu. You should see:

0:0:0  1/1/0 SUN Access Control System rebooted.
Valid commands are:
(d)ate, (s)show user, (m)odify user <num>  <usermask> <tagnumber>
(a)ll user dump,(r)emove_user <num>,(o)open door <num>
(u)nlock all doors,(l)lock all doors
(1)disarm_alarm, (2)arm_alarm,(3)train_alarm (9)show_status
(t)ime set <sec 0..59> <min 0..59> <hour 0..23> <day of week 1..7>
           <day 0..31> <mon 0..12> <year 0.99>
(e)nable <password> - enable or disable priveleged mode
(h)ardware Test <iterations> - Run the hardware test

8. Set the date/time and program a user using the menu. If you hit <d>ate again, it should show an incrementing correct time.

To obtain a tag number to program, read the serial number from the side of the card (most EM4100 tags have a serial that can directly entered) or swipe it and wait for a denied message at the terminal and then use that number. The format for entering users records is:

m 1 254 123457890

Where: 1 = user number (1..200), 254 = security level (0..254) and 123456890 is the tag ID in decimal format.

Note: You can change the tag format or customize it in the code.

9. To set up the Raspberry Pi and use it's on-board serial UART via the expansion header, you'll need to modify a couple of settings in Raspian. A step-by-step is here:

Raspberry Pi Setup