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
    No, no, no, I didn't mean for you to RTFM...this time I was only pointing it out, making sure.

    I think I would set it up with a 'stock' combo when you program it set up in eeprom, say 12345 (that's amazing, I've got the same combination on my luggage!)...
    Then, there's one sequence of numbers that only you know and will never tell anybody (call it a 'back door')...say, 1234567890.. If you get that sequence, the system knows that the next 5 numbers input will be the new combination and you have to enter them twice. Then save those new 5 numbers in the eeprom (read, write), and BAM the combo is changed.
    Clever Idea, backdoor . . . like in WAR GAMES . . and I bet you thought I was going to make some jokes , That's going to be too much brain damage for now, tomorrow when I'm fresh, I will throw some spaghetti on the stove, and see what cooks out of it
    Maybe if I am lucky sayzer or mister_e will send me some coffee
    Thanks
    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
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Joe S. View Post
    Clever Idea, backdoor . . . like in WAR GAMES . . and I bet you thought I was going to make some jokes , That's going to be too much brain damage for now, tomorrow when I'm fresh, I will throw some spaghetti on the stove, and see what cooks out of it
    Thanks
    JS
    Yep, that's what I was talking about...but not nearly as vocal (Shall we play a game?)
    But I just had another thought or eight...
    You could keep all the code you've got and just add an extra couple of flags so you could go thru the loop an extra time or two. If you go thru the loop once and get the 1st half of the back door (12345), you set the flag. Then the next number is a 6. Since the flag is set, you start looking for the 2nd half of the back door, etc.etc.etc. Or just write a whole seperate block of code to handle it.
    Or maybe even have another 5 digit code that has to be set while the gate is open. Then the gate stays open while you change the code. That way if you screw it up, at least the gate is open. Or maybe during that time, you forget about the keypad read code and manually scan the keypad for a multiple keypress (say 1-2-3-4 all at the same time)....
    Lots of options...

  3. #3
    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.

  4. #4
    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.

  5. #5
    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

  6. #6


    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?.

  7. #7
    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

  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

    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.

  9. #9
    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

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