/edi

Hackerspace automation construction kit

Primary LanguagePythonOtherNOASSERTION

EDI

What is EDI?

EDI is a hackerspace automation system designed to be, well, hacker friendly :)

Build around an AMQP Server and small Apps. Customize EDI by editing code not XML files.

Most Apps are written in python followed by bash and Clojure. A library for python is included as well as a helper tool to easily connect shell scripts.

Concept

Open

  • Develop with any programming language
  • No access control to keep people out

KISS

  • Loosely coupled subsystems with simple tasks
  • Keep state local
  • Each subsystem runs as own process

Message-based

  • Subsystem communicate via messages
  • Broker routes messages

Distributed

  • Subsystems can run anywhere

Features

  • IRC Bot
    • sed substitution
    • karma
  • User Presence
  • login
  • logout
    • eta
  • Help
  • Automation
    • DMX Lamp control
    • 433Mhz
    • MPD
  • Text-to-speech
  • Init System
    • Room shutdown, startup
  • Greetings
    • TTS: Hello User once a user logs in
  • Gimmicks
    • Weather
    • Fortune

Documentation

In doc/ folder or as html:

http://files.irq0.org/c3pb/edi-doc/doc/doc.html

Ideas, Todos

Features

jabber bot

  • user same msg exchange as irc bot
  • Possible routing keys: “jabber.recv.raw” “jabber.send.raw”

calendar integration: source

  • Repeatedly parse calendar files. Ideally iCalendar. Load from Caldav? google calendar?

Variants

Calendar Commands
  • Calendar contains EDI commands. Tool emits commands at specified times.
  • Alternative to cron + emit_cmd script
  • Could be useful to build an alarm clock
Events
Event
Something is going to happen at a point in time. Wie das digitale Zeitalter..

set irc topics/modeline

  • Calendar events like Smalltalks
  • Something like the emacs modeline?

Voice Recognition

Idea

Speech to text. At least in english. Perform natural language processing to extract meaning. Generate commands.

Tools, Ideas

pocketsphinx

pocketsphinx is a cpp implementation of sphinx, smaller and not java.

  • debian/ubuntu packages: https://launchpad.net/~dhuggins/+archive/cmusphinx
  • transformations:
    • we can’t recognize users by voice.
    • “!say” not nice to say. instead:
      • “user command <user> <command>”
      • “UC <user> <command>”
      • “command <command>
      • “do <command>”
  • “EDI: command say foo”
  • “EDI: user command seri login”
  • “EDI: user command seri logout”
  • “EDI <TONE> ”
wit.io
  • natural language processing web app
  • does the text -> meaning part
  • exports sphinx language models

integration

msg
recv
voice recognition with some custom transformations
send
notify.audio?
asterisk
  • .. we can recocnize users by callerid
  • login by phone?
  • desktop edi voice clients based on SIP

License

Distributed under the GPLv3 unless otherwise specified.

Contact

  • seri on hackint; irq0 on freenode; Ask around in #c3pb
  • Reference EDI setup runs in #c3pb on hackint and in the Subraum hackerspace