Software Operative system, Software


This section describes the software components required to run CoderBot.

Raspbian

CoderBot is based on the Raspbian Linux distribution, it is required to update the firmware and the OS to the latest version to avoid incompatibilities, as all other modules will be kept up to date.

Installation

Download the preconfigured Raspbian image and upload in the SD card with one of the following tools, according to the OS of the PC/Mac you are using: Linux, OSX, Windows.

It is also possible to install a clean Raspbian image and install all of the components described below.

UV4L and SimpleCV

UV4L is a user-mode driver for the Raspberry Camera module, it is required unless you plan to build a "blind" bot.

SimpleCV is a Computer Vision framework which includes several libraries, most notably OpenCV, it allows image processing and object detection.

As of this writing, in order to make it work properly, the OpenCV library must be recompiled on the Raspberry, this process requires about 10-11 hours.

Installation

Follow the instructions at this link.

hostAPd, DNSMasq

WiFi in Access Point mode.

This tools allows CoderBot to instantiate its own wifi LAN, so you can control the bot even in places where an open and stable wifi connection is not available.

Network has 10.0.0.x address, CoderBot itself is always 10.0.0.1

Installation

Follow the instructions at this link.

PIGPIO

Libreria per la gestione dei GPIO.

Raspberry PI dispone di alcuni I/O "general purpose", ovvero configurabili da software come input oppure output. Tramite questa libreria รจ possibile configurare, leggere e scrivere gli I/O direttamente da Python.

Installation

Follow the instructions at this link.

ESpeak

Audio and Speech synthesis.

CoderBot uses the Raspberry PI audio port to output sounds and synthetised speech to provide feedback to humans.

Installation

Follow the instructions at this link.

Flask

The integrated webserver (python), used to serve the html5 web application.

Installation

Follow the instructions at this link.

CoderBot runtime

This is the custom CoderBot software.

It is, in turn, composed of several components and libraries:

  • Low level interface to motors and videocamera (Python lib)
  • HTML5 application (python, html, javascript)
  • Programming environment based on blockly (python, html, javascript)

Installation

Follow the instructions at this link.