Kasadaka

The KasaDaka “Talking box” is a platform designed to rapidly develop multi-lingual data-centric services to be run on anything from a RaspberryPi to a Data Centre

The software on Kasadaka is as much as possible Free and Open Source software to allow for community-development and to make it as affordable as possible. The Kasadaka project builds on information acquired from workshops in Burkina Faso, Mali, Ghana and Niger, focusing on the development of ICT services that support regreening activities in rural, often remote areas in the Sahel.

Kasadaka architecture

[This post is based on Andre Baart’s B.Sc. thesis. The text here is mostly written by Andre]

Generic overview of Kasadaka

Generic overview of Kasadaka

In developing (rural) communities, the adoption of mobile phones is widespread. This allows information to be offered to these communities through voice-based services. This research explores the possibilities of creating a flexible framework (Kasadaka) for hosting voice services in rural communities. The context of the developing world poses special requirements, which have been taken into account in this research. The framework creates a voice service that incorporates dynamic data from a data store. The framework allows for a low-effort adaptation to new and changing use cases. The service is hosted on cheap, low-powered hardware and is connected to the local GSM network through a dongle. We validated the working and flexibility of the framework by adapting it to a new use case. Setting up this new voice server was possible in less than one hour, proving that it is suitable for rapid prototyping. This framework enables further research into the effects and possibilities of hosting voice based information services in the developing world.

All information on how to get started with Kasadaka can be found on the project’s GitHub page: https://github.com/abaart/KasaDaka

The image below shows the different components and the dataflow between these components when a call is made. Below

The different components and dataflow

The different components and dataflow

Text in italics only takes place when setting up the call.

  1. Asterisk receives the call from the GSM dongle, answers the call, and connects it to VXI.
    Asterisk receives the user’s input and forwards it to VXI.
  2. VXI requests the configured VoiceXML document from Apache.
    VXI requests the configured VoiceXML document from Apache. Together with the request, it sends the user input.
  3. Apache runs the Python program (based on Flask), in which data from the triple store has to be read or written. Python sends the SPARQL query to ClioPatria.
  4. ClioPatria runs the query on the data present, and sends the result of the query back to the Python program.
  5. Python renders the VoiceXML template. The dynamic data is now inserted in the VoiceXML document, and it is sent back to VXI.
  6. VXI starts interpreting the VoiceXML document. In the document there are references to audio files. It sends requests to Apache for the referenced files.
  7. Apache sends a request for the file to the file system.
  8. The file is read from the file system.
  9. Apache responds with the requested audio files.
  10. VXI puts all the audio files in the correct order and plays them back sequentially, sending the audio to the GSM dongle.

This cycle repeats until the call is terminated.

 

2nd TMT Workshop in Bamako

videbo.wordpress.com

2016-05-10 13.14.35.jpg Kasadaka as presented by AOPP

From 7-9 May 2016, the second TMT-AOPP workshop was held in Bamako, Mali. This workshop was held in the context of the Tailor Made Training project that VU Amsterdam participates in together with the Malinese farmer organization Association des Organisations Professionnelles Paysannes (AOPP).

During the workshop, which was attended by around 25 AOPP members from all over Mali, we followed up on the results of a previous workshop in 2015, where we co-developed a number of use cases around improving the lives of rural farmers in Mali. Specifically, we developed two prototypes services accessible using simple mobile phones:

  1. An online marketplace for seeds. Farmers can call in to the system to place offerings of seeds or browse current offers of seeds of various quality levels in a specific region.
  2. A chicken vaccination service. For this service, an extension worker can register newly born chickens in the system. The system keeps…

View original post 210 more words

Kasadaka version 0.1

Through this post we would like to announce Kasadaka to the world. Kasadaka is a tool for knowledge sharing in a development context. Kasadaka brings information services to the rural poor in developing countries.

  • Kasadaka is built on small, cheap and low-powered hardware. You can build your own Kasadaka!
  • Kasadaka makes Web-like information sharing possible for the rural poor
  • Kasadaka features multiple ways of accessing information
    • Through voice-, sms-based, visual or textual interfaces
    • Through the Web, using mesh networks or over the GSM network
  • Kasadaka will feature a Linked Data triple store
  • Kasadaka allows for easy development of information services relevant to local communities in their preferred language