Coder Social home page Coder Social logo

tubleronchik / robonomics Goto Github PK

View Code? Open in Web Editor NEW

This project forked from airalab/robonomics

1.0 0.0 0.0 29.38 MB

Robonomics Framework by Airalab

Home Page: https://telemetry.polkadot.io/#/Robonomics

License: Apache License 2.0

Rust 96.87% Nix 0.47% CMake 1.43% Makefile 0.07% HTML 0.23% Shell 0.68% Dockerfile 0.25%

robonomics's Introduction

The Robonomics Framework

License CI Status Release Downloads Matrix

1. Intro

Robonomics project implements a software platform for human-to-machine / machine-to-machine technical && economic communication. Robonomics platform includes a set of open-source packages and infrastructure for Robotics, Smart Cities and Industry 4.0 developers.

Structure of Robonomics Framework followed.

  • Robonomics Node - substrate-based blockchain node with Robonomics Network extensions.

  • Robonomics CLI - console line primitives that make framework functions runnable.

  • Robonomics IO - stream-oriented library with support general set of sensors and actuators (including virtual devices like PubSub or stdin/stdout) that makes hardware interaction easy.

  • Robonomics Protocol - network library that provides primitives to build P2P communication for Industry 4.0 and Smart City cases.

  • Robonomics Frame - a collection of pallets suitable for Smart City and Industry 4.0 cases.

2. Try it out

When connection is success you can explore Robonomics Testnet and DAO IPCI chain.

3. Documentation

4. Install node

Robonomics on Substrate binary blobs available as an assets in releases. Latest version you can try to build from source code.

4.1. Building from source

Ensure you have Rust and the support software installed:

curl https://sh.rustup.rs -sSf | sh
# on Windows download and run rustup-init.exe
# from https://rustup.rs instead

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

You will also need to install the following packages:

  • Linux:

    sudo apt install cmake git clang libclang-dev libudev-dev
  • Mac:

    brew install cmake pkg-config git llvm
  • Windows (PowerShell):

    # Install LLVM
    # Download and install the Pre Build Windows binaries
    # of LLVM  from http://releases.llvm.org/download.html

Install robonomics node from git source:

cargo install --force --git https://github.com/airalab/robonomics --tag v0.21.0 node-cli

Run node in Robonomics Testnet:

robonomics

Or run your local development network:

robonomics --dev

4.2. Building with Nix

Install Nix package manager:

curl https://nixos.org/nix/install | sh

Run in Nix shell:

git clone https://github.com/airalab/robonomics && cd robonomics
nix-shell --run "cargo run --release"

5. Network maintaining

Currently Robonomics on Substrate testnet is maintained by developers but anyone can support the project by several ways described below.

5.1. Full (collator) node

You can support the network just by launch the node. Every additional full node of blockchain helps it to be more sustainable and fault tolerant. Robonomics node binaries is available on releases or could be build from source.

6. Robonomics I/O

Especially to make hardware interaction easy we introduce robonomics_io crate. This crate implements two kinds of devices: source - device that intended to read a data and sink - device that intended to write data. This approach suits the pipelines paradigm well and implemented in Robonomics CLI as io subcommand.

$ robonomics io
robonomics-io 0.18.0
Run I/O actions using Robonomics Framework.

USAGE:
    robonomics io [FLAGS] [OPTIONS] <SUBCOMMAND>

SUBCOMMANDS:
    help     Prints this message or the help of the given subcommand(s)
    read     Read information from device
    write    Write information into device

For example, the sentence that simple read value from Nova SDS011 sensor is followed.

$ robonomics io read sds011
{"timestamp":"1588090281","pm25":0.5,"pm10":1.5}

Is it also possible to combine IO actions to get something useful, like this:

$ robonomics io read sds011 | gz | robonomics io write pubsub my-sensor-data

The sentence above reads JSON values from a sensor, compresses it using gzip, and publishes it into my-sensor-data topic.

7. Robotics integration

Special feature ros helps to use Robonomics Substrate modules in ROS-enabled cyber-physical systems.

7.1. Building with ROS feature

  1. Install ROS using instruction.

  2. Import ROS environment:

    source /opt/ros/melodic/setup.bash
  3. Build with ros feature:

    cd bin/node/cli && cargo build --release --features ros

robonomics's People

Contributors

akru avatar bkchr avatar ensrationis avatar gavofyork avatar jesseabram avatar kayryu avatar khssnv avatar mischi avatar shawntabrizi avatar vol4tim avatar vourhey avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.