What is Ciao?
Arduino Ciao is a easy-to-use and powerful technology that enables Arduino sketches to communicate intuitively with the "outside World". It aims to simplify interaction between microcontroller and Linino OS allowing a variety of connections with most common protocols, social networks, third-party services and applications.
Arduino Ciao - from now-on simply "Ciao" - is formally a library to use in your sketches.
Ciao has been designed and developed to be modular and easily configurable. Its goal is to support several Connectors capable of interacting with system resources (filesystem, console, etc...) and to communicate with the most common and useful protocols (MQTT, XMPP, HTTP, SMTP, etc..) and applications (Jabber,Twitter, Facebook, etc.).
Ciao is open-source and distributed under MIT license: feel free to read it, suggest improvements, provide feedbacks and develop new features. The source code is available on GitHub.
Ciao is made of two main parts:
Ciao LibraryCiao Library is a lightweight library that can be used inside sketches for MCU to send and receive data, via serial communication, in a simple and intuitive way.
To understand better how it works and to start tinkering with it take a look at the following page.
Ciao CoreTo communicate with the "outside world" the Ciao Library interacts with Ciao Core: the key component of the Ciao technology on the MPU (microprocessor) side. Ciao Core runs over Linino OS, it is developed in python and it has been designed to enable communication with "outside world" via several modules called Connectors. Such connectors communicate with Ciao Core using JSON strings sent over a TCP socket.
Ciao Core, thanks to this smart and effective design, is able to:
- interact with as much connectors as you can possibly imagine;
- support connectors written in any programming language available on Linino OS.