SMART allows users to graphically compose applications by tying together their smap connected devices with additional control logic. The goal of this project is for everyone to make the full use of their devices to meet individual specific needs. SMART scans for available devices and allows the user to run any of their created apps whose devices are all within range. The devices and control logic are represented as nodes that can be connected together with 'wires' using an intuitive drag and drop interface.
Users create app on a mobile device (currently only Android and IOS are supported). After the app is saved to a server the user may issue commands to start, pause, or delete the app. The server executes the app and makes queries to the smap database to control the various devices the app uses.
Here is a more detailed diagram of the implementation:
These are some example applications built with SMART.
The one on the left connects together a button, an IR temp sensor
and an LED strip. When the button is pressed the LED colors
will change in proportion to the sensed temperature.
The app on the right ties the same strip (it had been renamed) together with
the z-axis of an accelerometer. The brightness of the lights are now
proportional to the angle of the accelerometer. When it is facing
down the lights are off, when it faces up the lights are
at full brightness. It was created by one of the instructors
as they where evaluating this project.
This was done as the final project for Berkeley's CS194 -
The Internet of Everyday Things. Project partners where
The repository is hosted on github here