Rochester Institute of Technology
Department of Computer Engineering
Senior Design Project — Spring 2017
- Joshua Milas
- Joe Gambino
- Ian Doten
- Evan McDonough
Cyclades is a home automation framework. It is a set of services that allow people to integrate normally hard to use programs into their applications. It allows you to build an application with the services, not build and application around the service.
The Nyx service allows you to submit audio files, and it will tell you what spoken text there is in the audio file.
The Hermes service allows you to submit strings and it will return an audio file containing synthesized speech of the string.
The Iris service allows you to write “plugins”, or mappings from strings to functions. For example, a function could be written to get the weather. Then a plugin would map the string “whats the weather” to that function.
The Arke service allows you to communicate the devices on heterogeneous networks. The way you communicate to a python program over wifi is the same way you communicate to an arduino over a serial. Arke implements a device model. Devices can do 4 things:
- Ask if its still alive and get its battery information
- Get its datatypes
With this, devices do no do anything unless asked by someone. There is an advanced device model that allows the devices to monitor some condition, and report back if the condition is met.
We also identified that there was no solution for any device that could be used for home automation. They were either too costly or were not power efficient. To solve this, we also designed a Titan board. The Titan board is very similar to an Arduino, but only costs about $5 to manufacture. It also comes with a wireless board for communication. A protocol and library was developed for use with these boards that abstracts the communication away from the user. The user then only needs to concentrate on what actions to perform.