Table des matières:
- Fournitures
- Étape 1: Configurer Rasbian
- Étape 2: Saisir le code et le configurer
- Étape 3: Communication Arduino
- Étape 4: Câblage de Switch-it
- Étape 5: Exécuter le code
- Étape 6: (FACULTATIF) le Logement
Vidéo: Switch-it, prise automatique avec mesure du courant en temps réel : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
J'aime beaucoup l'automatisation, la capacité 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 quand un écran doit être alimenté. En plus de tout cela, vous avez la possibilité de voir combien de courant circule dans la prise.
Les composants nécessaires à ce projet sont:
Fournitures
Avant de commencer, voici les éléments dont vous aurez certainement besoin pour construire une boîte Switch-IT comme la mienne. Ces fournitures coûteront environ 50 à 100 euros selon votre région et les prix en vigueur.
Matériel
Électronique
- Framboise pi 4
- Carte Micro SD de 16 Go (ou plus)
- Arduino Uno
- Décaleur de niveau 5V-3.3V
- Module relais 5V
- ACS712 20A - module courant
- Module récepteur IR 1838 37,9 kHz
- Télécommande IR (j'utilise une Elegoo)
- cathode commune RVB
- 3 * 330Ω résistances
- bouton poussoir
- RFID-RC522
- ACL 1602A-1
- Prise murale Niko
- Potmètre 10K Ω
- Alimentation 230 à 5V - 7A
Câbles
- Câble USB-B vers USB-A
- Câble d'alimentation USB-C
- câble Ethernet
Divers
- Cavaliers mâle-femelle
- Cavaliers mâle-mâle
- Étain à souder
- Tube rétractable
Pièces spécifiques au boîtier (EN OPTION)
- 50 * noix et gras
- coffret métal 40x40x5 cm avec couvercle
- ruban adhésif double face
- Entretoises de 6 * 1 cm de haut
- porte-led
- Bande Velcro
- passe-câbles
Logiciel
- balenaEtcher:
- Mastic
- rasbienne
- Code Visual Studio
- IDE Arduino
Étape 1: Configurer Rasbian
Tout d'abord, nous allons flasher Rasbian sur la carte SD. Nous le ferons en utilisant balenaEtcher.
- Ouvrir balenaEtcher
- Choisissez l'image Rasbian
- Sélectionnez votre carte SD
- Appuyez sur Flash et attendez quelques minutes jusqu'à ce qu'il clignote
Ajout d'APIPA dans le répertoire de démarrage: nous utiliserons une adresse APIPA pour programmer et configurer les paramètres sur le RPI. Pour faire ça:
- Accéder au répertoire de démarrage sur la carte SD
- Ouvrez "cmdline.txt"
- Ajoutez "169.254.10.1" à la fin du document et enregistrez-le
- Ajoutez un fichier appelé "ssh" au répertoire de démarrage (NE DONNER PAS D'EXTENSION À CE FICHIER)
- Après avoir fait cela, vous pouvez éjecter la carte SD de votre PC.
Accéder au RPI avec PuTTy
Nous pouvons maintenant brancher la carte SD dans notre RPI, connecter le RPI à votre PC à l'aide d'un câble Ethernet.
Pour nous connecter au RPI, nous utiliserons PuTTy avec notre adresse APIPA.
- Ouvrir PuTTy
- Remplissez notre adresse APIPA comme nom d'hôte (169.254.10.1)
- Assurez-vous que le port est 22 et que SSH est sélectionné
- Vous pouvez maintenant ouvrir la connexion
- Le nom d'utilisateur par défaut est: pi
- Avec mot de passe par défaut: framboise
paramètres raspi-config
Ouvrez raspi-config en utilisant:
sudo raspi-config
- Changer le mot de passe utilisateur
- Dans les options de localisation, sélectionnez votre fuseau horaire
- Configurez le WiFi en utilisant les options réseau puis l'option Wi-Fi où vous devez renseigner votre SSID et votre mot de passe.
Installer Python 3
Dans ce projet, nous utilisons Python, nous allons donc définir la valeur par défaut sur Python3 au lieu de Python2, en utilisant les commandes suivantes
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Paquets Python
Nous aurons besoin de quelques packages pour que tout fonctionne correctement, principalement les packages Flask et un pour établir la connexion avec notre base de données. Nous pouvons installer ces packages à l'aide des commandes suivantes:
pip installer le flacon
pip installer Flask_cors pip installer Flask_socketio pip installer Python-mysql-connecton
Base de données
Ensuite, nous allons installer notre système de gestion de base de données (MariaDB) en utilisant:
sudo apt installer mariadb-server
Tapez « Y » et entrez pour continuer. Après quelques secondes, le processus d'installation est terminé et MariaDB est presque prête à être utilisée.
Pour définir, donnez un mot de passe à la base de données, utilisez la commande:
sudo mysql_secure_installation
Appuyez ensuite sur Entrée, car le mot de passe actuel est vide. Appuyez ensuite sur "Y" pour définir un mot de passe. Vous pouvez maintenant saisir le mot de passe de votre choix, assurez-vous de vous en souvenir car nous en avons besoin pour établir une connexion correcte entre le back-end et le front-end.
Maintenant, appuyez 3 fois sur « Y » pour: supprimer les utilisateurs anonymes, interdire la connexion root à distance et supprimer la base de données de test. Enfin, appuyez à nouveau sur « Y » pour recharger les privilèges.
Maintenant, MariaDB et tous les packages nécessaires sont installés avec succès.
Étape 2: Saisir le code et le configurer
Maintenant que nous avons tous les packages installés, nous pouvons récupérer le code.
Le code est disponible sur Github, vous pouvez donc le cloner en utilisant:
git clone
C'est le front-end
git clone
C'est le backend
Installation de la base de données elle-même
Pour installer la base de données, accédez au fichier.sql qui se trouve dans le dossier principal à l'aide des commandes suivantes (assurez-vous de le définir sur votre propre chemin.
mysql
create database switchit quit mysql -u root -p switchit < Your_Path_to_Backend_Repo/switchit.sql
Installation d'Apache
Maintenant que nous avons tout le code et la configuration de la base de données, nous pouvons installer Apache et exécuter notre backend dessus. Nous le ferons en utilisant:
apt-get install apache2 -y
Remplacez ensuite les fichiers dans /var/ww/html par ceux du dossier du dossier frontend.
Si tout s'est bien passé, vous devriez pouvoir vous connecter à votre site Web en utilisant l'adresse APIPA: 169.254.10.1 dans votre navigateur.
Étape 3: Communication Arduino
Pour lire notre capteur actuel et notre capteur RFID, nous utilisons un arduino, pour ce faire, utilisez le code arduino donné ci-dessous. Téléchargez-le à l'aide d'un câble USB-A vers USB-B et du logiciel arduino IDE. Une fois téléchargé, la partie arduino est terminée.
Maintenant, nous devons trouver le nom du périphérique série sur le PI. Pour ce faire, assurez-vous que dans /boot/config.txt "enable_uart=1" est bien défini. Assurez-vous également que "console=serial0, 115200" est supprimé de cmdline.txt.
Ensuite, vérifiez les ports en utilisant
ls -l /dev
Ensuite, l'un des noms de série devrait être l'Arduino. Remplissez ce nom dans la fonction arduinocom dans app.py
ser = série. Série('/dev/ttyS0', 9600)
Ne le faites que si la communication série ne fonctionne pas.
Étape 4: Câblage de Switch-it
Le câblage de tout est assez simple, même si vous devez garder à l'esprit les points suivants:
- Attention à la prise murale, le 230 volts peut être mortel.
- Assurez-vous d'utiliser un convertisseur de niveau pour la communication entre le RPI et Arduino.
- Avant de souder le RGB, assurez-vous d'utiliser la broche rouge et verte. Testez cela avant !
- Testez si rien n'est court-circuité AVANT d'alimenter le circuit.
Étape 5: Exécuter le code
Maintenant que tout est connecté correctement, nous pouvons exécuter notre programme.
Pour qu'il s'exécute automatiquement au démarrage, créez un fichier en utilisant:
sudo nano myscript.service
Collez ensuite (assurez-vous d'utiliser votre propre répertoire app.py:
[Unit]Description=Switchit After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=//changer dans le répertoire app.py// StandardOutput=inherit StandardError=inherit Restart=always User= pi [Installer] WantedBy=multi-user.target
Appuyez ensuite sur "ctrl + X" et copiez-le dans /etc/systemd/system.
Ensuite, la commande suivante pour le faire s'exécuter automatiquement:
sudo systemctl activer myscript.service
Vous pouvez trouver plus d'informations à ce sujet sur le site RaspBerry Pi.
Redémarrez et c'est fait
Redémarrez maintenant votre PI en utilisant:
sudo reboot -h maintenant
C'est ainsi que vous faites Switch-it!
Merci d'avoir suivi, j'espère que cela a été utile. Si vous avez des conseils ou des commentaires, n'hésitez pas à laisser un commentaire.
Étape 6: (FACULTATIF) le Logement
Vous pouvez construire le logement entièrement à votre guise. J'ai utilisé un boîtier en métal de 40x40x5 cm avec un couvercle. Comme j'en ai utilisé un en métal, j'ai dû percer des trous et utiliser des entretoises pour tout retirer de la plaque de sol. J'ai choisi d'utiliser un point central où le 5V, 3.3V et gnd est disponible. Chaque connexion électrique est soudée avec un morceau de tube rétractable au-dessus. Pour faire la gestion des câbles, j'ai utilisé des coussinets avec des sangles de transport.
Conseillé:
Solveur Rubik's Cube en temps réel avec les yeux bandés utilisant Raspberry Pi et OpenCV : 4 étapes
Solveur Rubik's Cube en temps réel avec les yeux bandés utilisant Raspberry Pi et OpenCV : il s'agit de la 2ème version de l'outil Rubik's cube conçu pour résoudre les yeux bandés. La 1ère version a été développée par javascript, vous pouvez voir le projet RubiksCubeBlindfolded1Contrairement à la précédente, cette version utilise la bibliothèque OpenCV pour détecter les couleurs et e
Un compteur de niveau d'eau de puits en temps réel : 6 étapes (avec photos)
Un compteur de niveau d'eau de puits en temps réel : ces instructions décrivent comment construire un compteur de niveau d'eau en temps réel à faible coût pour une utilisation dans des puits creusés. Le compteur de niveau d'eau est conçu pour s'accrocher à l'intérieur d'un puits creusé, mesurer le niveau d'eau une fois par jour, et envoyer les données par WiFi ou connexion cellulaire
Faire une horloge avec M5stick C en utilisant Arduino IDE - Horloge temps réel RTC avec M5stack M5stick-C : 4 étapes
Faire une horloge avec M5stick C en utilisant Arduino IDE | Horloge en temps réel RTC avec M5stack M5stick-C : Salut les gars dans ce instructables, nous allons apprendre à faire une horloge avec la carte de développement m5stick-C de m5stack à l'aide d'Arduino IDE. semaine du mois sur l'écran
Enregistrement de données MPU-6050/A0 en temps réel avec Arduino et Android : 7 étapes (avec photos)
Enregistrement de données MPU-6050/A0 en temps réel avec Arduino et Android : j'ai été intéressé par l'utilisation d'Arduino pour l'apprentissage automatique. Dans un premier temps, je souhaite créer un affichage et un enregistreur de données en temps réel (ou presque) avec un appareil Android. Je veux capturer les données de l'accéléromètre du MPU-6050 donc je conçois
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