Control IoT devices from a smart contract on the Neo blockchain
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
firmware initial commit Nov 16, 2017
web Update package.json Dec 6, 2017
.gitignore initial commit Nov 16, 2017
LICENSE initial commit Nov 16, 2017
README.md initial commit Nov 16, 2017
elcaro-contract.py fixed file name in comment Nov 26, 2017
neo-pubsub.py updated event handler and formatting Nov 26, 2017

README.md

Neo Smart IoT

Overview

Neo Smart IoT is a project contribution to the Neo Smart Economy Network to enable control of IoT (Internet of Things) devices via Neo smart contracts.

To operate an IoT device, a contract may operate for free, take payment in the form of Neo or Gas, or hold Neo as a deposit that can be returned to the user when control is no longer needed.

At a high level, a smart contract is deployed to the Neo blockchain. This contract contains functionality that allows values to be sent to IoT devices to control them. I.e., a payment could be sent to control a device that opens a lock, plays a song on a jukebox, or dispenses an item from a vending machine. The possibilities are endless.

Components

The Neo Smart IoT system consists of four components:

  • Node.js web frontend

    This part allows a normal user to see devices available for control by the smart contract. The web frontend uses a Chrome extension called NeoLink to authorize transactions.

  • neo-pubsub.py

    Python Neo blockchain transaction monitor and MQTT queue

  • elcaro-contract.py

    This is the Neo smart contract on the blockchain that stores devices and their fees, if any, to operate.

  • IoT device firmware

    This is the code that operates the IoT device.

Video Demonstration

Check out a video demonstration of the complete system over at the Splyse, Inc. YouTube channel.

Run the Demo

  1. Go to https://github.com/CityOfZion/NeoLink and follow the instructions to setup NeoLink.

  2. Ensure that a wallet is open in NeoLink.

  3. Go to https://iot.splyse.tech/

  4. Login with:

email: neo@splyse.tech

password: neo
  1. You should now be on the Devices page. Enter a color, in the form of ff00ff or similar, into the setting input field and press pay. If your wallet is open you should see a message in the web page telling you to open NeoLink and authorize a transaction.

  2. Open NeoLink and authorize the transaction. It will only cost .00025 gas on TestNet.