Arduino - Sprachanruf tätigen
In diesem Tutorial lernen wir, wie man Arduino verwendet, um einen Echtzeit-VoIP-Anruf (Voice over Internet Protocol) auf Ihr Telefon zu tätigen. Der Code ist für das Arduino Ethernet Shield verfügbar. Sie können ihn so anpassen, dass er auch mit anderen Shields oder Boards funktioniert.
Im Tutorial wird der Arduino-Code für zwei Fälle bereitgestellt:
- Arduino Uno R4 WiFi
- Arduino Uno/Mega mit Ethernet-Schild
Erforderliche Hardware
1 | × | Arduino UNO R4 WiFi | |
1 | × | Alternativ: DIYables STEM V4 IoT | |
1 | × | USB-Kabel Typ-A zu Typ-C (für USB-A PC) | |
1 | × | USB-Kabel Typ-C zu Typ-C (für USB-C PC) |
Alternatively if using Ethernet:
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Voraussetzung
Wenn Sie sich nicht mit IFTTT und verwandten Konzepten auskennen, empfehlen wir Ihnen dringend, die folgenden Tutorials zu lesen:
Verdrahtungsdiagramm
- Arduino - Ethernet-Shield: Wir müssen das Shield einfach auf dem Arduino Uno/Mega aufsetzen.

Wie es funktioniert
Wir müssen:
- Installiere die IFTTT-App auf deinem Smartphone (verfügbar für Android und iOS).
- Erstelle ein IFTTT-Applet auf der IFTTT-Website, das Webhooks mit dem VoIP-Anrufdienst verbindet.
Wenn wir das Applet erstellen:
- Wir können eine Textnachricht schreiben, die in eine Sprachnachricht umgewandelt wird und über das Telefon gesendet wird.
- Wir können Daten vom Arduino in die Nachricht aufnehmen.
Arbeitsablauf
- Arduino sendet eine HTTP-Anfrage an die Webhooks von IFTTT,
- Webhooks lösen den VoIP-Anrufdienst von IFTTT aus
- Der VoIP-Anrufdienst von IFTTT wandelt die Textnachricht in eine Sprachnachricht um.
- Der VoIP-Anrufdienst von IFTTT führt einen Anruf an die IFTTT-App auf Ihrem Telefon aus.
- Ihr Telefon klingelt.
- Sie nehmen den Anruf entgegen
- Die Sprachnachricht wird gesprochen.
※ Notiz:
- Die Nachricht wird im Applet festgelegt, nicht im Arduino-Code.
- Da dies VoIP ist, muss dein Telefon mit dem Internet verbunden sein.
- VoIP-Anruf ist kostenlos.
- Arduino kann mit dir sprechen, aber du kannst nicht mit dem Arduino sprechen.
So verwenden Sie IFTTT mit Arduino
- Installiere die IFTTT-App auf deinem Smartphone
- Erstelle ein IFTTT-Konto und melde dich bei IFTTT an.
- Erstelle ein Applet für Webhooks- und VoIP-Anrufdienste. Notiere bitte den Ereignisname, den wir verwenden.
- Nachdem du das Applet erstellt hast, hole dir den Webhooks-Schlüssel von IFTTT.
- Kopiere den untenstehenden Arduino-Code und füge ihn in die Arduino-IDE ein.
- Ersetze den Ereignisname und den Webhooks-Schlüssel im Arduino-Code.
- Lade den Code auf den Arduino hoch.
※ Notiz:
- Der Name des Ereignisses wird von Ihnen vorgegeben. Sie können jeden beliebigen Namen verwenden.
- Der Webhook-Schlüssel wird von IFTTT erstellt. Sie können ihn nicht ändern.
Schau dir am Ende dieses Tutorials das Videotutorial an.
Arduino-Code
Arduino IFTTT-Code für Arduino Uno R4 WiFi
Arduino IFTTT-Code für Arduino Uno/Mega mit Ethernet-Shield
※ Notiz:
Dieses Tutorial verwendete die dynamische IP-Adresse (über DHCP). Wenn Sie die statische IP-Adresse verwenden möchten:
- Für das Ethernet-Shield müssen Sie den Arduino-Code anpassen. Siehe Arduino Ethernet Shield mit statischer IP-Adresse
Ergebnis
In den beiden oben genannten Codes, falls erfolgreich,
- Das Ergebnis im Serial Monitor sieht unten so aus:
- Überprüfe, ob dein Telefon klingelt oder nicht.
- Nimm den Anruf entgegen.
- Höre die Sprachnachricht an.
Video-Tutorial
Wie man Sensordaten in eine Sprachnachricht einbindet
Um Daten vom Arduino in die Sprachnachricht einzubinden, müssen wir Folgendes tun:
- In Arduino: Daten in die HTTP-Anfrage einfügen (in der Abfragezeichenfolge).
- In Applet: die Einstellung ändern, um Daten aus der HTTP-Anfrage zu extrahieren.
Sie können lernen was eine Abfragezeichenfolge in diesem Tutorial ist
Es gibt fünf Variablen, die wir in der Einstellung des IFTTT-Applets verwenden können.
{{EventName}} | Extracted from HTTP request |
---|---|
{{OccurredAt}} | System time when event occurs |
{{Value1}} | Extracted from the variable value1 of query string in HTTP request |
{{Value2}} | Extracted from the variable value2 of query string in HTTP request |
{{Value3}} | Extracted from the variable value3 of query string in HTTP request |
Zum Beispiel:
- Bei Arduino: Ändern Sie String queryString = "" zu String queryString = "?value1=26&value2=70" in den oben genannten Codes.
- Im Applet: Ändern Sie die Textnachricht in der Einstellung des IFTTT-Applets wie folgt:
Hallo, Kerl,
Dies ist Arduino Uno, ich möchte Sie darauf hinweisen, dass:
- Die Außentemperatur beträgt {{Value1}} °C
- Die Luftfeuchtigkeit im Freien beträgt {{Value2}} %
Alle oben genannten Werte werden zum Zeitpunkt {{OccurredAt}} gemessen
Viel Glück und bleib gesund!
In der obigen Nachricht soll "
" beim Anzeigen eine neue Zeile erzeugen.
Die Sprachnachricht wird unten wie folgt aussehen:
YouTube-Video
Sie können die Temperatur und die Luftfeuchtigkeit vom Sensor auslesen und in die Abfragezeichenfolge einfügen. Siehe wie man Daten vom Sensor in die Abfragezeichenfolge einfügt
Fordere dich selbst heraus
Basierend auf dem obigen Code erstellen Sie das folgende Projekt:
- Rufen Sie Ihr Telefon per VoIP an, wenn der Knopf gedrückt wird
- Rufen Sie Ihr Telefon per VoIP an, wenn die Tür offen ist
- Rufen Sie Ihr Telefon per VoIP an, wenn die Temperatur zu hoch ist ...
WARNING
Bitte beachten Sie, dass dieses Tutorial unvollständig ist. Wir werden auf unserer Facebook-Seite posten, wenn das Tutorial vollständig ist. Liken Sie sie, um auf dem Laufenden zu bleiben.