Nos astuces pour mettre en place un système domotique

Les Objets connectés sont très en vogue en ce moment, à côté des objets portables et de la robotique. Le concept est simple : les appareils dans votre maison ont la capacité de communiquer les uns avec les autres via Internet. Cette technologie utilise généralement des capteurs pour transmettre des données à Internet. Imaginez un capteur installé dans votre jardin qui télécharge des données comme la température, l’humidité et la pureté du sol sur Internet, et ces données vous sont visibles de partout dans le monde.

L’automatisation via le web : comment ça marche ?

Avec des systèmes domotiques, vous pouvez contrôler les appareils électroménagers de votre maison comme les lumières, les serrures de porte et la climatisation grâce à une interface Web ou une application pour téléphone intelligent. De nombreuses technologies sont en cours de développement autour de ce concept, telles que les réseaux IoT indépendants et les protocoles de transmission de données.

Dans cet article, nous allons voir comment mettre en place un système domotique Raspberry Pi basé sur le Web : ce qui vous permettra de contrôler n’importe quel appareil dans votre maison depuis n’importe où dans le monde en utilisant les protocoles HTTP classiques. Allez, c’est parti !

Configurer le système côté serveur

Vous pouvez considérer que l’ensemble du système est composé de deux parties : le serveur, et le client. Ici, le serveur est l’interface web, composée de boutons et d’une interface utilisateur (UI) qui vous permet d’allumer ou d’éteindre un appareil. Il se compose de fichiers PHP, de fichiers HTML et d’un fichier.txt (pour stocker les données). Le serveur stocke généralement les informations concernant la pression du bouton sur la page (ON/OFF) sur un fichier.txt.

Un exemple de cette interface utilisateur est Maker Pro IoT Implementation. Il s’agit d’un simple fichier HTML appelé main.html, qui se compose de deux boutons. Le clic des boutons déclenchera l’exécution d’un fichier PHP appelé button.php. Ce programme sert d’API (interface de programmation d’application) pour stocker les données dans un fichier texte appelé buttonStatus.txt. Les données sont une chaîne de caractères : « ON » si on clique sur le bouton ON, et « OFF » si on clique sur le bouton OFF. Ainsi, l’état actuel de la pression de bouton est enregistré dans le fichier texte buttonStatus.txt.

Première étape : préparer les fichiers HTML & PHP

Le côté client se compose d’un Raspberry Pi avec un circuit de relais relié à sa broche GPIO. Le Pi exécute un programme Python qui est utilisé pour « poster » un lien URL en utilisant urllib2. C’est-à-dire que le Pi lit constamment le contenu d’un lien URL. Ici, le lien URL est un autre fichier PHP appelé buttonStatus.php. Ce fichier PHP sert d’API pour lire le contenu du fichier texte buttonStatus.txt. Après lecture des données, le programme Python vérifie si la chaîne obtenue est « ON »/ »OFF » sur la base de laquelle il active ou désactive le relais via sa broche GPIO.

Tout d’abord, le côté serveur du système doit être configuré. Si vous avez votre propre domaine, vous pouvez utiliser le service de gestionnaire de fichiers pour déposer ces fichiers sur votre serveur et contrôler vos systèmes IoT depuis n’importe où dans le monde. Les fichiers à mettre sur votre serveur sont main.html, button.php, buttonStatus.php et buttonStatus.txt.

Téléchargez-les à partir du tutoriel du système domotique Maker Pro – Raspberry Pi et extrayez-les. Le programme raspbi.py est le programme Python, qui doit être copié sur votre Raspberry Pi. Si vous êtes nouveau en HTML et PHP, ne vous inquiétez pas. Ce projet ne nécessitera qu’une compréhension de base des deux langues, il suffira de consacrer un peu de temps à quelques tutoriels – HTML pour les débutants, PHP pour les débutants, et la lecture du code serait suffisante. Le fichier HTML est constitué d’une interface utilisateur de base avec deux boutons. En appuyant sur un bouton, il déclenche un programme PHP qui écrit une chaîne de caractères dans un fichier.txt en fonction du bouton appuyé. Le fichier.txt stocke les informations du dernier état du bouton.

Utilisez un émulateur de serveur Xampp si vous n’avez pas de domaine

Si vous n’avez pas de domaine, vous pouvez simuler un domaine dans votre réseau local ou Wi-Fi en utilisant un service appelé xampp. C’est très simple. Le mode d’emploi est ici : Emulateur de serveur Web Xampp Windows et émulateur de serveur Web Xampp Linux. En utilisant xampp, vous pouvez utiliser votre PC comme serveur web local. Cependant, les systèmes IoT se limitent à une plage de contrôle limitée à votre réseau Wi-Fi domestique. Déposez les fichiers HTML, PHP et.txt dans le répertoire /htdocs/xampp.

Un petit circuit de relais doit être réalisé pour allumer/éteindre un appareil. Il se compose d’un transistor BC547, qui agit comme un commutateur. Le transistor déclenche le relais lorsqu’il reçoit une tension à sa base de la broche GPIO de Raspberry Pi. Une diode 1N4001 est utilisée pour protéger le transistor des tensions inversées créées dans la bobine du relais. Le circuit peut être alimenté soit par l’alimentation 5V du Raspberry Pi, soit par une batterie externe. Utilisez le schéma ci-dessous pour effectuer les connexions du système domotique Raspberry Pi.

OS Raspbian et dongle Wi-Fi

Si vous avez un Raspberry Pi flambant neuf et que vous cherchez des instructions pour charger l’OS dans la carte SD, utilisez Installer l’OS pour Raspberry Pi. L’OS par défaut utilisé avec Pi est Raspbian. Pour utiliser l’interface graphique pour Pi, utilisez la commande « startx » dans le terminal. Vous pouvez utiliser un dongle Wi-Fi Edimax pour la connectivité sans fil, utiliser l’application de configuration Wi-Fi sur le bureau de votre Pi pour scanner et vous connecter au réseau Wi-Fi.