Karotz’ software architecture
Today we would like to present Karotz’ software architecture, and take a first look at the possibilities it offers.
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 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.
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.).