The purpose of the Drops N' Roses project is to design and produce wireless dead drops, inspired by an old spy system.
In this project, a drop is defined as a multi-purpose autonomous located wireless message storage device.
With use of Bluetooth Low Energy, it is able to store and deliver messages to smartphones and its design is abstract enough to allow a great number of different use cases. Its energy consumption is reduced to the minimum, with a life expectancy of one year per button cell.
Our team has already produced:
- 15 drop devices,
- an Android app to administrate drops (Drop Scanner),
- several demo Android apps for some use cases: guided tours (Cairn), treasure hunts (Cache), interactive message display (DropWall),
- and an Android API to develop client apps for new use cases.
We have thought of many other use cases, already supported by drops' hardware: underground and cave exploration, communication support for natural disasters, mob events, and so on.
Stay tuned, this project will go on evolving fast and a lot!
- Storage of messages of 512 bytes, with a three level addressing hierarchy: drop index, mailbox, message.
- Up to 8192 pages, with one per index, box or message.
- Three levels for permission management: administrator, authenticated user, public.
- Asymmetric cryptography: signature verification for each command.
- All commands can be transmitted by a third party user.
- Timeout option on messages.
- Administration over the air: all parameters of the drops can be configured remotely.
- Autonomy: one year on a CR2477 button cell.
- Filter for nearby drop connections, with advertising packets customizable for each use case.
Drop API is based on one Bluetooth GATT service, with three characteristics:
- Message Characteristic: read, write, edit, delete messages in a given box
- Box Characteristic: create, delete a box and list its content
- Drop Characteristic: list the boxes in the drop, get and set its data (timestamp, public keys…), wireless factory reset
To send a command to the drop:
- the characteristic value is written with a command as a structured packet, each bit having a well-defined purpose,
- the drop confirms the reception of the command,
- the drop processes the command, reading needed data in storage memory,
- at the end of the process, the phone receives a notification from the drop, containing an error code and optionally the first bytes of the requested data.
- Drop Service: 00001700-1200-8da5-e311-30b4c03b539b
- Message Characteristic: 00002800-1200-8da5-e311-30b4c03b539b
- Box Characteristic: 00002801-1200-8da5-e311-30b4c03b539b
- Drop Characteristic: 00002802-1200-8da5-e311-30b4c03b539b
- It is a droid, and our API will be available on Android platform;
- In R2-D2, there are a 'R' like Roses and a 'D' like Drops;
- In Episode IV, R2-D2 delivers to Princess Leia a message containing the blueprints of the Death Star.
Also, R2-D2 is the coolest robot of the universe and beyond.