MortiSafe Pro: Difference between revisions

From MortiWiki
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 14: Line 14:
## It will allow the sub to specify a password to unlock the safe (more of this later)
## It will allow the sub to specify a password to unlock the safe (more of this later)
# If the safe is unlocked, the sub will be able to choose one of the following options:
# If the safe is unlocked, the sub will be able to choose one of the following options:
## Lock the safe
## If a controller has ordered a lockup (see later) the sub will be able to accept it, then the sub will be told to put keys in safe and the MortiSafe will lock
###e
## Lock the safe, using one of the following modes:
#### Specify an unlock date/time
#### Specify a range (start date/time and end date/time) and allow the MortiSafe to pick a random date/time between those
### Once the lockup is specified, the sub will be told to put the keys in the safe and close the door, then the safe will be locked
## Configure a sub name and 'controller password'. Anyone using this name and password can use the internet website to issue lockup orders for the sub
## Reconnect to the internet website to check for orders (this will automatically happen once a minute)


Anyone connecting to the public website will see these options:
# Enter a sub name and controller password (which the sub previously configured)
# If this is correct, they will be shown the current state of the sub's safe (locked or not)
# If there's a current order ready for the sub that the sub has not yet accepted, the controller will be able to cancel it
# They will be able to issue an order for locking (this won't lock the safe but the sub will see an order has been requested) with one of the following options:
## Specify an unlock date/time
## Specify an unlock duration (eg 3 days), which will start whenever the sub locks the safe
# The controller can also specify an unlock password. If the sub is given this password, they'll be able to unlock the safe
# And they can add a comment which the sub will see


=Final functionality=


The final functionality will be much more sophisticated, including:
# The controller will have a logon to the internet website and be able to control multiple subs through it
# Controllers and subs will be able to request, accept and reject connections from each other
# The controller will be able to request a safe unlock as well as a safe lockup - the sub will get the unlock when they next check the safe website
# Audit of lockups
# Consider 'community' features of sites like carilocked and emmalocked, where you can invite people to increase your lockup or gamble for an increase/decrease or play a game
# Possible mechanism to 'integrate' with other sites - perhaps generate a crypto file which can be uploaded to a encrypted-pic-based site like carilocked... when it unlocks it shows pic that you can give back to mortisafe site.. or something


=Potential problems=
=Potential problems=

Latest revision as of 19:00, 23 December 2014

MortiSafe Pro is the follow on product to MortiSafe. It will be more sophisticated, easier to build but more expensive.

The basic design is a raspberry pi with wifi connection inside the safe with a relay board controlling the safe. There will be a website running inside the safe which subs will be able to interact with for self-locking, and that site will regularly check in with an internet website which controllers (nominated by the sub) will be able to use to specify lockups for the sub.

However, the public website will not be required for the operation of the system - if it goes down or a user's system becomes unable to connect to the internet, time control and password-based unlocking will still work the same.

Initial functionality

What follows is a minimal set of functionality which the system could be release with, but with an intention to advance it to the full functionality over time.

Once the system is installed, the sub will be able to connect from their PC to a website (run from inside the safe) which will behave in one of two modes:

  1. If the safe is locked:
    1. It will report the remaining duration if that's allowed by the configuration
    2. It will allow the sub to specify a password to unlock the safe (more of this later)
  2. If the safe is unlocked, the sub will be able to choose one of the following options:
    1. If a controller has ordered a lockup (see later) the sub will be able to accept it, then the sub will be told to put keys in safe and the MortiSafe will lock
    2. Lock the safe, using one of the following modes:
        1. Specify an unlock date/time
        2. Specify a range (start date/time and end date/time) and allow the MortiSafe to pick a random date/time between those
      1. Once the lockup is specified, the sub will be told to put the keys in the safe and close the door, then the safe will be locked
    3. Configure a sub name and 'controller password'. Anyone using this name and password can use the internet website to issue lockup orders for the sub
    4. Reconnect to the internet website to check for orders (this will automatically happen once a minute)

Anyone connecting to the public website will see these options:

  1. Enter a sub name and controller password (which the sub previously configured)
  2. If this is correct, they will be shown the current state of the sub's safe (locked or not)
  3. If there's a current order ready for the sub that the sub has not yet accepted, the controller will be able to cancel it
  4. They will be able to issue an order for locking (this won't lock the safe but the sub will see an order has been requested) with one of the following options:
    1. Specify an unlock date/time
    2. Specify an unlock duration (eg 3 days), which will start whenever the sub locks the safe
  5. The controller can also specify an unlock password. If the sub is given this password, they'll be able to unlock the safe
  6. And they can add a comment which the sub will see

Final functionality

The final functionality will be much more sophisticated, including:

  1. The controller will have a logon to the internet website and be able to control multiple subs through it
  2. Controllers and subs will be able to request, accept and reject connections from each other
  3. The controller will be able to request a safe unlock as well as a safe lockup - the sub will get the unlock when they next check the safe website
  4. Audit of lockups
  5. Consider 'community' features of sites like carilocked and emmalocked, where you can invite people to increase your lockup or gamble for an increase/decrease or play a game
  6. Possible mechanism to 'integrate' with other sites - perhaps generate a crypto file which can be uploaded to a encrypted-pic-based site like carilocked... when it unlocks it shows pic that you can give back to mortisafe site.. or something

Potential problems

  1. System will rely on the pi's wifi chip being able to talk to the user's home wifi router - being inside a steel box may cause a problem
  2. The installation process will have to include the user configuring their home wifi router's password. I've yet to see what the software is like for that, but I imagine it will require plugging an HDMI monitor into the pi just to be able to configure the networking - after that, everything can be done by website from the user's PC. That process will also have to tell the user the IP address of the pi, which could be vulnerable to change due to DHCP lease expiry
  3. Getting power into the safe to the pi relies on getting a micro USB wire through a hole in the back of the safe. My safe has 4mm holes, and my micro-usb connectors are about 5mm wide including plastic housing, so could probably cut down the housing, or if necessary cut the USB cable and rewire the red and black wires (only being used for power transfer)