Table des matières:

Domotique bon marché et efficace avec Raspberry Pi : 11 étapes (avec photos)
Domotique bon marché et efficace avec Raspberry Pi : 11 étapes (avec photos)

Vidéo: Domotique bon marché et efficace avec Raspberry Pi : 11 étapes (avec photos)

Vidéo: Domotique bon marché et efficace avec Raspberry Pi : 11 étapes (avec photos)
Vidéo: Jeedom sur Raspberry Pi: Installation rapide pour une maison connectée en 2023 2024, Novembre
Anonim
Domotique bon marché et efficace avec Raspberry Pi
Domotique bon marché et efficace avec Raspberry Pi
Domotique bon marché et efficace avec Raspberry Pi
Domotique bon marché et efficace avec Raspberry Pi
Domotique bon marché et efficace avec Raspberry Pi
Domotique bon marché et efficace avec Raspberry Pi

J'ai toujours voulu pouvoir contrôler les lumières sans fil, mais les options commerciales sont généralement chères. Les lampes Philips Hue coûtent environ 70 $, et les lampes connectées WiFi sont également chères. Ce tutoriel vous expliquera comment contrôler jusqu'à cinq lumières/lampes/brins de lumière de Noël pour environ 50 $, et peut être étendu pour inclure plus de lumières.

Étape 1: ce dont vous aurez besoin

Ce dont vous aurez besoin
Ce dont vous aurez besoin

Matériaux:

Raspberry Pi Zero W (édition sans fil)

Carte Micro SD (au moins 4 Go)

