Table des matières:
- Étape 1: ce dont vous aurez besoin
- Étape 2: Configurer les prises
- Étape 3: Configurer un compte PubNub
- Étape 4: Préparez le Raspberry Pi
- Étape 5: Création du circuit
- Étape 6: Obtenez vos codes RF
- Étape 7: Exécuter le programme
- Étape 8: Exécuter au démarrage
- Étape 9: ajouter plus de commutateurs
- Étape 10: Aller plus loin
- Étape 11: Crédits
Vidéo: Domotique bon marché et efficace avec Raspberry Pi : 11 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
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
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
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
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
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
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:
- 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.
- 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.
- 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.
- 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
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
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é:
Efficace et bon marché : Affichage avec STM32L4 : 13 étapes
Efficace et pas cher : Affichage avec STM32L4 : Aujourd'hui, nous allons parler de trois sujets que j'adore absolument : un écran LCD qui consomme peu d'énergie, STM32 avec Core Arduino, et Arduino Mega Pro Mini. C'est un trio infaillible pour l'Internet des Objets. Je vous présenterai ensuite le HT162
CARTE ROBOT PICAXE BON MARCHÉ ET FACILE AVEC CÂBLE SÉRIE : 12 étapes (avec photos)
CARTE ROBOT PICAXE BON MARCHÉ ET FACILE AVEC CÂBLE SÉRIE : Voici les instructions sur la façon de construire une CARTE PICAXE facile, simple et bon marché pour contrôler un ROBOT SUMO ou à utiliser sur un certain nombre d'autres projets PICAXE 18M2+
Caméra de casque contrôlée par PIC bon marché utilisant Sony LANC (bon pour les sports extrêmes): 4 étapes
Caméra de casque contrôlée par PIC bon marché utilisant Sony LANC (bon pour les sports extrêmes): Ce Instructable vous montrera comment faire une caméra de casque bon marché qui peut être contrôlée via une télécommande afin que votre caméra principale puisse rester en toute sécurité dans votre sac à dos. Le contrôleur peut être attaché à l'une des bretelles de votre sac à dos, et wi
Système domotique bon marché, facile et contrôlé par Internet : 5 étapes (avec photos)
Système domotique bon marché, facile et contrôlé par Internet : Si vous avez des animaux de compagnie/des enfants et que vous devez les nourrir ou leur donner une fessée via Internet, ce système peut vous être utile. C'est un moyen très simple et peu coûteux de contrôler les moteurs, les LED, etc. à la maison depuis n'importe quel ordinateur connecté au Web. Tout ce dont vous avez besoin est un Webc
Amélioration bon marché des photos imprimées : 4 étapes (avec photos)
Amélioration bon marché des photos imprimées : L'imprimante bon marché fait très bien son travail, mais les photos imprimées sont très sensibles : toute goutte d'eau les abîme. Le papier "photo" pour imprimer des photos est très cher. Le papier normal donne des résultats réguliers. J'ai utilisé du papier A4 normal de 75 g pour ce