This is an old revision of the document!
Codul din laboratoarele anterioare transmitea periodic pachete de date în rețea dar, în intervalele de timp dintre două transmisiuni succesive, cicla inutil. Acest lucru duce la un consum de energie ridicat, ce poate avea un impact semnificativ asupra timpului de viață al nodului senzorial în cazul în care acesta este alimentat de la o baterie.
Din acest motiv, este preferabil ca nodurile să intre într-o stare de low-power în momentele de inactivitate. Pentru aceasta, veți folosi o biblioteca ZigduinoSleep.
Codul pentru biblioteca ZigduinoSleep poate fi descăcat de aici.
/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: #include <avr/sleep.h> #include <avr/interrupt.h> #include <ZigduinoSleep.h> int led = 11; int state = 0; void setup() { pinMode(led, OUTPUT); Serial.begin(9600); Serial.println("Sleep test"); ZigduinoSleepInit(); } void loop() { ZigduinoSleepSet(1); //Code that is executed before sleep state ^= 1; if(state == 0) digitalWrite(led, HIGH); else digitalWrite(led, LOW); Serial.begin(9600); Serial.println("Test"); Serial.flush(); Serial.end(); //End of code ZigduinoSleep(); }