Capteur de lumière activé par la voix et les SMS utilisant Raspberry Pi et Twilio
Aperçu
L'espace Hacker School pour notre lot avait deux toilettes :une attachée à la zone de travail principale et une en bas. Nous avons pensé que ce serait bien de savoir si la salle de bain est occupée avant de prendre le temps de descendre.
Notre projet permet de vérifier l'état de la salle de bain par téléphone ou SMS.
Le statut d'occupation de la salle de bain est déterminé à l'aide d'un capteur de lumière connecté à un Raspberry Pi. Si les lumières sont allumées dans la salle de bain, nous supposons que la salle de bain est occupée.
Nous avons créé une application Web hébergée par Heroku qui accepte les mises à jour périodiques de l'état de la salle de bain du Raspberry Pi et gère les demandes entrantes de Twilio. Lorsqu'un utilisateur appelle ou envoie un SMS au numéro de téléphone Twilio, Twilio envoie une demande à l'application Web, qui répond par un message approprié à prononcer ou à envoyer par SMS à l'utilisateur.
En plus de l'interface voix/SMS, @gelstudios a créé une belle interface web pour le projet.
Serveur
Twilio
Twilio est un service Web permettant d'envoyer et de recevoir des appels téléphoniques et des SMS. Il fournit une API facile à utiliser accessible via HTTP et un package Python pratique. Un essai gratuit du service est disponible (qui insère de petits avis de rappel dans les messages sortants). Nous avons utilisé les didacticiels Twilio Python Quickstart comme introduction.
Heroku
Heroku est un service qui fournit une pile complète et intégrée pour l'hébergement d'applications Web avec une gamme de choix de langue, de framework, de serveur Web et de magasin de données. Nous avons créé l'application serveur du projet en Python à l'aide du microframework Flask. L'article Heroku Dev Center Premiers pas avec Python sur Heroku est une bonne procédure pas à pas pour configurer Flask sur Heroku.
Code du serveur
La source complète de l'application Web est disponible sur github.com/qqrs/twilio-light-sensor-server/blob/master/run.py.
Le /twilio/voice
et /twilio/text
les routes gèrent les requêtes de Twilio. Lorsqu'un utilisateur appelle ou envoie un SMS au numéro de téléphone attribué à notre compte, Twilio est configuré pour qu'il fasse une requête HTTP POST sur ces routes. Lorsque le serveur reçoit la requête de Twilio, il génère un message approprié indiquant l'état de la salle de bain. Le message est renvoyé à Twilio dans la réponse HTTP et est envoyé à l'utilisateur sous forme audio (par text-to-speech) ou sous forme de message SMS.
Le /mise à jour
route accepte les mises à jour de l'état du capteur à partir du capteur distant via HTTP POST. Chaque demande inclut sensor_id
et sensor_val
paramètres pour identifier le capteur et rapporter la valeur actuelle.
Pour plus de détails : Capteur de lumière activé par la voix et les SMS utilisant Raspberry Pi et Twilio
Processus de fabrication
- Mesure des températures avec un capteur DS18B20 1 fil et Raspberry Pi
- Bibliothèque Python du capteur de température TMP006 utilisant Raspberry pi,
- Enregistrer et tracer les événements du thermostat 24 V (optocoupleur + Raspberry Pi) à l'aide de framboise
- Capteur de température Python et Raspberry Pi
- Capteur de mouvement utilisant Raspberry Pi
- Capteur d'humidité du sol Raspberry Pi
- Capteur de température et de luminosité Raspberry Pi
- Contrôle du capteur et de l'actionneur Raspberry Pi
- Créez votre premier IOT avec un Raspberry Pi, un capteur DHT11 et Thingspeak.