Problem
A machine receiving money in exchange for a product or service is recurring nowadays, but in the M2M world where IOTA protocol will be inserted, that's not enough. Most of the traded assets will have units of measure, and this amount can be measured in Bytes (data), Watts/h (energy/power), Seconds (general use), etc.
Solution
To validate the concept of using a variable tied to the cost - transaction, we have developed a simple but elegant mechanism to allow not an unique transaction, but cost-variable transactions based on time: a Smart Locker with its own IOTA wallet that can be used with the oficial Trinity Wallet.
How it Works
The locker can be started with an initial payment from Trinity to the address displayed (QR Code). Once the transfer is recognized, the locker is opened and sends back a message-transaction (zero-value) to the user's address (the same address that originated the first transaction). This message-transaction holds a new unused check-out address, so only that user has the "key" to open the locker later. The value of the check-out transaction increases over time.
The video below demonstrated the whole process (with subtitles):
Development
The electrical circuit was assembled according to the "schematics".
After that, it was necessary to build the locker itself:
A wooden box, and some extra pieces of wood was purchased.
First it was necessary to glue wooden boards inside the door until the lock could be leveled with the box frame.
As the locker actuator is chamfered, it was necessary to affix some pieces of wood to the inside of the frame and create a hole so that the actuator could lock when it was closed.
Once everything was leveled, it was necessary to glue the lock on the door and align it with the hole in the frame.
O hole was made in the back of the wood box so the inside locker could connect with the external devices.
Outside, the circuit composed by the board, and the Raspberry + LCD was assembled:
Finally the whole set was assembled, with the LCD display on top of the box for easy user interaction.
Software configuration
- flash Raspbian with Desktop to a SD Card (for the Raspberry)
- install node.js + npm
- clone repository https://dtaparelli@bitbucket.org/dtaparelli/iota-locker.git
- run npm install for dependencies (iota, gpio and qrcode)
- set a Seed in file locker.js
- install display driver LCD-show
- run the app with npm locker.js and open the browser at localhost:3000
Possible Case Uses
This model may allow the development of much discussed business models within the M2M ecosystem such as:
- Allow much more personalized rentals, where user will pay exactly for the amount they used (cars, scooters, gym, workspace, etc);
- Supply Chain & Global Trade: Payment for storage (time based) based on real-time data about conditions such as temperature, humidity, etc;
- Cars can pay autonomously for parking (time based);
- Let the asset owner know which equipment is being most profitable and / or useful;
- Manufacturers can use them as-needed without ownership overhead;
- Let technical maintenance shutdowns be easily scheduled;
Comments