- Introduction to Carriots
- Entities: logic vision
- Components: funcionalities
Carriots is a M2M platform with 3 main goals:
- Fast and cheap M2M application development
- Easy IoT integration in your products
Carriots audience range is wide. From DIY amateurs to big companies contributing to the IoT world. If you have a device and want to connect it to the world or to your own private system on the cloud this is your platform. No matter the complexity of your project we can help you, just let us know.
Carriots ecosystem can be seen in two main blocks:
- Our logic organization, the entities needed to model your M2M projects
- Our component architecture, the tools used to make it real
Entities are the way Carriots model IoT projects.
Carriots is a system that connect devices to devices, devices to other systems, systems to devices and systems to systems. If you connect systems to Carriots they can also be modeled as device. Definitely, devices are everywhere in Carriots:
- Projects, Services, Groups and Assets are entities in a hierarchy for grouping and structure your devices
- Streams are associated to devices
- Listeners and Rules are related to events that raises in a device lifetime
- Carriots Example Hierarchy
All Carriots devices are associated to a service and all services must belong to a project. So you have to create a project to start working with services and then with devices. Creating a project is as simple as specify a name under which all services related to that project will be covered. Projects can be disabled manually causing all services to be disabled too even if individual enabled flag is marked. Disabled services do not attend any request related to them (data reception or publication, updates, etc.).
Services are device or assets with common behavior. Triggers for data exportation are associated to services. Triggers are configurations for publishing data from services devices automatically or manually. See our How to publish data tutorial for more details.
- Carriots Hierarchy
Carriots is a powerful platform that receives data streams (in a quite simplistic view). Devices may have listeners that wait for an event to occur. Events, like receiving data or persisting data, may launch a listener and execute his logic.
A listener in Carriots can be associated to any hierarchy entity, from Project to Device. If you associate a listener to a project, all devices below the services of that project will be affected. If you associate a listener to service, all devices below the groups of that services will be affected. And so on.
For example, one listener may be assigned to the parking@carriots service so all devices below the groups floor1@carriots and floor2@carriots will be affected, supposing those groups belongs to the parking@carriots service.
A listener wait for an event to occur in the context of a device and then evaluate its content. For example you have a listener “listening” data_received events for all movement sensors of group ceiling@carriots.
- Carriots Business Logic
Carriots web page will be the support of the official documentation and important information about the platform. You will find:
- Technical documentation
- Frequently Asked Questions
- Feedback forms
Carriots management with a web interface. Main functionalities:
- Account data
- Entities management
- Log & console
Carriots REST API is the way devices and other systems interact with the platform. It is a standard protocol based on HTTP/S and it is plain text JSON or XML formatted.
Check all the details in our REST API documentation
Carriots SDK (Software Development Kit) is the core intelligence engine in Carriots ecosystem. Its based on Groovy scripting technology and have libraries to help you work with all Carriots ecosystem. Those libraries are built to be used in Carriots execution engine and therefore are internal libraries. They are imported in rules or listener expressions and can access all your data. Check our Carriots SDK documentation for more details about them.
For external software development, Carriots REST API will cover the same functionalities.