Arduino - Maak een spraakoproep
In deze tutorial leert u hoe u met Arduino een real-time VoIP (Voice over Internet Protocol) oproep naar uw telefoon kunt maken. De code is beschikbaar voor Arduino Ethernet Shield. U kunt deze aanpassen om te werken met andere shield/boards.
Deze tutorial bevat Arduino-code voor twee situaties:
- Arduino Uno R4 WiFi
- Arduino Uno/Mega met Ethernet Shield
Benodigdheden hardware
| 1 | × | Arduino UNO R4 WiFi | |
| 1 | × | Alternatief: DIYables STEM V4 IoT | |
| 1 | × | USB-kabel Type-C |
Als alternatief bij gebruik van Ethernet:
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Vereisten
Als u niet bekend bent met IFTTT en aanverwante concepten, raden wij aan eerst de volgende tutorials te lezen:
Aansluitschema
- Arduino - Ethernet Shield: u hoeft alleen het shield op Arduino Uno/Mega te plaatsen

Werking
We moeten:
- De IFTTT-app installeren op uw telefoon (beschikbaar voor Android en iOS).
- Een IFTTT Applet aanmaken op de IFTTT-website, die Webhooks verbindt met de VoIP Calls-service.
Wanneer we de Applet aanmaken:
- Kunnen we een tekstbericht schrijven dat wordt omgezet in een spraakbericht dat naar de telefoon wordt gestuurd.
- Kunnen we gegevens van Arduino in het bericht opnemen.
Werkwijze
- Arduino maakt een HTTP-verzoek naar de Webhooks van IFTTT,
- Webhooks activeert de VoIP Calls-service op IFTTT,
- De VoIP Calls-service zet het tekstbericht om naar een spraakbericht,
- De VoIP Calls-service belt met de IFTTT-app op uw telefoon,
- Uw telefoon gaat over,
- U neemt op,
- Het spraakbericht wordt uitgesproken.
※ Notiz:
- Het bericht wordt gespecificeerd in de Applet, niet in de Arduino-code.
- Omdat dit VoIP is, moet uw telefoon verbonden zijn met internet.
- VoIP-oproepen zijn gratis.
- Arduino kan tegen u spreken, maar u kunt niet terugpraten tegen Arduino.
Hoe gebruikt u IFTTT met Arduino
- Installeer de IFTTT-app op uw telefoon.
- Maak een IFTTT-account aan en log in op IFTTT.
- Maak een Applet met de Webhooks- en VoIP Calls-services. Schrijf de gebeurtenisnaam op die u gebruikt.
- Na het aanmaken van de Applet, verkrijgt u de Webhooks-sleutel van IFTTT.
- Kopieer de onderstaande Arduino-code en plak deze in de Arduino IDE.
- Vervang de gebeurtenisnaam en Webhooks-sleutel in de Arduino-code.
- Upload de code naar Arduino.
※ Notiz:
- De gebeurtenisnaam bepaalt u zelf, u kunt elke naam kiezen.
- De Webhooks-sleutel wordt gegenereerd door IFTTT. Deze kunt u niet wijzigen.
Bekijk de video tutorial aan het einde van deze handleiding.
Arduino-code
Arduino IFTTT-code voor Arduino Uno R4 WiFi
Arduino IFTTT-code voor Arduino Uno/Mega met Ethernet Shield
※ Notiz:
Deze tutorial maakt gebruik van een dynamisch IP-adres (via DHCP). Wilt u een statisch IP-adres gebruiken:
- Voor Ethernet Shield moet u de Arduino-code aanpassen. Zie Arduino Ethernet Shield met statisch IP-adres
Resultaat
In beide bovenstaande codes, als het succesvol is:
- Het resultaat in de Serial Monitor ziet er als volgt uit:
- Controleer of uw telefoon overgaat.
- Neem de oproep aan.
- Luister naar het spraakbericht.
Video Tutorial
Hoe sensorgegevens in spraakbericht opnemen
Om gegevens van Arduino in het spraakbericht op te nemen, moet u:
- In Arduino: Voeg gegevens toe aan het HTTP-verzoek (in de query string).
- In de Applet: Pas de instellingen aan om gegevens uit het HTTP-verzoek te halen.
U kunt leren wat een query string is in deze tutorial
Er zijn 5 variabelen die u in de instellingen van de IFTTT Applet kunt gebruiken.
| {{EventName}} | Afgeleid uit HTTP-verzoek |
|---|---|
| {{OccurredAt}} | Systeemtijd waarop het evenement plaatsvindt |
| {{Value1}} | Afgeleid uit variabele value1 van query string in HTTP-verzoek |
| {{Value2}} | Afgeleid uit variabele value2 van query string in HTTP-verzoek |
| {{Value3}} | Afgeleid uit variabele value3 van query string in HTTP-verzoek |
Bijvoorbeeld:
- In Arduino: Wijzig String queryString = "" naar String queryString = "?value1=26&value2=70" in bovenstaande codes.
- In Applet: Wijzig het tekstbericht in de instellingen van de IFTTT Applet als volgt:
Hi guy,
Dit is Arduino Uno, ik wil u laten weten dat:
- De buitentemperatuur is {{Value1}} °C
- De buitentemperatuur is {{Value2}} %
Al deze waarden zijn gemeten op {{OccurredAt}}
Veel succes en blijf gezond!
In bovenstaande bericht zorgt "
" voor een nieuwe regel bij weergave.
Het spraakbericht klinkt ongeveer als volgt:
YOUTUBE VIDEO
U kunt temperatuur en luchtvochtigheid uitlezen van een sensor en in de query string plaatsen. Zie hoe u gegevens van sensor aan de query string toevoegt
Daag uzelf uit
Op basis van bovenstaande code maakt u het volgende project:
- Maak een VoIP-oproep naar uw telefoon wanneer een knop wordt ingedrukt
- Maak een VoIP-oproep naar uw telefoon wanneer de deur open gaat
- Maak een VoIP-oproep naar uw telefoon wanneer de temperatuur te hoog is ...
Opmerkingen
WARNING
Let op: deze tutorial is nog niet compleet. We zullen een bericht plaatsen op onze Facebook-pagina wanneer de tutorial compleet is. Like de pagina om op de hoogte te blijven.