You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems...

24
You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor- Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering University of California, Riverside Assoc. Director, Center for Embedded Computer Systems, UC Irvine Support provided by the National Science Foundation and Intel Contributing students: Susan Lysecky (PhD 2006, Asst. Prof. at U. Arizona), Andrea Lyons (senior), Caleb Leak (BS 2007), Shawn Nemetebakshi (MS 2005), plus about a dozen undergraduate students past and present
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    2

Transcript of You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems...

Page 1: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

You Can Do It – eBlocks Enabling Regular People to Build Useful

Customized Sensor-Based Systems

Frank Vahid Professor

Dept. of Computer Science and EngineeringUniversity of California, Riverside

Assoc. Director, Center for Embedded Computer Systems, UC Irvine

Support provided by the National Science Foundation and Intel

Contributing students: Susan Lysecky (PhD 2006, Asst. Prof. at U. Arizona), Andrea Lyons (senior), Caleb Leak (BS 2007), Shawn Nemetebakshi (MS

2005), plus about a dozen undergraduate students past and present

Page 2: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

2/24

The Problem What do these problems all have in common?

An aunt with a visiting niece who sleepwalks,

worried the niece will leave the house or get hurt

A working adult with an ageing parent at home –

did she get out of bed today, is she moving

around?

A small store owner with lazy employees – are they

in the storeroom, breakroom, or out back?

A homeowner who sometimes forgets to close the garage at

night

Page 3: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

3/24

The Problem All could be solved with sensors

Put motions sensors around the house,

connected to a beeper next to the bed

Put motion sensors around the house,

monitor from the web or cell phone – or even be notified if no motion by

certain time in the morning

Put motion and sound sensors throughout, small

LEDs (lights) near cash register

Install contact sensor and light sensor, and indicator next to

the bed

Page 4: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

4/24

Why Can’t We Just Do This?

LEDreceive

contact switch

light sensor

AND

transmit

Widely usable “Lego”-like sensors don’t exist today

Costly, hard to use, plugged into wall...

But new technology makes Lego-like sensor blocks possible...

Page 5: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

5/24

Shrinking Processor Size/Cost Enables New Solution

Transistors/chip doubling every 18 months 1980 – 10,000 transistors/chip Today -- >1 BILLION transistors/chip (same size)

Your $500 PC today was a $5 million supercomputer 20 years ago AMAZING!!!!!

Page 6: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

6/24

Shrinking Processor Size/Cost Enables New Solution

Moore’s Law also means chips can be SHRUNK

1980 – 10,000 transistors about 1 sq cm (fingernail)

Today – size of a spec of dust

3 yrs

6 yrs

9 yrs12 yrs

15 yrs

Page 7: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

7/24

Shrinking Processor Size/Cost Enables New Solution

Make sensors smarter By adding processor+battery

Today, tiny and cheap Becomes a "block" easily

connected to other blocks

http://www.templehealth.orgCourtesy of Joe Kahn

Page 8: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

8/24

Shrinking Processor Size/Cost Enables New Solution – eBlocks

Existing component view New "eBlock" view

Button yes/no

Light Sensor

yes/no

Magnetic Contact Switch

yes/no

LEDyes/no

yes/no Beeper

Electric Relay

yes/no

Page 9: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

9/24

eBlocks Just connect blocks, and they work

No programming knowledge, no electronics knowledge

Button yes/no

LED

yes/no Beeper

yes/noLight Sensor

yes/no

Page 10: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

10/24

What's Hard (The Research Part)

(1) Finding right set of building blocks

Toggle

Splitter

Tripper

2-Input Logic

3-Input Logic

Splitter

4-Input Logic

Splitter

Prolong (short)

1 2 3 4 5 6 7 8 9

Prolong (long)

1 2 3 4 5 6 7 8 9

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Too many – Overwhelming (too much choice)

2 Yes detector

2 No detector

Too few – Overwhelming (too much configuration)

SuperBlock

1 2 3 4 5 6 7 8 9

AND OR

yes no

When A is B is

then the output is yes

1

2

3 4

5: Splitter

1 2 3 4 5 6 7 8 9

6: ...

Page 11: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

11/24

What's Hard (The Research Part) (2) Making the blocks understandable

People NOT likely to read directions Those that do are unlikely to understand

A B Output

no yesno nono yesno yesno yesyes nono yesyes yes

Logic Blockconfigurable DIP switch

A B

Combine

A is yes, B is yesA is yes, B is noA is no, B is yesA is no, B is no

The output should

be yes when:

yes no:

Phrased truth table

yes no

the output should be

A B

When the input is

outCombine

A is yes, B is yesA is yes, B is noA is no, B is yesA is no, B is no

Phrased truth table embedded in sentence

yes no

The output should be

When the input is

out

A B

A BA BA BA B

CombineColored truth table embedded in sentence

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Logic Sentence

Example: Combine block

Performed extensive user testing (over 500 students,

kids, and adults) over two years

Most success

Page 12: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

12/24

What's Hard (The Research Part) (3) Batteries must last years, yet

performance should appear continuous Blocks are off 99.9% of the time

time

f t f

(a)

(b)

(d)

(c)errorerror

< <

f tf f f< <

interpreted as

Developed theory to map eBlock events to continuous time

Developed custom CAD tool to automatically find the best block parameter settings out of the billions of possibilities

Page 13: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

13/24

eBlocks Prototypes

>100 prototypes, size of deck of cards (trend: smaller) 2-3 years on 2 AA batteries (trend: longer) Can communicate via wire >1.5 miles, 150 ft wireless Integer blocks too

Page 14: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

14/24

eBlocks Example "Garage Open at Night" detector <10 minutes to build

Need to indicate garage open at night – use LED block

LEDDetect night-time – use Light Sensor block

Light Sensor

Detect garage door open – use Contact Switch block

Magnetic Contact Switch

Plug pieces together and the system is

done!

Use Combine block to combine light sensor and contact switch into one

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Page 15: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

15/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Page 16: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

16/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Button

Page 17: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

17/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Button

Light Sensor

Page 18: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

18/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Button

Light Sensor

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Page 19: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

19/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Button

Light Sensor

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Beeper

Page 20: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

20/24

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging User is able to

configure various blocks by clicking on switches

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Button

Light Sensor

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Beeper

Page 21: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

21/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging User is able to

configure various blocks by clicking on switches

Connections created by drawing lines between blocks

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Button

Light Sensor

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Beeper

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Page 22: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

22/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging User is able to

configure various blocks by clicking on switches

Connections created by drawing lines between blocks

User can create, experiment, test and configure design

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

SensorsLight

Sensor

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Beeper

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Light Sensor

Button

Page 23: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

23/24

Graphical Simulator

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

User specifies and tests block design

Java-based simulator User chooses

between pallets Blocks added by

dragging User is able to

configure various blocks by clicking on switches

Connections created by drawing lines between blocks

User can create, experiment, test and configure design

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

SensorsLight

Sensor

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Beeper

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Light Sensor

Button

Page 24: You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.

Frank Vahid, UC

Riverside

24/24

Summary and Current Focus eBlocks enable regular people to build

customized sensor systems themselves You Can Do It!

Current focus – Applications Hearing/vision impaired – customize homes Aging at-home parents – privacy-respecting

monitoring (live at home longer) Middle school kids – excite them about

engineering Univ. of Arizona also researching education aspect

Engineering – fast prototypes Patent pending, likely to be commercialized

in next 5 years