Arduino Türsensor: Echtzeit Facebook Messenger Alerts via IFTTT
Komponenten und Zubehör
| Komponente | Menge |
|---|---|
| Arduino UNO | 1 |
| PHPoC WiFi Shield für Arduino | 1 |
| Magnetischer Kontaktschalter (Reed-Kontakt) | 1 |
Apps und Online-Dienste
- IFTTT Maker Service (Webhooks)
Projektbeschreibung
Hinweis: IFTTT hat den Facebook Messenger-Dienst aufgrund neuer Facebook-Richtlinien eingestellt. Dieses Projekt ist daher nicht mehr durchführbar.
Für Einsteiger geeignet, um Arduino WiFi, Türsensor und IFTTT kennenzulernen.
Systemarchitektur
Arduino + PHPoC WiFi Shield → Türsensor (Pin A0) → IFTTT Webhooks → Facebook Messenger (ehemals).
Verkabelung
- Ein Pin des Reed-Kontakts → GND
- Anderer Pin → A0
IFTTT Applet erstellen (12 Schritte)
- „Create Applet“
- Trigger festlegen
- „Webhooks“ suchen & auswählen
- „Receive a web request“ wählen
- Event Name:
door_open→ „Create trigger“ - „+that“ für Action
- „Facebook Messenger“ suchen & auswählen
- Action „Send message“ (Facebook-Verbindung nötig)
- Nachrichtentext erstellen, „Add ingredient“ → „OccurredAt“ (Zeitpunkt)
- „Create action“
- „Finish“
Webhooks Key erhalten
https://ifttt.com/maker_webhooks → „Documentation“ → Key kopieren → in Arduino-Code eintragen.
Bibliotheken
PHPoC Library und Button Library (ezButton).
Code
MonotorDoorMessenger (Arduino)
// Tutorial: https://forum.phpoc.com/articles/tutorials/1241-arduino-ssl-web-client
#include
#include
String IFTTT_WEBHOOKS_KEY = "xxxxxxxxxxxxxxxxxxxxxx"; // eigenen Key eintragen
char server_name[] = "maker.ifttt.com";
PhpocClient client;
ezButton button(A0); // Button-Objekt an Pin A0
void sendNotification() {
if (client.connectSSL(server_name, 443)) {
Serial.println("Connected to server");
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);
Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);
button.setDebounceTime(100); // 100 ms Entprellung
}
void loop() {
button.loop();
if (button.isPressed()) {
Serial.println("door is opened");
sendNotification();
delay(100);
} else if (button.isReleased()) {
Serial.println("door is closed");
}
}
Schaltplan
Verkabelungsbild im Projekt enthalten.
Herstellungsprozess
- ATmel AT89-Serie mühelos mit Arduino Uno programmieren – Schritt-für-Schritt-Anleitung
- K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
- Berührungsloses Temperatur-Überwachungstor für schnelles Screening
- Web-fähigen IoT-Messer mit Arduino, Yaler und IFTTT bauen
- Echtzeit-Waldbrand-Überwachungssystem mit SMS-Alarm
- Arduino UNO & WiFi Shield: Echtzeit-Temperaturanzeige im Web via Serial
- Smartes Temperatur-Monitoring für Schulen – Arduino, Raspberry Pi, Sigfox & ThingSpeak
- Bewegungsaktiviertes Beleuchtungssystem mit Intel Curie (Arduino 101)
- Automatische Tür mit Arduino & Ultraschallsensor bauen
- WLAN-Türschloss mit Arduino & ESP8266 – Per Smartphone entsperren