Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:46
introduction
Il existe de nombreux exemples de domotique intelligente, mais celui-ci est simple et a fonctionné très efficacement pendant un an dans ma maison, j'espère donc que vous l'aimerez. Lorsque vous avez terminé, vous disposez d'un appareil capable de scanner le réseau pour voir si vous êtes dans la maison, en fonction de l'appareil compatible Wi-Fi que vous gardez sur vous, et peut contrôler un ensemble de prises à l'aide d'une antenne RF. Alors maintenant, lorsque vous entrez dans votre maison, les lumières s'allument et lorsque vous partez, elles s'éteignent, uniquement à cause de votre présence (vous pouvez également économiser beaucoup d'énergie sur les appareils qui n'ont pas besoin d'être allumés lorsque vous êtes pas là, comme les haut-parleurs sans fil).
Il fonctionne avec un Raspberry Pi 2 modèle B et utilise le pi-mote d'Energenie, bien que je sois sûr que toute prise contrôlée par RF pourrait être piratée pour fonctionner avec le bon kit. Il est codé en Python, principalement à l'aide de la bibliothèque nmap-python pour l'analyse des ports sur votre réseau local.
Conditions:
1. Raspberry Pi - J'ai utilisé un modèle 2 B, mais tout fonctionnerait (pas sûr de la fiabilité d'un zéro sur un réseau sans fil) - connecté à votre routeur (Ethernet si possible).
Carte et prises 2. Energenie Pi-mote
3. Longueur du fil et du fer à souder si possible
4. Bouton facultatif et commande de LED
Étape 1: Étape 1: Assemblage
Il n'est pas nécessaire pour moi de répéter les instructions de configuration de base ici, le Pi-mote a ses propres instructions qui sont assez complètes. Vous pouvez exécuter le code pratique pour vérifier que les commutateurs fonctionnent correctement.
energenie4u.co.uk/res/pdfs/ENER314%20UM.pd…
Alors que la carte a une antenne, il est recommandé pour une plus grande portée (> 5 m) d'ajouter une antenne filaire comme indiqué sur l'image (fil noir vertical). Les signaux sont transmis à 433 MHz, l'antenne doit donc mesurer environ 1/4 * v/f ~= 15 cm de long.
J'ai aussi rajouté un lego caseworks au mien, je vous laisse juger de la qualité de ce travail:)
Étape 2: Étape 2: Trouver l'adresse IP de vos appareils
Comme mentionné, l'outil logiciel principal est une bibliothèque appelée nmap qui a été adaptée pour python et peut être téléchargée à partir d'ici: https://pypi.python.org/pypi/python-nmap/0.6.1 Elle peut faire des tas de choses:
Dans un premier temps, nous effectuerons une analyse large du réseau pour trouver les bons appareils et, dans le programme principal, exécuterons une analyse du réseau.
Ouvrez un terminal python et tapez:
importer nmap
nm=nmap. PortScanner()
nm.scan(hosts=' plage d'adresses IP réseau ', arguments='-sP')
La plage d'adresses IP sera quelque chose comme: '192.168.0.1/24'
Cela vous donnera une longue liste des appareils sur votre réseau, vous devrez utiliser des essais et des erreurs pour déterminer les appareils qui vous intéressent.
Cette étape est plus facile à réaliser avec les commandes arp-scan ou ping en dehors de l'interpréteur python, qui vous donnent des informations sur les appareils, mais comme nous utilisions la bibliothèque python-nmap de toute façon, j'ai pensé mettre celle-ci.
Une fois que vous avez trouvé les appareils que vous souhaitez utiliser comme contrôleurs de présence, par ex. téléphones portables, tablettes, etc. Notez leurs adresses IP. Cela fonctionne à la fois sur les réseaux d'adresses IP contrôlés dynamiquement et statiquement.
Pour confirmer que vous disposez du bon appareil, vous pouvez le déconnecter du réseau et relancer l'analyse, il ne devrait alors pas apparaître sur votre analyse.
Étape 3: Étape 3: Configurez vos prises
Maintenant que vous avez vos adresses IP, vous devez configurer vos sockets. Cela se fait en maintenant le bouton vert sur les prises jusqu'à ce que le voyant rouge clignote puis en envoyant le signal choisi. Les différents signaux sont obtenus par un ensemble de 4 interrupteurs binaires correspondant à des sorties numériques sur le Pi.
Il y a un exemple de code dans le manuel Energenie pour la commutation, je suggérerais de le copier et d'adapter un court script qui vous permet de configurer les sockets en envoyant un signal lorsque vous exécutez le script.
Étape 4: Étape 4: Écrivez votre code
Et sur le programme final.
J'ai joint le code que j'ai utilisé, qui fonctionnait pour deux appareils pour chacun des occupants de notre maison, alors qu'il y avait un bouton de dérogation pour n'importe qui d'autre.
Le code fonctionne en recherchant les adresses IP '192.168.0.10' et '192.168.0.28'. Il ne regarde alors que les ports 80 et 62078 pour gagner du temps, ces ports sont souvent ouverts pour les communications sur les appareils mobiles. Remplacez les adresses IP par les adresses que vous avez trouvées à la dernière étape. Il vérifie également l'entrée du bouton, dans ce cas le bouton est connecté à la broche 40 dans le GPIO.setup avec un pull down to ground. Si l'un des appareils est présent ou si le bouton est allumé, il envoie un signal aux prises pour s'allumer.
Pour éviter les décrochages potentiels: alors que l'appareil s'allumera rapidement en votre présence, comme il n'y a pas de faux positifs, il s'éteindra après une période plus longue. C'est parce qu'il y a parfois des faux négatifs, c'est-à-dire qu'il ne détecte pas correctement un appareil à chaque analyse. Comme je l'ai mentionné, nous n'avons eu aucun décrochage en plus d'un an d'utilisation de cette technique.
J'ai également laissé le code de débogage car cela est utile pour déterminer si votre code s'exécute correctement. N'hésitez pas à construire et à modifier à partir de cette base pour avoir des tas de sockets et des tas de périphériques qui interagissent tous. De plus, vous voudrez probablement exécuter ce code en permanence sur votre Pi en arrière-plan pendant qu'il fait d'autres choses, de préférence au démarrage. Pour plus d'informations sur la façon de procéder, consultez ce fil:
Conseillé:
Fabriquer un capteur de proximité avec Magicbit [Magicblocks] : 6 étapes
Faire un capteur de proximité avec Magicbit [Magicblocks] : Ce tutoriel vous apprendra à utiliser un capteur de proximité avec un Magicbit en utilisant Magicblocks. Nous utilisons magicbit comme carte de développement dans ce projet basé sur ESP32. Par conséquent, n'importe quelle carte de développement ESP32 peut être utilisée dans ce projet
Mesure de proximité à distance avec capteur de geste APDS9960 : 6 étapes
Mesure de proximité à distance avec capteur de geste APDS9960 : Dans ce tutoriel, nous allons apprendre à mesurer la distance à l'aide d'un capteur de geste APDS9960, arduino et Visuino.Regardez la vidéo
Air Piano utilisant un capteur de proximité IR et Arduino Uno Atmega 328 : 6 étapes (avec photos)
Piano à air utilisant un capteur de proximité IR et Arduino Uno Atmega 328: Normalement, les pianos, qu'il s'agisse de travaux électriques ou mécaniques sur le simple mécanisme de bouton-poussoir. Mais voici une torsion, nous pourrions simplement éliminer le besoin de touches dans un piano en utilisant certains capteurs. Et les capteurs de proximité infrarouge correspondent le mieux à la cause car t
ESP8266-01 Minuterie intelligente IoT pour la domotique : 9 étapes (avec photos)
ESP8266-01 Minuterie intelligente IoT pour la domotique : MISES À JOUR30/09/2018 : Mise à jour du micrologiciel vers la version 1.09. Maintenant avec Sonoff Basic Support10/01/2018: Version d'essai du firmware 1.10 disponible pour les tests sur ESP8266-01 avec des problèmesAvec les nouveaux mots à la mode étant Internet des objets (IoT) et domotique, j'ai décidé
Musique intelligente dans la chambre et la salle de bain avec Raspberry Pi – Intégration multiroom, alarme, contrôle des boutons et domotique : 7 étapes
Musique intelligente dans la chambre et la salle de bain avec Raspberry Pi – Intégration multiroom, alarme, contrôle des boutons et domotique : aujourd'hui, nous voulons vous donner deux exemples sur la façon dont vous pouvez utiliser le Raspberry Pi avec notre logiciel Max2Play pour la domotique : dans la salle de bain et la chambre . Les deux projets sont similaires dans la mesure où de la musique haute fidélité provenant de diverses sources peut être diffusée en streaming via