Buzzer example

Needed libraries:

lib_deps = ITTIoT, Buzzer

The code below will alert the buzz sound when values have been submitted to the mqtt server

/*
 * IoT Buzzer example
 *
 * This example subscribe to the "buzzer" topic. When a message received, then it
 * will make a sound
 *
 * Created 02 Febrary 2018 by Heiko Pikner
 */
 
#include <Arduino.h>
#include <ittiot.h>
#include <Buzzer.h>
 
//Pin definition for the buzzer (GPIO15)
#define BUZZER_PIN D8
 
Buzzer buzzer(BUZZER_PIN);
 
// https://stackoverflow.com/questions/9072320/split-string-into-string-array
String getValue(String data, char separator, int index)
{
  int found = 0;
  int strIndex[] = {0, -1};
  int maxIndex = data.length()-1;
 
  for(int i=0; i<=maxIndex && found<=index; i++)
  {
    if(data.charAt(i)==separator || i==maxIndex)
    {
        found++;
        strIndex[0] = strIndex[1]+1;
        strIndex[1] = (i == maxIndex) ? i+1 : i;
    }
  }
 
  return found>index ? data.substring(strIndex[0], strIndex[1]) : "";
}
 
// If message received sound the buzz. For example:
// mosquitto_pub -u test -P test -t "ITT/IOT/3/buzzer" -m "49;100"
// The first message is the pitch(integer between 1-8191) and the second message is the duration
void iot_received(String topic, String msg)
{
  Serial.print("MSG FROM USER callback, topic: ");
  Serial.print(topic);
  Serial.print(" payload: ");
  Serial.println(msg);
 
  String Note = getValue(msg,';',0);
  String time = getValue(msg,';',1);
 
  buzzer.sound(Note.toInt(),time.toInt());
 
}
 
// Function started after the connection to the server is established.
void iot_connected()
{
  Serial.println("MQTT connected callback");
  // Subscribe to the topic "buzzer"
  iot.subscribe("buzzer");
  iot.log("IoT buzzer example!");
}
 
void setup()
{
  Serial.begin(115200);
  Serial.println("Booting");
 
  // Print json config to serial
  iot.printConfig();
  // Initialize IoT library
  iot.setup();
  // Initialize buzzer pin
 
}
 
void loop()
{
  // IoT behind the plan work, it should be periodically called
  iot.handle();
  delay(200);
}
en/iot/examples/buzzer.txt · Last modified: 2019/11/15 11:10 by timothy_r
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0