Reference   Language | Libraries | Comparison | Changes

Ciao library

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 made of two main parts:

  • Ciao Library: developed in C;
  • Ciao Core: developed in Python;

Ciao Library

Ciao 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.

Ciao Core

To 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.

Connectors

Connectors A Connector is a standalone module that on one hand communicates with Ciao Core to send/receive data to/from the microcontroller, and on the other connects to external services and/or applications trought specific protocols. Connectors are the tools of Ciao to connect to the World. Main Connectors, like RestServer, Shell, MQTT are pre-installed with Ciao, other connectors and Third party connectors are available in the Connectors Repository, and installable via opkg, see the installation section for more information.

Note

If you haven't installed the Ciao library yet, you won't get notified about its updates. Anyway, you get the library status just writing its name in the search field on top of the Library Manager.

Examples

  • FileOverwrite? : Open a file in write mode, overwriting it
  • FileRead? : Open a file, reads its contents and shows it via serial
  • MQTTBluemix : Sends via MQTT brightness and temperature information that will be shown graphically in the blueMix IBM system
  • RestClient? : How to implement Rest Client
  • ThingSpeak? : Interaction between the Ciao Library and the Thingspeak Cloud
  • ThingSpeakTalkBackRecv? : Interaction between the Ciao Library and the Thingspeak Cloud
  • ThingSpeakTalkBackSend? : Interaction between the Ciao Library and the Thingspeak Cloud
  • RestServer? : Allows access to the analog and digital pin of the board via rest calls
  • BoardModel? : Get board model, using awk command
  • CPUUsage? : Get the CPU usage every one minute, by reading /proc/stat system file
  • Date? : Get the system current date


Last revision 2016/11/24 by AG

Connectors

Internal connectors

External Connectors

Functions

Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

Share