Anemone Platform interconnects open hardware devices with a cloud and mobile application.
The cloud (we call it
Mr. Cloud in the platform terminology) is a place where your applications run.
Anemone application is called
Flow. One signed up user can have many flows running in the Mr. Cloud at the same time.
Mr. Cloud is a place to where all open hardware devices (we call them
Tentacles) are connected via MQTT. As a user signed up you can have any number of Tentacles connected to your account at the same time.
You can sign up to the Mr. Cloud for free or learn more about the platform at www.anemone.cloud. Usage of the Anemone platform is completelly free of charge.
Anemone application is called Flow. Flows run and live in the Mr. Cloud.
Flow is a computer program created using a flow based programming.
Every flow consists of one or more
Pipelines. Pipeline is a linear sequence of
Pipelines can fork, but they cannot be merged.
Flows have three types of nodes:
- Input Nodes
- Application Nodes
- Output Nodes
Flows are event based. This means that every single time when an input node is triggered, a
message is created and then passed through a chain of nodes connected to this input node (which we call a Pipeline). This happens till a last node in a pipeline is reached. If the last node is an output node, the resulting message is then send to the output device.
Flows in the Anemone Platform are created and edited online using a
Drag & Dropand
Anemone Platform does support multiple different nodes for every type. For example input node can be a physical button or a software button in the mobile app. Application nodes can send or load data from some API or be a
More about Flows
Anemone Platform can be used in a pure software way. But support for physical open hardware devices is present as well.
Open Hardware device connected to the Anemone Platform is called a
Tentacle can be any Open Hardware device with support of MQTT.
Tentacles can be managed in administration of Mr. Cloud. One signed in user can have multiple Tentacles in the system. When a Tentacle is added, its MQTT credentials are generated.
Two low cost Tentacles based on the hobby low-cost nodeMCU v2 are supported by default - a Button and Display.
Support for an industrial quality devices from the BigClown family is coming soon.
More about Tentacles
Anemone Platform ships with a Mobile App for both iOS (coming soon) and Android operating systems. The mobile app is called
Mobile Client in the platform terminology.
Mobile Client can be used by a signed in user to access Flows owned by him. User can interact with these flows by triggering input values and actions or by reading output values.
Content and options available in the Mobile Client are fully driven by the flow. As such can be configured exclusively in the Flow Editor.
You can download the ALPHA version of the mobile applications:
iOS version is coming soon
From the architecture (technical) point of view, the Anemone IoT Platform works in the following way.
Core of the platform is a web application written in Ruby on Rails. This application is the presentational website, the administration, the API for Mobile Client an MQTT subscriber. This web application is called Mr. Cloud.
Communication with Tentacles is performed via MQTT and coordinated by a mosquitto MQTT broker. Tentacles are the physical (hardware) part of the platform. Any hardware device capable of MQTT communication can be used as a Tentacle. We provide additional support for a couple of selected devices. But the platform is entirely open and it is not limited technically in this way.
Communication with Mobile Client is currently performed via RESTful JSON API. Updates are realized by HTTP pooling - we are aware of this limitation and a new version of the Mobile Client with full support for WebSockets will be released soon. Mobile Client is currently a multi-platform mobile application developed in Unity - this is causing many limitations as well, so the upcoming update will be a fully native application for both iOS and Android.
The parallel Flow pipelines execution is driven by a background job processing. We schedule a background job for processing one pipeline. When a fork is required, new job for a forked pipeline is scheduled. Whole system is running on multiple workers which means that a true paralelism can be achieved.
|Previous chapter: Welcome||Next chapter: Cloud / Editor|
Google Play and the Google Play logo are trademarks of Google LLC.