Do you have any Internet of Things (IoT) smart devices (Nest, Hue lights, MyQ garage doors, Wemo outlets, etc) in your home or office yet? Are you getting tired of reaching for your phone to interact with these devices? Me too. In fact, I’ve started calling this dissatisfaction, “App Fatigue.” Don’t you wish that your smart devices could communicate with each other directly? Sounds easy, right? What’s the problem?
There are dozens (if not hundreds) of public protocols for smart devices to choose from — not to mention that many smart devices actually use their own proprietary protocols. Keep in mind that each of these protocols has pros and cons. Some protocols are better for limited batteries (like MQTT) or limited processors (like HTTP) or limited bandwidth (like CoAP). Other protocols are better at longer range communications, but consume more power (like LoRa). For a deeper dive on these protocols and more, please check out my interview with Stacey Higginbotham on the IoT Podcast episode 74.
What if there were an IoT platform to make communications between disparate devices and protocols simple? Well, there is — it’s called Citrix Octoblu!
Our patented approach creates a common routing language that all connected devices can understand. We call it “secure, cross-protocol machine-to-machine (M2M) instant messaging.” Devices connect to Octoblu’s Meshblu IoT platform using ay supported protocol (today, we support: HTTP, WebSockets, MQTT, CoAP, XMPP, and AMQP). Meshblu assigns each device a 36-character UUID and strong token for authentication. Smart devices (machines) simply send messages to other devices (machines) via their respective UUIDs and Meshblu handles the rest of the cross-protocol communications, transformations, and routing.
The image above is a simplified Octoblu architecture diagram where by everything (including our drag-and-drop automation designer and Nanocyte automation flow engine) connects to Meshblu, our core IoT messaging platform. Meshblu is designed to run in any cloud, as well as on-premises or even on the edge of a network. All communications are encrypted at the transport layer regardless of protocol. All messages flowing through Meshblu are ephemeral (short-lived/not stored). The message payloads can also be encrypted with private and public keys. Each UUID (device) also has a concept of access roles implemented as whitelist and blacklist arrays. These lists describe which other UUIDs can (or cannot) discover, message, subscribe, and/or configure any given UUID.
Here’s an example how a simple trigger node to debug node in the Octoblu designer works with Meshblu and the Nanocyte flow engine.
When the trigger is clicked, a series of Meshblu APIs are used to process the trigger, and send the result back to the debug node.
All communication amongst the different parts of the Octoblu platform are handled by Meshblu.
- The web browser generates a Meshblu message that represents the button on the trigger, creating an HTTP POST request to the Meshblu HTTP API
- Meshblu delivers the message to the Flow device
- The Flow device has a Webhook message forwarder that forwards the message via an additional HTTP POST to the Flow Engine web service
- The Flow Engine processes the message, and generates a response message, addressed to the Flow
- The Octoblu Designer is subscribed to the Flow messages and broadcasts, connected through the Meshblu Firehose
- The Designer receives a copy of the message from the Flow and updates the debug node in the web browser
Octoblu already connects to hundreds of smart devices, wearable devices, and web services out-of-the-box. Once connected, it’s super simple to create automations using our drag-and-drop designer — or using our native cross-protocol APIs.
To date, there are more than 11,000 registered users on Citrix Octoblu connecting more than one million devices that send more than 7 billion messages on a monthly basis. What will you build today?
Sign up and start building your secure, cross-protocol IoT applications using Citrix Octoblu today!