Table des matières:
- Étape 1: Instructions de configuration du projet de serveur Web PowerHub et de la prise Internet
- Étape 2: Activer les options avancées de RaspberriPi
- Étape 3: commencer à installer les packages requis
- Étape 4: CONSTRUIRE L'API WEB
- Étape 5: Fournitures nécessaires
- Étape 6: Construire le point de vente
- Étape 7: Installer les boutons
- Étape 8: Fil de relais
- Étape 9: Images de câblage et d'assemblage supplémentaires
- Étape 10: Schéma de câblage
- Étape 11: Testez la marche à vide
- Étape 12: définir les scripts de démarrage
Vidéo: Prise de courant compatible Internet : 13 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Instructions de configuration du projet de serveur Web PowerHub et de la prise Internet activée
Hub central de persistance des données pour la lumière et les prises compatibles Internet dans votre maison !
Étape 1: Instructions de configuration du projet de serveur Web PowerHub et de la prise Internet
Hub central de persistance des données pour la lumière et les prises compatibles Internet dans votre maison
Disque dur RaspberriPi clignotant / Installez le logiciel requis (à l'aide d'Ubuntu Linux) Téléchargez "RASPBIAN JESSIE LITE"
Créez votre nouveau disque dur pour DashboardPI
Insérez la microSD dans votre ordinateur via un adaptateur USB et créez l'image disque à l'aide de la commande dd
Localisez votre carte microSD insérée via la commande df -h, démontez-la et créez l'image disque avec la commande disk copy dd
$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678
$ umount /dev/sdb1
Attention: assurez-vous que la commande est parfaitement exacte, vous pouvez endommager d'autres disques avec cette commande
if=emplacement du fichier image RASPBIAN JESSIE LITE of=emplacement de votre carte microSD
$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (remarque: dans ce cas, il s'agit de /dev/sdb, /dev/sdb1 était une partition d'usine existante sur le microSD)
Configurer votre RaspberriPi
Insérez votre nouvelle carte microSD dans le raspberrypi et allumez-le avec un moniteur connecté au port HDMI
Connexion
utilisateur: pi pass: framboise
Changez le mot de passe de votre compte pour plus de sécurité
sudo passwd pi
Étape 2: Activer les options avancées de RaspberriPi
sudo raspi-config
Choisissez: 1 Développez le système de fichiers
9 options avancées
Nom d'hôte A2 changez-le en "WIFI-OUTLET"
A4 SSH Activer le serveur SSH
A7 I2C Activer l'interface i2c
Activer le clavier anglais/américain
sudo nano /etc/default/keyboard
Modifiez la ligne suivante: XKBLAYOUT="us"
Redémarrez PI pour que les modifications de la disposition du clavier/le redimensionnement du système de fichiers prennent effet
$ sudo shutdown -r maintenant
Connexion automatique à votre WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Ajoutez les lignes suivantes pour que votre raspberrypi se connecte automatiquement à votre WiFi domestique (si votre réseau sans fil se nomme "linksys" par exemple, dans l'exemple suivant)
network={ ssid="linksys" psk="MOT DE PASSE SANS FIL ICI" } Redémarrez PI pour vous connecter au réseau WiFi
$ sudo shutdown -r maintenant
Maintenant que votre PI est enfin sur le réseau local, vous pouvez vous y connecter à distance via SSH. Mais vous devez d'abord obtenir l'adresse IP dont il dispose actuellement.
$ ifconfig Recherchez "inet addr: 192.168. XXX. XXX" dans la sortie de la commande suivante pour l'adresse IP de votre PI
Allez sur une autre machine et connectez-vous à votre raspberrypi via ssh
$ ssh [email protected]. XXX. XXX
Étape 3: commencer à installer les packages requis
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim git python-requests python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev py
Mettre à jour les paramètres de fuseau horaire local
$ sudo dpkg-reconfigurer tzdata
sélectionnez votre fuseau horaire à l'aide de l'interface
Configurez la commande simple directory l [facultatif]
vi ~/.bashrc
ajoutez la ligne suivante:
alias l='ls -lh'
source ~/.bashrc
Correction de la mise en évidence de la syntaxe par défaut de VIM [facultatif]
sudo vi /etc/vim/vimrc
décommentez la ligne suivante:
syntaxe sur
Installer les pilotes Python i2c
Étape 4: CONSTRUIRE L'API WEB
Les instructions suivantes vous permettront de construire le hub central qui explique aux différentes prises et interrupteurs muraux compatibles wifi que vous pouvez construire, quels appareils sont allumés et éteints. Il s'agit d'un petit script PHP à placer sur un hébergeur de votre choix. Il dispose de l'API suivante pour obtenir et définir des informations. Remarque: n'oubliez pas d'inclure le fichier.htaccess pour que le routage des URL se fasse correctement.
Installez le dossier "index.php", "values/" et settings.php (configuré selon vos propres valeurs) sur un serveur Web compatible PHP de votre choix. La valeur de la clé secrète dans le fichier "settings.php" doit correspondre à la valeur de la clé secrète que vous définiriez dans le fichier "settings.py". Cela empêchera à un niveau basique tout autre trafic Web de définir/écrire des valeurs, d'allumer vos appareils, vous avez maintenant besoin de cette clé API hachée dans l'en-tête de la requête HTTP pour le faire.
L'API prend en charge les fonctionnalités suivantes, pour ce projet, nous n'utiliserons que les valeurs "drapeaux" qui sont des valeurs booléennes qui indiquent au commutateur d'activer et de désactiver. Peut-être que si vous vouliez profiter des valeurs de "lecture", vous pourriez l'avoir, donc si une température ambiante devient trop chaude en y enregistrant une température, elle pourrait allumer un ventilateur de fenêtre, etc.
Obtenez le code
Clonez le projet suivant depuis GitHub pour obtenir le code permettant d'exécuter le serveur Web et la sortie RaspberryPI.
github.com/khinds10/PowerHub
Points de terminaison d'API lors de l'exécution sur un serveur Web
myhost/message (obtenir l'ensemble de messages actuel)
myhost/message/set (HTTP POST une valeur de chaîne brute à cette URL pour définir un nouveau message)
myhost/flag/{id} (obtenir le statut booléen actuel du drapeau par entier: {id})
myhost/flag/all (obtenir tout l'état booléen actuel de tous les drapeaux sous forme de tableau)
myhost/flag/{id}/set (définissez l'état booléen actuel sur 'true' pour le drapeau par entier: {id})
myhost/flag/{id}/unset (définissez l'état booléen actuel sur 'false' pour le drapeau par entier: {id})
myhost/reading/{id} (obtenir la valeur moyenne actuelle de la lecture par entier: {id})
myhost/reading/all (obtenir la valeur moyenne actuelle pour toutes les lectures sous forme de tableau)
myhost/reading/{id}/set (HTTP POST une valeur numérique brute à cette URL pour ajouter une nouvelle valeur à la moyenne calculée actuelle) -- voir ci-dessous pour savoir combien de valeurs au total sont compilées à la valeur moyenne Configuration Les valeurs 'lectures' sont calculées comme des moyennes d'un certain nombre de valeurs numériques de lectures persistantes récentes. Définissez la constante suivante sur le nombre de lectures les plus récentes à inclure pour produire la moyenne.
$readingsAverageLimit = 5;
Datastore Server conservera les valeurs dans des fichiers simples localisés selon les conventions de nommage ci-dessous. Remarque: {id} sera remplacé par l'entier réel présenté par l'URL de la requête entrante.
$valueFileFolder = 'values' (nom du dossier contenant les fichiers de mesure) $messageFileName = 'message.msg' (nom du fichier texte du message) $readingsFilesNames = 'reading{id}.avg' (nom du CSV moyenné lectures) $flagFilesNames = 'flag{id}.flg' (nom du fichier d'indicateur de valeur d'indicateur booléen)
Assurez-vous que tous les fichiers de valeurs sont accessibles en écriture par les valeurs systemchmod 777/*
Étape 5: Fournitures nécessaires
Scie cloche de 1 pouce (pour une perceuse)
Module de relais 5V 2 canaux
Plaque murale pour prise double
Prise Duplex
Pi Zéro W
Boîtier d'encastrement à montage en surface double
Boutons-poussoirs lumineux blancs
Étape 6: Construire le point de vente
Pause onglets de sortie
Brisez la languette sur le côté de la prise pour que chaque prise s'allume/s'éteigne indépendamment
Étape 7: Installer les boutons
Sur la façade de sortie à l'aide de la scie cloche de 1 découpez 2 trous pour les boutons à placer à côté des sorties
Test Dimensionnement des composants
Assurez-vous que tous les composants s'insèrent dans la boîte de montage en surface de sortie
Étape 8: Fil de relais
Câblez le Relais à la prise, de la rallonge allant au mur, connectez la masse (vert) et le neutre (blanc) directement à la prise Pour le chaud (noir) connectez-les au relais puis du relais à chaque prise connecteurs chauds individuellement
Étape 9: Images de câblage et d'assemblage supplémentaires
Étape 10: Schéma de câblage
Utilisez le schéma pour câbler correctement les composants pour qu'ils fonctionnent avec le code Python RaspberryPI.
Étape 11: Testez la marche à vide
Après l'assemblage final avant de visser l'unité de trou, effectuez un essai à sec de l'appareil pour vous assurer qu'il n'y a pas de court-circuit, de mauvais câblage
Étape 12: définir les scripts de démarrage
crontab -e
ajouter les lignes suivantes
@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py
Conseillé:
Switch-it, prise automatique avec mesure du courant en temps réel : 6 étapes
Switch-it, prise automatique avec mesure de courant en temps réel : j'aime beaucoup l'automatisation, la possibilité de contrôler quand quelque chose doit arriver. C'est ce qui m'a donné cette idée : une prise de courant automatique et faite maison. Il peut être utilisé pour planifier quand les lumières doivent être allumées, quand les téléphones doivent être rechargés ou
Programmation Flash de la prise intelligente Joinrun (prise UE) : 6 étapes
Programmation Flash de la Smart Socket Joinrun (EU Plug) : Le "Joinrun Smart Wifi" La prise avec USB est une autre prise de courant contrôlable par wifi basée sur ESP8266. Elle est dotée d'un design agréable, d'un petit facteur de forme et d'un port de chargement USB supplémentaire. Il a besoin de l'application smartlife pour le contrôler via un
Support de moniteur DIY avec prise de courant : 4 étapes (avec photos)
Support de moniteur DIY avec prise de courant : tout d'abord, je dois mentionner que j'aime toujours construire mon propre truc pour résoudre mes besoins spécifiques, et dans ce cas ce n'est pas différent. Problème : trouver un support de moniteur moins cher qui correspond à la taille exacte de mon cahier. Pour moi, la meilleure configuration pour t
Câblez une prise de courant mâle CA à fusible : 4 étapes (avec photos)
Branchez une prise de courant mâle CA à fusible : j'utilise ces prises de courant mâles CA bon marché d'Amazon et d'Ebay pour un certain nombre de mes projets. Ils sont faciles à incorporer dans mes boîtiers électroniques, et ils fournissent à la fois un interrupteur et un fusible pour n'importe quelle charge. Malheureusement, aucun diamètre de câblage
Prise de courant contrôlée Google Home : 9 étapes (avec photos)
Prise de courant contrôlée par Google Home : Ma petite amie a toujours voulu construire une maison intelligente. Nous construisons donc l'infrastructure et le premier élément de la maison intelligente, un interrupteur de prise de courant télécommandé que vous pouvez contrôler à l'aide d'un panneau de commande ou à l'aide de commandes vocales (si vous avez google home ou goog