/********* Pleasedontcode.com **********
Pleasedontcode thanks you for automatic code generation! Enjoy your code!
- Terms and Conditions:
You have a non-exclusive, revocable, worldwide, royalty-free license
for personal and commercial use. Attribution is optional; modifications
are allowed, but you're responsible for code maintenance. We're not
liable for any loss or damage. For full terms,
please visit pleasedontcode.com/termsandconditions.
- Project: IoT Trigger
- Source Code NOT compiled for: Arduino Uno
- Source Code created on: 2024-08-14 14:01:07
********* Pleasedontcode.com **********/
/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
/* Implement a button press detection system using */
/* the EasyButton library to trigger actions in the */
/* IoTController, ensuring seamless integration with */
/* connected devices and user-friendly interaction. */
/****** END SYSTEM REQUIREMENTS *****/
/****** DEFINITION OF LIBRARIES *****/
#include //https://github.com/evert-arias/EasyButton
#include //https://github.com/AndresDuran53/zarus-network-controller
/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);
/***** DEFINITION OF DIGITAL INPUT PINS *****/
const uint8_t button_PushButton_PIN_D2 = 2;
/****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
// Create an instance of EasyButton for the push button
EasyButton button(button_PushButton_PIN_D2); // Initialize EasyButton with the pin number
// Create an instance of IoTController
IoTController iotController("button-controller", 1); // Initialize IoTController with a name and number of data points
/****** FUNCTION DEFINITIONS *****/
// Callback function to be called when the button is pressed
void onButtonPressed() {
Serial.println("Button pressed! Triggering IoT action.");
// Here you can add code to trigger actions in the IoTController
// For example, you can send a message or change a state
iotController.addCommonData("button_state", "boolean", 1, "true", "bool", nullptr); // Example of adding data
}
void setup(void)
{
// put your setup code here, to run once:
pinMode(button_PushButton_PIN_D2, INPUT_PULLUP); // Set the button pin as input with pull-up resistor
// Initialize Serial for debugging purposes
Serial.begin(115200);
Serial.println();
Serial.println(">>> EasyButton example <<<");
// Initialize the button
button.begin(); // Call begin() to initialize the button
button.onPressed(onButtonPressed); // Attach the callback function for button press
// Initialize IoTController
iotController.setup(); // Call setup() to initialize the IoTController
}
void loop(void)
{
// Continuously read the status of the button
button.read(); // Update the button state
// Call the loop function of IoTController
iotController.loop(); // Ensure IoTController processes its tasks
}
/* END CODE */