Kalliope has recently introduced the “community module” system that will help user share neurons, tts and stt easily via a simple git url.

This blog introduce quickly how it works and update the installation process of the picamera simple neurons to this method

Introducing the community neurons system

Goal here is to provide a way for the user to share their neurons. I believe the team are (or will) work on a “market place” for neurons, but as of today, the list is only available on the github doc page here, so you’ll have to create a pull request to add your custom neuron in this list.

The neurons needs to be on a dedicated git repository and contains a dna.yml and a install.yml files on top of the python code of your neuron

dna.yml file contains the description of the module, including its name, the version of kalliope supported and some tags.

install.yml file contains an ansible playbook that will
which include the dependencies that might need to be installed when installing the neuron (could be via pip or apt-get). It uses ansible behind the scene to do so.

More information about creating your neurons here.

Example with picamera neuron

So following the new rules, I’ve created a dedicated repository for the picamera neuron that can be found here.
As the doc says, you just need to do

1
kalliope install --git-url https://github.com/bacardi55/kalliope-picamera

And it should install the picamera python library as well as cloning your repo in your neuron resource directory.

The neuron resource directory is set in the settings.yml like this:

1
2
3
4
resource_directory:
  neuron: "resources/neurons"
  stt: "resources/stt"
  tts: "resources/tts"

Then, as before, you can create a brain to use this neuron like this:

1
2
3
4
5
6
7
8
9
10
11
---
  - name: "Take-pictures"
    signals:
      - order: "take pictures"
    neurons:
      - camera:
          number_of_picture: 3
          directory: "/home/pi/Desktop/PIctures/"
          timer: 1
      - say:
          message: "Picture taken"

And voilà!