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.

  • 12,852 views
  • 4 comments
  • 44 respects

Components and supplies

Apps and online services

About this project

If you are a beginner, you can learn about Arduino here.

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

Code

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

#include <Phpoc.h>
#include <Button.h>

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

PhpocClient client;
Button 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

  • 3,230 views
  • 0 comments
  • 18 respects

Arduino, Monitoring Door-Opening via Gmail

Project tutorial by phpoc_man

  • 35,982 views
  • 41 comments
  • 123 respects

Entry Level Door Monitoring Alarm System

Project tutorial by Team Robodia Technology Solutions

  • 6,846 views
  • 1 comment
  • 18 respects

Arduino - Web-Based Thermometer

Project tutorial by khanhhs

  • 15,524 views
  • 16 comments
  • 50 respects

Arduino - Send Temperature to Web via Serial

Project tutorial by IoT_hobbyist

  • 7,383 views
  • 7 comments
  • 32 respects

RFID Based Automatic Door System

Project showcase by Robodia Technology

  • 52,737 views
  • 24 comments
  • 133 respects
Add projectSign up / Login