Reader small image

You're reading from  BeagleBone Home Automation Blueprints

Product typeBook
Published inFeb 2016
Publisher
ISBN-139781783986026
Edition1st Edition
Right arrow
Author (1)
Rodolfo Giometti
Rodolfo Giometti
author image
Rodolfo Giometti

Rodolfo Giometti is an engineer, IT specialist, GNU/Linux expert and software libre evangelist. He is the author of the books BeagleBone Essentials, BeagleBone Home Automation Blueprints and GNU/Linux Rapid Embedded Programming by Packt Publishing and maintainer of the LinuxPPS projects. He still actively contributes to the Linux source code with several patches and new device drivers for industrial applications devices. During his 20+ years of experience, he has worked on the x86, ARM, MIPS, and PowerPC-based platforms. Now, he is the co-chief at HCE Engineering S.r.l., where he designs new hardware and software systems for the quick prototyping in industry environment, control automation, and remote monitoring.
Read more about Rodolfo Giometti

Right arrow

Setting up the software


This time, to implement the software of this prototype, we can use a state-machine with the following states and their relative transactions:

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
BeagleBone Home Automation Blueprints
Published in: Feb 2016Publisher: ISBN-13: 9781783986026

Author (1)

author image
Rodolfo Giometti

Rodolfo Giometti is an engineer, IT specialist, GNU/Linux expert and software libre evangelist. He is the author of the books BeagleBone Essentials, BeagleBone Home Automation Blueprints and GNU/Linux Rapid Embedded Programming by Packt Publishing and maintainer of the LinuxPPS projects. He still actively contributes to the Linux source code with several patches and new device drivers for industrial applications devices. During his 20+ years of experience, he has worked on the x86, ARM, MIPS, and PowerPC-based platforms. Now, he is the co-chief at HCE Engineering S.r.l., where he designs new hardware and software systems for the quick prototyping in industry environment, control automation, and remote monitoring.
Read more about Rodolfo Giometti

State

Description

Actions

Transaction conditions

IDLE

Idle state; the washing machine is not working.

  • LED yellow off

  • LED red off

  • If sound is detected, set t0=t and move state to SOUND.

SOUND

Sound detected! Keep monitoring the environment for a while.

  • LED yellow is blinking

  • LED red is off

  • If sound is detected and t-t0 > timeout, move to RUNNING.

RUNNING

Continuous sound detected so the washing machine has started its job.

  • LED yellow is on

  • LED red is off

  • Alert the user

  • If no sound is detected, set t0=t and move to NO_SOUND.

NO_SOUND

No more sound detected! Keep monitoring the environment for a while.

  • LED yellow is on

  • LED red is blinking

  • If no sound is detected and t-t0 > timeout, move to DONE.

  • If sound is detected, move to RUNNING.

DONE

No more sound for a long delay; the washing machine has finished...