Project tutorial
Arduino - Monitoring Door Open via Facebook Messenger

Arduino - Monitoring Door Open via Facebook Messenger © GPL3+

If door is opened, Arduino sends a message to your Facebook Messenger.

  • 16,180 views
  • 9 comments
  • 48 respects

Components and supplies

Apps and online services

About this project

Notice: IFTTT recently discontinued their FB Messenger service because of new policies made by Facebook. Therefore, this project is no longer feasible.

If you are a beginner, you can learn the related topic:

Demonstration

I made the similar project, but cheaper cost (in total) and can be used for industrial environment here: https://www.hackster.io/phpoc_man/phpoc-monitoring-door-open-via-facebook-messenger-49603e

System Architecture

Wiring

  • One pin to GND.
  • Another pin to A0.

How to Create IFTTT Applet

Follow 12 steps (see red square)

1. Create Applet.

2. Set trigger.

3. Search "Webhooks" and click Webhooks.

4. Choose "Receive a web request."

5. set Event Name is "door_open" and click "Create trigger" button.

6. Click "+that" button to create the action.

7. Search "Facebook Messenger" and click.

8. Choose Action "Send message". It needs to connect to Facebook for the first time.

9. Create the content of message and then click "Add ingredient" button.

10. Choose "OccurredAt". This is time of door open.

11. Click "Create action" button.

12. Click "Finish" button

Now Applet is created.

Get Webhooks Key

Go to this link https://ifttt.com/maker_webhooks

Click "Documentation" to see the Webhooks Key.

Copy the Webhook Key and put it in Arduino code.

Library

The below code uses two library: PHPoC and Button libraries

The Best Arduino Starter Kit for Beginner

If you are looking for an Arduino kit, see The Best Arduino Kit for Beginners



Function References

Code

MonotorDoorMessengerArduino
// Tutorial for the example is available here:
// https://forum.phpoc.com/articles/tutorials/1241-arduino-ssl-web-client

#include <Phpoc.h>
#include <ezButton.h>

String IFTTT_WEBHOOKS_KEY = "xxxxxxxxxxxxxxxxxxxxxx"; // change your webhooks key here
char server_name[] = "maker.ifttt.com";

PhpocClient client;
ezButton button(A0);  // create Button object that attach to pin A0;

void sendNotification()
{
	// connect to web server on port 443:
	if(client.connectSSL(server_name, 443)) {
		// if connected:
		Serial.println("Connected to server");

		// make a HTTP request:
		client.println("GET /trigger/door_open/with/key/" + IFTTT_WEBHOOKS_KEY + " HTTP/1.1");
		client.println("Host: maker.ifttt.com");
		client.println("Connection: close");
		client.println();
	}

	while(client.connected()) {
		if(client.available()) {
			char c = client.read();
			Serial.write(c);
		}
	}

	Serial.println();
	Serial.println("disconnecting from server.");
	client.stop();
}

void setup() {
	Serial.begin(9600);

	// initialize PHPoC [WiFi] Shield:
	Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);

	button.setDebounceTime(100); // set debounce time to 100 milliseconds
}

void loop() {
	button.loop(); // MUST call the loop() function first

	if(button.isPressed()) { // if door is opened...
		Serial.println("door is opened");
		sendNotification();
		delay(100);
	} else if (button.isReleased()) { // if door is closed...
		Serial.println("door is closed");
	}
}

Schematics

Wiring
20190521 133308 c24vhmf3wd

Comments

Similar projects you might like

Arduino - Remotely Open Door via Web with Pattern Password

Project tutorial by phpoc_man

  • 5,650 views
  • 0 comments
  • 22 respects

Arduino, Monitoring Door-Opening via Gmail

Project tutorial by phpoc_man

  • 46,753 views
  • 43 comments
  • 148 respects

Arduino Dynamic Web Control

Project tutorial by phpoc_man

  • 62,231 views
  • 22 comments
  • 180 respects

Arduino - Web-Based Thermometer

Project tutorial by khanhhs

  • 24,575 views
  • 18 comments
  • 56 respects

Entry Level Door Monitoring Alarm System

Project tutorial by Robodia Technology Solutions

  • 9,735 views
  • 3 comments
  • 20 respects

DIY Voltmeter Using Arduino and Smartphone

Project tutorial by IoT_hobbyist

  • 6,197 views
  • 6 comments
  • 33 respects
Add projectSign up / Login