Today we would like to present Karotz’ software architecture, and take a first look at the possibilities it offers.

architecture karotz blog 292x300 Karotz software architecture

Architecture de karotz

Karot’z system is based on a Linux 2.6 kernel, uClibC and BusyBox. To this base we added different system libraries, multimedia libraries, web libraries, etc.

The Wi-Fi rabbit Karotz contains different independant modules, that communicate with each other through an inter-process communication system, in this case a D-Bus.

  • The controller is the heart of Karotz, it centralises all data that it receives from outside through our server, and it supervises the general functioning of Karotz.
  • Karotz to Karotz is the VoIP communication modul between Karotz.
  • The KarotzVM is the virtual machine based on V8 (created by Google), and offers the possibility to execute on-board applications.
  • The Scheduler is Karotz’ commander. It permits to planify the execution of tasks and JavaScript applications at a precise moment (for example it wakes you up at 7.00 h).
  • The Spirit Manager manages the different moods and behaviors of the rabbit.

Following modules make it possible to interact on the inputs and outputs of the rabbit.

  • RFID: detection / reading of RFID chips
  • Voice: voice recognition and speech synthesis
  • Multimedia: reading of multimedia files from the flash memory of the rabbit itself, from an USB or at distance through streaming (http, rtsp, mms)
  • Webcam: also takes photos when requested
  • Button : detection of different types of clics
  • LED: control of Karotz’ LED, management of the colours, the intensity and the pulsation’s speed
  • Earz: control of the ears and movement detection

There will be 2 categories of possible applications for Karotz.

Remote applications
The distant applications use the API web (REST), and can be developped in any programming language and on any system (smartphone, Windows, Mac, Linux, etc.).

Embedded applications
These are developped in JavaScript with our SDK and are executed from Karotz’ integrated sandbox, in a defined and secured environment. Only one JavaScript application can work at the same time.

VN:F [1.9.18_1163]
Rating: 5.0/5 (3 votes cast)
Karotz' software architecture, 5.0 out of 5 based on 3 ratings