MySQL for the Internet of Things

(Steven Felgate) #1
ChapTEr 8 ■ DEmonsTraTion of high availabiliTy TEChniquEs

Serial.println("Master is ok.");
// Reset timer since master is Ok
startTime = millis();
elapsedTime = 0;
blink(); // visual feedback
}


#else
// Send the heartbeat pulse
void sendHeartbeat() {
Wire.beginTransmission(address);
Wire.write("hello!");
Wire.endTransmission();
blink(); // visual feedback
}


#endif


void setup() {
#if defined SLAVE
Wire.begin(address); // join i2c bus
Wire.onReceive(getHeartbeat); // register the heartbeat code
startTime = millis(); // initiate timer
elapsedTime = 0;
#else
Wire.begin();
#endif
pinMode(13, OUTPUT); // turn on onboard LED (pin 13)
Serial.begin(115200);
// TODO: Add any database initialization code here
}


void loop() {
#if defined SLAVE
Serial.println("looping...");
// Check timeout
elapsedTime += millis() - startTime;
Serial.println(elapsedTime);
if (elapsedTime > maxTime) {
// Master is dead. Read and save the sensor data!
Serial.println("Master has died! Oh, my...");
// OPTIONAL: reset master timer to try again.
startTime = millis();
elapsedTime = 0;

Free download pdf