Combinaton Gate access


Closed Thread
Results 1 to 40 of 48

Hybrid View

  1. #1
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by skimask View Post
    Lots of options...
    Yep, lots of options . . most of them are still above my pay grade, metephoricly speaking. I'll slog along and throw out some snippets as I do for comment or correction. I have learned a great deal from this thread, I hope lots of newbies read and understand what's in it, not just siphon the code. I think Darrel set this code up partially to do that as there is mention of High Security and Low security in the setup. Anywho, I'm getting some ideas, in my thick noggin' and I better go write them down!
    JS
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  2. #2
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default How the heck do you do this?

    This is going nowhere, I know you would use a statement like
    Code:
    write 0,newcode
    or
    write 0,ByteA
    I cannot figure out how to make this program look beyond it's
    original function to change eprom settings.
    What was the meaning of HIGH_SECURITY 1 or 0 and if default is low security I do not see it run there I guess I really do not understand when the keypad is lookin at keypress and when not (if ever not) I thought at first to copy code for high security=1 and change to 0 examining added combo to eprom,
    Code:
    DATA 8,5,"12345"
    no avail. Changed in those lined data 0 to data 8
    Is there a way to alter eprom from keypad?
    very humbling experience here, and asm code, Black Magic?
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  3. #3
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    What was the meaning of HIGH_SECURITY 1 or 0
    With Low security, if you press the wrong key, it immediately terminates entry and shows "Access Denied".
    This is only good for "keeping the honest people out". Because for a 5 digit code, it would take a maximum of 80 keypresses to figure out the code. Or, if you're lucky, only 5.

    High Security forces you to enter the exact number of digits followed by the # sign. This gives a maximum of 1,048,576 keypresses to guarantee finding the code. But with a 2 second delay after each failed attempt, it could take up to 582 days to try them all.

    There really should be another level between those two. This mode would allow it to receive a string of keypresses (without showing an error), and if anywhere along the way the 5 digits are pressed in the right combination then access is granted. This is more like the way a building alarm pad works. It gives much better protection than the Low level, but if you forget the password, there's no way to figure it out.

    ;----

    Personally, I don't like the "BackDoor" approach. That kind of thinking is for hackers and thieves. And if someone finds out about it, you can be sure it will be used against you. And if other people have this device, you can get blamed for anything that happens, whether it was your fault or not. But if it's just a one-off for you're own gate. Hey, go for it.

    In my opinion, you should know the current code to be able to set a new code. Which means that once you've entered the correct password, you have a certain time period to enter another code, I would probably make it 3 stars. If that code is entered in time, it branches to another routine that allows you to enter the New Code.

    Obviously, if you forget the code, the only way to reset it is to reprogram the chip. For security, That's a good thing.

    Don't try to add more pasta by stitching things in with the existing keypad routine. Create a separate routine that handles entering the new code, and branch to it at the appropriate time. There's only so much marinara sauce in the world. And I want some of it for my dinner.

    ;----

    Back to the EEPROM.

    Location 0 is where the length of the Code is stored. The actual Code is stored from location 1 on.

    Start at location 1, and store each keypress in successive locations. After they've finished entering the code (with a # sign), store the number of digits they entered in location 0.
    <br>
    DT

  4. #4


    Did you find this post helpful? Yes | No

    Talking

    Hello,

    That "@" does this symbol in the code @ if HIGH_SECURITY == 1

    They can explain to me?.

  5. #5
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    The @ symbol allows you to enter a 1-line assembly language statement.
    <br>
    DT

  6. #6
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Darrel Taylor View Post

    There really should be another level between those two. This mode would allow it to receive a string of keypresses (without showing an error), and if anywhere along the way the 5 digits are pressed in the right combination then access is granted. This is more like the way a building alarm pad works. It gives much better protection than the Low level, but if you forget the password, there's no way to figure it out.
    I have absolutely no idea how to do that, because I do not understand how the code works now.Why even have a low security setting? What i am looking for is not a back door, rather a master password which enters only a setup loop to program the eprom. I figured out how to vary the # of digits and alter password at compile, how would I set a master password? What actually tracks the digits entered, does it continue to track them while executing a gosub? can I call them from a running subroutine to exit into a setup loop? <br> Ok getting Idea now, a little chocolate is brain food , @ READKEYPAD _ByteA, is how program knows to check keypad. Store in ByteA

    Personally, I don't like the "BackDoor" approach. That kind of thinking is for hackers and thieves. And if someone finds out about it, you can be sure it will be used against you. And if other people have this device, you can get blamed for anything that happens, whether it was your fault or not. But if it's just a one-off for you're own gate. Hey, go for it.
    It in not something I want to MFG, probably patent issues there, but I want a few for my own uses.
    In my opinion, you should know the current code to be able to set a new code. Which means that once you've entered the correct password, you have a certain time period to enter another code, I would probably make it 3 stars. If that code is entered in time, it branches to another routine that allows you to enter the New Code.
    HOW? IF Keypress = "***" THEN . . . will not compile.
    This is what I want to do. One of my bashful friends wants a gate controller for his business, and wants to change the combo when an employee leaves his service. I was thinking it would be useful to have several passwords and log the data as to who went through, probably a project beyond the scope of this PIC control, but maybe not if interfaced to a P/C. Old P/Cs are landfill fodder.
    Obviously, if you forget the code, the only way to reset it is to reprogram the chip. For security, That's a good thing.

    Don't try to add more pasta by stitching things in with the existing keypad routine. Create a separate routine that handles entering the new code, and branch to it at the appropriate time. There's only so much marinara sauce in the world. And I want some of it for my dinner.
    Switching to rice noodles and seaweed - the Japanese stuff always works!

    ;----

    Back to the EEPROM.

    Location 0 is where the length of the Code is stored. The actual Code is stored from location 1 on.
    Start at location 1, and store each keypress in successive locations. After they've finished entering the code (with a # sign), store the number of digits they entered in location 0.
    <br>
    Code:
    Data @0, 5, "78A5D"      ; Length of, and The Combination
    
    change using:
    WRITE 1, 12345
    or 
    WRITE 1, ByteA ?
    how do I get byteA to have the value of new combo?
     @ READKEYPAD _ByteA
    . . . Right?
    Short of plugging PIC into the programmer how do I communicate with it?
    JS
    Last edited by Archangel; - 15th February 2007 at 05:09. Reason: Feeling Smarter
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  7. #7
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    HOW? IF Keypress = "***" THEN . . . will not compile.
    In the original program, was there anything that looked like IF Keypress = "78A5D" THEN ?

    @ READKEYPAD _ByteA
    . . . Right?
    Right. You can only Write (or read) 1 byte at a time to EEPROM.

    I'm just sitting here waiting for you to come up some more ideas.

    I could just write it for you ... but I won't.

    I'll be over playing Trains with Malcolm.
    <br>
    DT

  8. #8
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Darrel Taylor View Post
    In the original program, was there anything that looked like IF Keypress = "78A5D" THEN ?

    <br>

    No there was not. I'm on standby for now as it is cold and dry in my shop and I think I ESD zapped my 2 877As, I reordered some today. I will port over some of the code to a smaller cheaper PIC while trying to develope this, I appreciate your patience Darrel, and your help., The wait will give me time to machine the keypad out of Aluminium fo outdoor use, the commercial key unit will donate its letter/numbered pad to this project, and real switches will be used. Funny the 877As I have, program and verify but do not work with this or other code, that's why I think ESD got to them.

    EDIT: DOUGH! You mean like this?
    Code:
    if ComboPtr <= ComboLength then
            Read ComboPtr, ByteA                     ; Get the digit from EEPROM
            if Key = ByteA then                      ; is it the same ?
                WRITE 1, ByteA
    Last edited by Archangel; - 15th February 2007 at 23:54.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  9. #9
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    Keep Thinking.
    DT

Similar Threads

  1. A logic gate chip with 1 ea XOR and 2 ea AND gates?
    By jellis00 in forum mel PIC BASIC Pro
    Replies: 21
    Last Post: - 5th August 2009, 05:29
  2. Access to sim memu
    By sahin5002 in forum GSM
    Replies: 2
    Last Post: - 16th June 2009, 11:57
  3. truck gate
    By Melros in forum mel PIC BASIC Pro
    Replies: 12
    Last Post: - 13th October 2007, 13:23
  4. 18f2550 'access is denied' USB error?
    By Giulio in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 30th December 2006, 14:29
  5. FYI - How to Access individual bytes in Word Arrays
    By Melanie in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 20th July 2003, 21:56

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts