Appeler mon Arduino
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
À propos de ce projet
(De http://www.instructables.com/id/Call-my-Arduino/)
Comment activer les appels téléphoniques vers votre Arduino , en utilisant Twilio et Yaler.net
Twilio est un service Web qui transforme tout en téléphone. C'est une API REST pour la téléphonie, hébergée dans le cloud. Dans ce cas, Twilio demande à l'Arduino un nouveau fichier voice.xml chaque fois que quelqu'un appelle le numéro de téléphone prédéfini de l'Arduino. Le contenu de la réponse est lu à l'appelant par Alice, une voix du moteur de synthèse vocale de Twilio.
Yaler.net permet l'accès Web aux appareils intégrés derrière un pare-feu, un NAT ou un routeur de réseau mobile. Ici, il permet à Twilio d'accéder au fichier voice.xml sur l'Arduino, qui se trouve dans un réseau local et n'a donc pas sa propre adresse IP publique (divulgation :je suis un fondateur de Yaler).
Cette démo utilise un capteur de température, mais tout autre capteur ferait aussi bien. Un exemple de produit dans le monde réel serait le détecteur de fumée Canary (maintenant Birdi) qui permet aux propriétaires de maison concernés de l'appeler pour demander si la batterie est toujours en bon état.
À un niveau plus abstrait, cet Instructable essaie de montrer comment, dans un Internet des objets ouvert, les services cloud modulaires peuvent être librement combinés pour créer des solutions nouvelles, simples et fiables. HTTP et Webhooks FTW ! Mais commençons...
(Voici une vidéo expliquant ce projet d'IoTLive, dans le cadre de l'IoTDay 2014)
Matériel
- Arduino Uno (par exemple https://www.adafruit.com/products/50)
- Câble USB standard A-B (par exemple, http://www.adafruit.com/products/62)
- Blindage Ethernet Arduino (par exemple http://www.adafruit.com/products/201)
- Câble Ethernet (par exemple http://www.adafruit.com/products/995)
- Capteur de température analogique (par exemple https://www.adafruit.com/products/165)
- Faisceau de fils de planche à pain (par exemple http://www.adafruit.com/products/153)
- Planche à pain (par exemple http://www.adafruit.com/products/64)
http://www.youtube.com/watch?v=4IPwkW38oIwÉtape 1 : câblage du capteur
Ajoutez le blindage Ethernet à l'Arduino et connectez le capteur de température comme indiqué. Pour plus de détails sur la détection de température avec le capteur TMP36, voir par ex. http://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor
Si vous souhaitez ajouter d'autres capteurs (numériques), gardez à l'esprit que certaines broches sont utilisées par le blindage Ethernet.
Étape 2 :Installation de la bibliothèque Yaler
Suivez les trois étapes pour Installer la bibliothèque à https://yaler.net/arduino Si vous ne l'avez pas déjà fait, inscrivez-vous sur https://yaler.net/ pour un compte d'essai gratuit et notez le domaine de relais (la clé secrète n'est pas nécessaire).
Étape 3 :Programmation de l'Arduino
Télécharger le code source TwilioYalerWebService Arduino
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default
Ouvrez le code Arduino
Le programme implémente un serveur Web très simple qui écoute les requêtes HTTP entrantes. Une fois qu'une demande arrive, le programme répond avec un document XML. Le serveur ne se soucie pas si le chemin de l'URL est / ou /voice.xml.
Modifier l'adresse MAC
Assurez-vous que l'adresse MAC dans le code Arduino est unique. Ceci est particulièrement important s'il y a plusieurs Arduinos dans le même réseau local. Un moyen simple d'obtenir une adresse (espérons-le) unique consiste à rechercher le MAC de votre ordinateur, puis à ajouter 1 au dernier chiffre.
Entrez votre domaine de relais
Au lieu de créer un serveur local avec EthernetServer server(80) ; nous en créons un qui est accessible via le relais Yaler try.yaler.net , dans la ligne suivante :
Serveur YalerEthernetServer("try.yaler.net", 80, "RELAY_DOMAIN");
Remplacer RELAY_DOMAIN avec votre domaine relais, par ex. pour gsiot-ffmq-ttd5 tapez :
Serveur YalerEthernetServer("try.yaler.net", 80, "gsiot-ffmq-ttd5");
Notez que vous pouvez également utiliser le serveur local, si vous savez comment configurer la redirection de port pour ouvrir un trou pour les requêtes HTTP entrantes dans votre pare-feu local. L'important est que Twilio puisse accéder à l'Arduino depuis le cloud.
Enregistrer les modifications et télécharger
Enregistrez toutes les modifications et téléchargez le programme sur votre Arduino. Gardez le câble USB connecté à votre ordinateur de développement pour le moment et ouvrez la console série pour voir la sortie de débogage.
Étape 4 :Accéder à l'Arduino
Accédez à votre Arduino depuis n'importe quel navigateur
La bibliothèque Yaler rend votre Arduino (et avec lui le document XML) accessible depuis l'Internet public à l'adresse http://RELAY_DOMAIN.try.yaler.net/, par exemple. pour le domaine relais gsiot-ffmq-ttd5 l'URL est http://gsiot-ffmq-ttd5.try.yaler.net/ Ou, pour le rendre plus joli pour Twilio : http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml
Vérifier le document XML
Le contenu du document XML indique à Twilio quoi répondre à un appel téléphonique entrant. Vous pouvez même choisir la voix de synthèse vocale. Ici, c'est Alice. Le format XML de Twilio s'appelle TwiML. Voir https://www.twilio.com/docs/api/twiml pour plus de détails. Notez que le texte de réponse contient la température réelle. Faites chauffer votre capteur et rafraîchissez le document dans votre navigateur Web avec F5 pour le voir changer.
Dépannage
Si vous obtenez une page vide ou une erreur, assurez-vous que votre câble Ethernet est branché et vérifiez https://yaler.net/browser pour le débogage spécifique au navigateur.
Étape 5 :Configurer un numéro Twilio
Inscrivez-vous
Tout d'abord, pour obtenir un compte Twilio, vous devrez vous inscrire sur https://www.twilio.com/
Acheter un numéro de téléphone
Pour recevoir des appels, vous aurez besoin d'un numéro, qui a un (petit) coût. Connectez-vous, accédez à Numéros et sélectionnez les Numéros Twilio sous-menu, pour voir Gérer les numéros languette.
Cliquez sur Acheter un numéro , sélectionnez la Voix case à cocher et cliquez sur Rechercher , puis choisissez un numéro et cliquez sur Acheter pour l'acheter.
Configurez l'URL du Webhook voice.xml
Dans Gérer les numéros onglet, cliquez sur le numéro que vous venez d'acheter. Définir l'URL de réponse à http://RELAY_DOMAIN.try.yaler.net/voice.xml et assurez-vous que POSTER est sélectionné, par ex. pour le domaine de relais Yaler gsiot-ffmq-ttd5 définissez l'URL de réponse sur http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml
Étape 6 :Passer un appel test
Une fois l'Arduino configuré, vous pouvez l'appeler depuis n'importe quel téléphone, même celui de votre grand-père.
Voilà, merci d'avoir lu. @tamberg
Code
Bitbucket
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=defaultSchémas
Processus de fabrication
- Bâton antisudorifique/déodorant
- Ouvre-porte de garage Raspberry Pi avec vidéo en continu de l'état de la porte.
- Tomographie électronique de nanofils GaN/(In,Ga)N Core-Shell en forme de crayon
- Arduino Spybot
- FlickMote
- Téléviseur maison B-Gone
- Appeler mon Arduino
- horloge maîtresse
- Logiciel de maintenance / GMAO - Préparer une analyse de rentabilisation