Giter VIP home page Giter VIP logo

nesproject's People

Contributors

enricomeloni avatar rzippo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

enricomeloni

nesproject's Issues

Motion light control system

Each door has two nodes representing the two directions of movement. The motion sensing is abstracted as the clicking of the corresponding button.
These nodes communicate with the LightControllers of the adjacent rooms, which will keep a counter (>=0) for the number of people that are supposed to be in the room. If the controller is in automatic mode, the lights are switched on when counter > 0, off otherwise.

"shut off all the lights" command in CU

Provide a "shut off all the lights" command on the Central Unit. As the command is thought to be used when leaving, it should shut off all the lights which are in a room with 0 people inside, even if in manual mode.

Movie light dimmer

  1. When you press play, dim the lights gradually over 7 seconds.
  2. When you press pause, bring the lights up by 30%.

Home teather node:

  • button click switches between play and pause
  • double click stops the movie
  • if stopped red light on, off otherwise
  • if paused blue light on, off otherwise
  • if playing green light on, off otherwise
  • when switching, send a message to room light node to inform of new state

Light node:

  • button click switches between on and off
  • when play message arrives, if light on, lower it to 10%
  • when pause message arrives, if light on, bring it up to 30%
  • when stop message arrives, if light on, bring it up to 100%

Gate node doesn't send back light measurement

Code says:

case LIGHT_VALUE_COMMAND:
{
       //TODO: send result back to CU
					
	double externalLight = getExternalLight();
	printf("External light value: %d\n", (int) externalLight);
					
	break;
}

Garden lights not implemented

Finally, the user also has the possibility to switch on and switch off the lights in the garden
. This is done by directly pressing the button of Node1. The garden lights are on when the
green LED of Node1 is on, and the red one is off. Vice versa, the garden lights are off when the red LED is on, and the green one is off.

Gestione automatica porta esterna

Da progressLog.txt:

Se si può supporre il bottone del door node come posto sulla porta: gestione temporizzata della porta.
Per esempio si apre la porta premendo il bottone dall'interno, il nodo la richiude automaticamente dopo tot secondi (non servono chiavi).
Dall'esterno servirebbe comunque una chiave ma non si può "approssimare" comunque col bottone: dopo aver aperto con la chiave, si occupa il nodo di richiudere senza dover riusare le chiavi dall'interno.

Smart mailbox

The mailbox detects contents using a weigth sensor.
This is simulated as the pressing of the button: 1 time for empty, 2 times for full.
The mailbox signals to the CU any change of state, which will signal it with a blinking led.

Autobalancing lights

Light node with a button to switch it on/off. Being on is signaled with a blue led on.
The light sensor is used to detect the natural light and balance it, e.g. if the natural light is 40% of the desired level it's balanced by 60% from the artificial light.
Each light node is independent.
A "shut off all lights" command is added to the CU

Light Controller

A Light Controller keeps count of how many people are in the room and controls lights in the room based on that. It also measures light intensity with its sensor. It has two modes:

  • automatic, when count >= 0 and light >= treshold, the lights in the room are set on. When count = 0 the light are set off.
  • manual, when a switch is pressed, the lights are toggled.

If the light sensor of the LightController measures a light level above a certain treshold, then even if the automatic mode is set, the lights won't be turned on.

Manual lights control system

A room has zero or more switch nodes, which expose a button. They are used to control the state of the LightController of that room.
By double clicking the button, the LightController will switch between manual or automatic mode.
By single clicking the button, the LightController will, if it is in manual mode, switch the lights between on and off.

The mode of the LightController is represented by leds on all the Switches of the room.

Oven pre heater

Clicking a button on the oven starts its preheating. When the oven has finished, it notifies the home owner with an alert on a speaker.

Oven node:

  • button click starts oven preheating
  • when starting preheat sends a broadcast to speakers to prepare for alarm
  • preheating lasts an amount of time (arbitrary)
  • when preheating is over, it sends a broadcast to speakers to turn on alarm
  • button click turns off the oven
  • stops timer if it didn't trigger yet
  • sends broadcast to speakers to turn off alarm

Speaker node:

  • no button functionality
  • red blinking led when alarm is triggered
  • blue led when waiting the trigger
  • all leds off when oven is turned off

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.