Câble/convertisseur mini HDMI vers HDMI (il y a une différence entre mini et micro, assurez-vous d'avoir le bon !)

Câble/convertisseur micro USB vers USB

Clavier USB

Remarque: j'ai reçu un kit de démarrage Raspberry Pi Zero W d'Amazon fourni avec Raspberry Pi Zero W, une carte SD, un boîtier, un câble d'alimentation, un convertisseur HDMI et un convertisseur USB. Pour seulement 30 $, c'est une très bonne option (lien)

Vous pouvez utiliser un modèle différent de Raspberry Pi, mais le Raspberry Pi doit avoir une certaine forme de connexion Internet, et le Pi Zero W est l'option la moins chère.

Prises à distance - j'ai utilisé ces

Émetteur et récepteur RF (Remarque: la fréquence de l'émetteur/récepteur doit correspondre à la fréquence des prises à distance) - je les ai utilisées

Fil pour antenne (j'ai utilisé un fil de cuivre à âme pleine de calibre 22, un autre fil peut fonctionner)

Planche à pain, fils de connexion, en-tête 40 broches mâle-mâle

Logiciel:

Raspberry Pi OS (Télécharger Raspbian Desktop)

Imageur de disque Etcher (pour écrire le système d'exploitation Pi sur la carte SD)

Outils:

Fer à souder

Ordinateur pour télécharger Pi OS et Etcher

Étape 2: Configurer les prises

Configurer les points de vente
Configurer les points de vente
Configurer les points de vente
Configurer les points de vente

Commencez par brancher vos prises dans une prise. Suivez les instructions fournies pour les configurer et branchez vos lumières/appareils. Assurez-vous que votre télécommande est correctement appairée et contrôle les prises.

Étape 3: Configurer un compte PubNub

PubNub est un serveur Internet gratuit qui vous permet de communiquer entre appareils, partout dans le monde. Le script python reçoit des messages d'une page Web et utilise les informations contenues dans le message pour allumer ou éteindre les lumières. Vous pouvez créer votre compte gratuit ici. Une fois inscrit, connectez-vous à votre compte. Cela vous amènera à une page de gestion de l'application. Cliquez sur "Créer une nouvelle application". Donnez un nom à votre application, puis sélectionnez-la dans la liste des applications (s'il s'agit de votre première application, ce sera la seule). Cela vous amènera à la page des clés de l'application. Cliquez sur le "Demo Keyset" et vous devriez voir trois clés différentes. Gardez cette page en ligne, vous aurez besoin de ces clés plus tard. Maintenant que vous avez votre compte PubNub, vous pouvez configurer votre raspberry pi.

Étape 4: Préparez le Raspberry Pi

Téléchargez Etcher et le système d'exploitation Raspberry Pi sur votre ordinateur (liens dans la liste des pièces)

Installez Etcher sur votre ordinateur et décompressez (si nécessaire) le système d'exploitation Raspberry Pi. Insérez votre carte Micro SD dans votre ordinateur et ouvrez Etcher. Cliquez sur "Sélectionner une image" et accédez au fichier Raspberry Pi OS décompressé. Sélectionnez-le, puis cliquez sur "Sélectionner un lecteur" et sélectionnez votre carte micro SD dans la liste. Cliquez sur « Flash » et attendez qu'Etcher se termine. Une fois Etcher terminé, retirez votre carte SD de votre ordinateur (Etcher l'éjecte automatiquement) et insérez-la dans votre Raspberry Pi. À ce stade, vous devrez connecter votre Raspberry Pi à un moniteur avec le convertisseur HDMI. Branchez un clavier (et une souris si vous avez un hub multi-USB) et branchez le câble d'alimentation. Il y a deux ports micro USB. L'un est pour l'alimentation, l'autre est un véritable port USB. Le plus proche de l'extrémité du Pi est l'alimentation, tandis que celui le plus proche du milieu est l'USB. Votre raspberry pi va maintenant commencer à démarrer. Il peut redémarrer plusieurs fois lors du premier démarrage, mais c'est normal. Une fois votre raspberry pi démarré, connectez-le à votre WiFi. Après l'avoir connecté au WiFi, vous pouvez utiliser un serveur SSH, mais je trouve qu'il est plus facile d'utiliser l'interface graphique pour le moment. Ouvrez une fenêtre de terminal et entrez ces commandes:

sudo pip3 installer 'pubnub==3.9.0'

cd git clone git://git.drogon.net/wiringPi git clone

sudo git clone https://github.com/timleland/rfoutlet.git /var/www/rfoutlet

sudo chown root.root /var/www/rfoutlet/codesend sudo chmod 4755 /var/www/rfoutlet/codesend

câblage cdPi

./construire

Maintenant, ouvrez le navigateur de fichiers Raspberry Pi et vous devriez voir le dossier pi-home-automation. Double-cliquez dessus et vous devriez voir un fichier appelé RFControl.py. Copiez-le (clic opposé et sélectionnez "Copier"), puis revenez dans le dossier pi et collez-le là-bas.

Éteignez votre raspberry pi (soit à partir du menu, soit en exécutant sudo poweroff à partir de la ligne de commande), et débranchez-le une fois que le voyant vert cesse de clignoter.

Étape 5: Création du circuit

Création du circuit
Création du circuit
Création du circuit
Création du circuit
Création du circuit
Création du circuit

Il est maintenant temps de créer le circuit. J'ai utilisé une planche à pain, mais vous pouvez le faire comme vous le souhaitez.

Tout d'abord, nous devons créer une antenne pour l'émetteur RF. Ce tutoriel instructables explique comment faire une antenne pour un émetteur RF. Suivez les instructions, puis soudez-la à la broche de l'antenne de l'émetteur (sur celle que j'ai utilisée, elle était étiquetée ANT) avec le côté le plus court le plus proche de l'émetteur

Câbler l'émetteur

L'émetteur utilise ces broches:

DONNÉES: GPIO 17, broche physique 11

VCC: Raspberry Pi 5v, broche physique 2

GND: Raspberry Pi GND, broche physique 6

Câbler le récepteur

Le récepteur utilise ces broches:

GND: Raspberry Pi GND, broche physique 9

VCC: Raspberry Pi 5v, broche physique 4

DONNÉES: GPIO 27, broche physique 13 (il y a deux broches de données sur le récepteur que j'ai utilisé, et j'ai utilisé celle la plus proche de VCC)

Étape 6: Obtenez vos codes RF

Obtenez vos codes RF
Obtenez vos codes RF

Une fois votre circuit connecté à votre Raspberry Pi, vérifiez-le deux fois pour vous assurer que tout est en place, puis rallumez-le. Une fois allumé, ouvrez un terminal et tapez

sudo /var/www/rfoulet/RFSniffer

Ensuite, ouvrez le programme RFControl. Placer la fenêtre du terminal et la fenêtre du programme côte à côte peut être utile à l'étape suivante.

Vous aurez maintenant besoin de la télécommande incluse dans le kit de prise de courant. Tenez-le près du récepteur et appuyez sur chaque bouton individuel. Lorsque vous appuyez sur un bouton, vous verrez deux chiffres imprimés à l'écran. L'un d'eux sera un code à six ou sept chiffres, et l'autre un code à 3 chiffres. Vous devrez éditer le dictionnaire de codes dans le programme. Entrez le code à 7 chiffres à la place de l'interrupteur correspondant dans le programme, et pour chaque bouton marche/arrêt, insérez le code à 3 chiffres (c'est la longueur) dans la len de l'interrupteur correspondant dans le programme.

Par exemple, si le commutateur 1 a un code de 1234567, un code d'arrêt de 7654321 et une longueur de 890, le code ressemblerait à ceci:

code = {

'switch1': { 'on': 1234567, #This is switch 1 on 'off': 7654321, #this is switch 1 off 'len': 890, #this is switch 1 code length }, 'switch2': {… }, … }

Répétez cette opération pour chaque bouton. Pendant que vous modifiez ce fichier, remplacez les chaînes qui disent "YOUR-SUB-KEY" par votre clé d'abonnement PubNub et "YOUR-PUB-KEY" par votre clé de publication.

Une fois chaque bouton enregistré, vous pouvez passer à la section suivante.

Étape 7: Exécuter le programme

Exécution du programme
Exécution du programme

Maintenant que vous avez tous vos codes, rendez-vous sur cette page GitHub (Sur votre ordinateur, pas raspberry pi) et cliquez sur le bouton vert qui dit "Cloner ou télécharger", puis cliquez sur "Télécharger ZIP". Une fois ce fichier téléchargé, décompressez-le et ouvrez le dossier. Ouvrez le fichier nommé main.js. Vous devrez entrer vos clés d'abonnement et de publication dans le programme en remplaçant "VOTRE-CLÉ-PUB" par votre clé de publication et "VOTRE-SOUS-CLÉ" par votre clé d'abonnement.

Ensuite, retournez à votre Raspberry Pi et entrez

python3 RFControl.py

Une fois qu'il imprime "Prêt", retournez sur votre ordinateur et ouvrez le fichier index.html dans un navigateur Web en faisant un clic opposé, sélectionnez "Ouvrir avec" et sélectionnez votre navigateur préféré. Vous devriez voir 2 colonnes de 5 boutons, avec les noms des commutateurs entre eux. Appuyez sur l'un des boutons. S'il contrôle correctement la prise, tant mieux ! Sinon, voici quelques trucs à essayer:

  1. Assurez-vous que le Raspberry Pi reçoit des messages. Il doit s'imprimer à l'écran chaque fois qu'il reçoit un message de la page Web. Sinon, assurez-vous que vos clés d'abonnement/publication sont correctes.
  2. Si le Raspberry Pi reçoit des messages, assurez-vous que vos codes RF sont corrects. Assurez-vous que vos prises sont jumelées avec votre télécommande, que votre télécommande peut les contrôler et que les codes que vous avez entrés dans le programme sont corrects.
  3. Si les codes RF sont corrects, assurez-vous que votre Raspberry Pi est à portée des prises. S'ils commencent à fonctionner après l'avoir rapproché, vous devrez peut-être refaire votre antenne.
  4. S'ils ne fonctionnent toujours pas, dites-moi votre problème dans les commentaires et j'essaierai de vous aider.

Étape 8: Exécuter au démarrage

Pour que votre programme python s'exécute au démarrage, entrez ceci dans votre terminal raspberry pi:

crontab -e

Ensuite, allez au bas du fichier et entrez ceci:

@reboot python3 /home/pi/RFControl.py &

Cela rendra votre script Python exécuté au démarrage à chaque fois. Redémarrez maintenant votre Raspberry Pi.

Étape 9: ajouter plus de commutateurs

Ajouter plus de commutateurs
Ajouter plus de commutateurs

Si vous souhaitez ajouter d'autres points de vente, suivez ces instructions:

Ouvrez RFControl.py sur votre Raspberry Pi et ajoutez un nouveau commutateur au dictionnaire des commutateurs.

Exemple:

commutateurs = {

…autres commutateurs… 'NAME-OF-SWITCH': { 'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz, }, }

Ensuite, ajoutez un nouveau bouton dans votre application Web en modifiant la variable switchs dans main.js sur votre ordinateur.

Exemple:

var commutateurs = […anciens commutateurs… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

Remplacez NAME-TO-DISPLAY par le nom que vous souhaitez qu'il apparaisse sur la page Web, et NAME-OF-SWITCH sur les deux fichiers par tout ce que vous voulez. Il doit être unique des autres cependant !

Étape 10: Aller plus loin

Aller plus loin
Aller plus loin

PubNub est pris en charge sur de nombreuses plateformes différentes, ce qui signifie que vous pouvez envoyer des messages depuis presque n'importe quel appareil ! J'ai utilisé un kit Raspberry Pi AIY Voice et PubNub pour envoyer des commandes avec ma voix, mais cela pourrait faire l'objet d'un Instructable ultérieur. Merci d'avoir lu mon Instructable, j'espère qu'il a été utile !

Étape 11: Crédits

Merci à Tim Leland pour le tutoriel sur la configuration de l'émetteur RF: tutoriel

Merci à diy_bloke pour le tuto sur la création d'une antenne: tuto

Merci également à tous ceux qui ont posté des tutoriels en ligne que j'ai consultés pour obtenir de l'aide !

Conseillé: