MESHBLU

Octoblu's Open Source IoT Platform

Think: Twitter + Firebase for IoT

Meshblu is a secure cross-protocol, machine-to-machine instant messaging platform with an open plugin architecture for connectors





Messaging

Secure cross-protocol messaging platform with APIs supporting HTTP, WebSockets, MQTT, CoAP, AMQP, and XMPP.

Smart Devices

Javascript-based open plugin architecture for connecting and communicating with any IoT device i.e. Phillips Hue, Nest, Wemo, etc.

Streaming

Realtime sensor and message event streaming to any datastore in any network i.e. Splunk, Mongo, Hadoop, etc.

REST APIs

Javascript-based open plugin architecture for connecting and communicating with any REST API or SaaS service i.e. Slack, Twitter, Netscaler, etc.





Twitter vs. Meshblu


Twitter is designed for human communications. Meshblu is designed for machine communications. Like Twitter, Meshblu allows machines to "follow" or subscribe to other machines messages. Machines can "tweet" or broadcast messages to any other machine subscribed to its events. Machines can "direct message" or private message one or more other machines.


Like Twitter, Meshblu has a messaging firehose. With the proper permissions, machines can "spy" on other machines or groups of machines and receive all events and messages related to a machine or group of machines. Meshblu firehose data can stream directly into private datastores such as Splunk, Mongo, or even Hadoop.


Unlike Twitter, Meshblu's communications between machines are encrypted with private/public keys. Meshblu also institudes a set of whitelists and blacklists to determine which other machines are allowed (or not allowed) to discover, message, subscribe, and configure each machine. In addition to HTTP protocol traffic, Meshblu has APIs for communicating with other IoT protocols including: WebSockets, MQTT, CoAP, AMQP, and XMPP. Machines speaking any of these protocols can communicate to any other machine connected to Meshblu regardless of protocol.


More Info






Firebase vs. Meshblu


Meshblu has a built-in device directory. Each machine, smart device, and REST API service is represented as a unique UUID in our device directory. Each UUID in the device directory is basically a JSON document store allowing you to get and set properties, permissions, and even data associated with the UUID.


The current state of each machine or device can also be stored in the device directory. This allows you to tell a device that it should be green rather than sending it a message to turn green. Regardless if the message is received or missed, the smart device turns green as soon as the state is update and/or the device has Internet connectivity to read its state.



Connectors


Meshblu supports an open plugin architecture for connecting smart IoT devices and REST APIs / SaaS services to its messaging engine. Once connected to Meshblu, our JSON Rules Engine can be used to automate events and messages based on state or messages received from these devices and services. Our connectors are typically written in Javascript.


Device Connectors REST Connectors


Meet Team Octoblu

We are a group of like-minded geeks brought together for the sole purpose of building SkyNet!

Open Source


Meshblu and its connectors are all open source on Github.



Protocols

  • HTTPS
  • WebSockets
  • MQTT
  • CoAP
  • AMQP
  • XMPP

Platform

  • NodeJS / Javascript / Go
  • 100s of microservices
  • runs in Docker containers
  • scales via Docker Swarm

Examples


Here are a few examples on getting started with Meshblu.