Giter Site home page Giter Site logo

id93digi / hellomesh Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rightmesh/hellomesh

0.0 0.0 0.0 141 KB

This is the simplest example Android app using the RightMesh framework - it shows how to discover other users using the same app, send and receive data on the mesh and open the user configuration page.

Home Page: http://www.rightmesh.io

License: GNU General Public License v3.0

Java 100.00%

hellomesh's Introduction

Hello Mesh

This is the simplest example app using the mesh framework - it shows how to discover other users using the same app, send and receive data on the mesh and configure the role within the mesh (forwarder or not, internet sharer or not)

How does it work?

The RightMesh library has an autonomous networking layer which manages the connectivity between devices using Wi-Fi, Bluetooth and Wi-Fi direct. It does this by linking together hotspots using our patent-pending switching technology.

In addition to helping the devices make the physical connections to each other, RightMesh implements a neighbour discovery protocol which allows devices to discover each other across many hops.

As a developer you will receive events when other devices running the same app join the network (even if they are connected through devices which are running different apps). You will also receive an event when data is received from another device running the same app as you.

RightMesh abstracts away the idea of IPv4, IPv6 addresses, MAC addresses etc., since any given device may have any number of connections into the mesh at a given moment. Instead every device has a MeshID which is used in place of these other types of addresses.

The MeshID is actually an Ethereum compatible account which will be used very soon to keep track of how much data has been forwarded and received so that people can be incentivized to use the mesh.

You can send byte arrays of data to other mesh devices and RightMesh will handle reliable communication for you. While the library does it's best to ensure connectivity to as many devices as possible at all times, the mobile nature of the devices means they may disconnect from each other . RightMesh implements networking layers to handle this enabling reliable congestion-aware end-to-end communications. Compared to similar libraries, RightMesh does not broadcast to all other devices in the mesh, it actually forms paths and performs routing using this two-layer system.

For the developer, this means when they issue a send call, they can trust that the data will be received on the other side, even when the network grows in size, and despite the mobile nature of the devices.

Documentation

Our API reference is available at https://developer.rightmesh.io/api/

A detailed step-by-step breakdown of how to get started can be found in our reference guide: https://developer.rightmesh.io/reference/

In order for this sample app to work, you need to obtain RightMesh developer account, and API key from our developer website: https://developer.rightmesh.io/

Set your username, password and key in the app build.gradle file. The main source code is available in MainActivity.java

hellomesh's People

Contributors

fractalic avatar frazerseymour avatar raycho avatar keeferrourke 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.