Table des matières:
- Fournitures
- Étape 1: configuration
- Étape 2: Installation du miroir
- Étape 3: Configuration
- Étape 4: API
- Étape 5: Le calendrier
- Étape 6: API Google
- Étape 7: La conception du miroir
- Étape 8: faire le câblage
- Étape 9: Démarrer le code
- Étape 10: Exécuter le miroir
Vidéo: Miroir intelligent multi-utilisateurs avec Google Calendar : 10 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Dans cette instructable, nous allons créer un miroir intelligent intégré à Google Calendar. J'ai fait ce projet parce que je trouve les miroirs intelligents vraiment cool, ils sont une aubaine le matin. Mais j'ai décidé d'en faire un moi-même à partir de zéro car tous les autres ont 1 défaut. Ils sont trop avancés et encombrés. J'ai décidé de garder cela simple.
Fournitures
Avant
nous allons commencer ce sont les choses dont vous aurez certainement besoin pour construire un miroir comme le mien. Ces fournitures coûteront environ 250 à 350 euros selon votre région et les prix en vigueur.
Matériel
Capteurs
- Capteur de température à un fil
- RWCL 0516 (Capteur de mouvement à micro-ondes)
- Potentiomètre souple (Touchstrip de Sparkfun)
L'informatique
et IC
- Haut-parleur (3,2W à 4Ω OU 1,8W à 8Ω)
- MCP3008
- Adafruit I2S 3W Classe D Amplificateur Breakout - MAX98357A
- Framboise Pi 3 B+
- Carte SD (8 Go c'est bien)
- Résistance 4.7K Ohm
Divers
- Cavaliers
- Planche à pain
- Miroir bidirectionnel en acrylique (15% de transmission de lumière)
- Moniteur IPS (la taille dépend de la taille que vous voulez)
- câble HDMI
- Bois
Logiciel
- Mastic
- Éditeur de code (Notepad++ suffit)
- Imageur de disque Win32
- Image du système d'exploitation Raspbian
Étape 1: configuration
Pour commencer, nous devons d'abord configurer votre Pi pour le code que j'ai créé.
Vous aurez besoin de deux choses:
- Imageur de disque Win32 de
- Image du système d'exploitation Raspbian de
Téléchargez le fichier ZIP et extrayez-le où vous le souhaitez.
L'installation
- Sélectionnez votre image via l'icône du dossier
- Sélectionnez votre carte SD via le menu déroulant
- Cliquez sur écrire
Maintenant, nous devrons faire un peu plus de bricolage avec certains paramètres afin que nous puissions accéder au Pi.
- Allez dans le répertoire de démarrage de la carte SD
- Ouvrez le fichier "cmdline.txt"
- Ajouter ip=169.254.10.1 À la fin de la longue ligne de texte séparée par un espace (sur la même ligne).
- Enregistrez le fichier.
- Créez un fichier nommé ssh sans extension dans le même répertoire
Vous pouvez maintenant éjecter la carte SD et la mettre dans votre Pi.
De liaison
Maintenant, nous devons configurer le logiciel.
Branchez d'abord un câble LAN, une extrémité dans votre ordinateur de bureau/ordinateur portable et l'autre dans votre Pi.
Maintenant, démarrez le Raspberry Pi.
- Installez Putty à partir de
- Entrez 169.254.10.1 dans la zone IP.
- Assurez-vous que SSH est sélectionné et que le port 22 est rempli.
- Cliquez sur ouvrir
- Remplissez le nom d'utilisateur: pi
- Renseignez le mot de passe: framboise
Raspi-config
Ouvrez l'utilitaire Raspi-config en utilisant:
sudo raspi-config
Activez les options suivantes dans la catégorie interfaces
- 1 fil
- SPI
Choisissez votre pays WiFi via la catégorie de localisation.
Ensuite, désactivez les options suivantes dans la catégorie des options de démarrage
Écran de démarrage
Enfin, définissez le paramètre Desktop/CLI dans la catégorie des options de démarrage sur Desktop Autologin.
Wifi
Pour le miroir, nous devons disposer d'une connexion wifi, alors assurez-vous d'avoir vos informations d'identification wifi à proximité.
Passer en mode racine
sudo -i
Collez cette ligne mais assurez-vous que le SSID et le mot de passe sont tous les deux renseignés
wpa_passphrase "SSID" "MOT DE PASSE" >> /etc/wpa_supplicant/wpa_supplicant.conf
Entrez le client WPA.
wpa_cli
Sélectionnez l'interface
interface wlan0
Recharger la config
reconfigurer
Assurez-vous que vous êtes correctement connecté en tapant…
IP un
… et voir si vous avez une IP sur les interfaces WLAN0.
Paquets
Maintenant que nous sommes connectés à Internet, nous devrons installer des packages.
Nous devrons d'abord actualiser les listes de paquets pour la dernière.
mise à jour sudo apt
Python
Nous forcerons Raspbian à utiliser Python 3
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2
MariaDB
Collez la ligne suivante pour installer la base de données.
sudo apt installer mariadb-server
Ensuite, nous devrons sécuriser notre installation.
mysql_secure_installation
Il nous demandera le mot de passe root actuel puisque nous n'en avons pas, appuyez simplement sur Entrée.
Ensuite, il nous demande si nous voulons un mot de passe root, tapez y puisque nous en voulons un.
Pour les questions suivantes, entrez simplement Y.
Enfin, nous allons créer un utilisateur que nous pourrons utiliser pour le miroir.
Entrez dans le shell mysql en faisant:
S'élever à la racine
sudo -i
Entrez dans le shell mysql
mysql
Remplacez par votre propre nom d'utilisateur et le même par
accorde tous les privilèges sur mirror.* à ''@'%' identifié par '';
Maintenant, nous vidons la table des autorisations.
PRIVILÈGES DE FLASH;
Serveur Web Apache
Pour installer le serveur Web, exécutez la ligne ci-dessous.
sudo apt installer apache2 -y
Paquets Python
Nous allons installer ces packages
- Ballon
- Flacon-Cors
- Flask-MySQL
- Flacon-SocketIO
- PyMySQL
- Flacon-talisman
- Gévent
- Gevent-websocket
- Google-api-python-client
- Google-auth
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- Calendrier
- Icalevents
- Oauthlib
- Python-socketio
- Demandes
- Wsaccel
- Ujson
En faisant
pip installer Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2 icalendar icaleventsson oauthcelio python request w-sockac
Configuration des enceintes
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | frapper
Maintenant, nous devons redémarrer, alors appuyez sur y.
Réexécutez le script
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | frapper
Maintenant, nous devons redémarrer une deuxième fois
redémarrage sudo
Écran (moniteur)
Selon la façon dont vous voulez l'orientation de votre écran, vous pouvez faire pivoter l'écran.
Pour faire pivoter l'écran, nous devons accéder aux options de démarrage en faisant:
sudo nano /boot/config.txt
Et puis en collant l'une de ces lignes dans le fichier de configuration:
display_rotate=0
display_rotate=1
display_rotate=2
display_rotate=3
Le premier, 0, est la configuration normale. 1 sera à 90 degrés, 2 à 180 degrés et le dernier à 270 degrés.
Redémarrez ensuite.
redémarrage sudo
Étape 2: Installation du miroir
Maintenant, nous allons configurer un endroit pour télécharger mon code.
cd /accueil/pi/
git clone https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Maintenant, nous allons copier certains dossiers vers la bonne destination
sudo cp -R frontend/mirror/ /var/www/html/mirror/
sudo cp -R frontend/tableau de bord/ /var/www/html/ Sudo cp -R backend/ /home/pi/Mirror/
L'installation de la base de données est une étape nécessaire à la réalisation du projet.
sudo mysql -u root -p << CREATEDATABASE.sql
Étape 3: Configuration
Le fichier de configuration se trouve à:
sudo nano /home/pi/Mirror/resources/config.ini
Entrez l'utilisateur et le mot de passe MYSQL.
Ce doit être l'utilisateur mysql que nous venons de créer.
Les autres paramètres que nous aborderons plus tard cette instructable.
Étape 4: API
Maintenant que nous avons terminé l'installation du Pi, nous allons couvrir certains sujets que vous voudrez peut-être faire.
Ciel sombre
Créez une clé API Darsky via
Une fois inscrit, vous verrez votre clé API sur le tableau de bord.
Entrez cette clé dans le fichier de configuration du projet miroir que vous avez installé auparavant.
Le calendrier
Par défaut, vous ne pourrez utiliser que les URL ical pour afficher votre calendrier. Mais cette partie portera sur la façon de lier votre miroir à l'écosystème Google. C'est un processus généralement plus long et plus douloureux.
Choses dont vous aurez certainement besoin
Un nom de domaine
Ce sont les choses que nous allons configurer au cours de cette partie
- Compte CloudFlare
- Compte de développeur Google
- Projet de développeur Google
- Configurer l'API Calendrier
Étape 5: Le calendrier
Cloudflare
Configurez un compte cloudflare depuis https://cloudflare.com et suivez l'assistant pour transférer votre nom de domaine vers Cloudflare DNS.
Pas besoin de créer vous-même un enregistrement A qui pointe vers le Raspberry Pi. Mon code miroir le fera pour vous. Étant donné que dans la plupart des réseaux Wi-Fi domestiques, les adresses IP ne sont pas statiques, elles peuvent donc ne plus fonctionner après le redémarrage. Pour que mon code mette à jour automatiquement l'adresse IP, il aura besoin de la clé API de votre compte.
- Cliquez sur le bouton Obtenir votre clé API sur le tableau de bord sur le côté droit. [Photo 1]
- Faites défiler vers le bas et affichez votre clé API globale. [Photo 2]
Entrez cette clé dans le fichier de configuration du projet miroir que vous avez installé auparavant.
Création de certificat SSL
Google exige que nous ayons une connexion SSL. Pour commencer cette section, assurez-vous d'avoir correctement configuré le DNS Cloudflare.
Ajoutez d'abord le référentiel.
sudo add-apt-repository ppa:certbot/certbot
Mettez à jour la liste de paquets.
sudo apt-get mise à jour
Installer CertBot
sudo apt installer python-certbot-apache
Démarrez la création du certificat. Encore une fois, vous devrez remplir le nom de domaine correct.
sudo certbot --apache -d exemple.com -d www.exemple.com
Après la création, il vous demandera s'il doit rediriger toutes les connexions vers SSL. Choisissez la redirection.
Maintenant, il vous dira qu'il a créé avec succès un certificat pour votre domaine. Assurez-vous de sauvegarder les 2 chemins qu'il vous donne.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Allez maintenant dans le dossier avec les certificats via:
Assurez-vous de remplacer example.com par le bon hébergeur.
cd /etc/letsencrypt/live/example.com/
Maintenant, copions ce contenu dans notre dossier de projet.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
Et
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Connectez Apache à votre domaine
Pour configurer Apache correctement avec votre domaine, nous devrons créer un fichier de configuration. Assurez-vous de renseigner votre nom de domaine par exemple funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Collez-le ensuite dans le fichier. Remplacez example.com par votre nom de domaine.
Assurez-vous que votre certificat et votre clé privée sont le bon chemin. Définissez-les sur le chemin que vous avez enregistré précédemment lors de la création, puis via certbot.
DocumentRoot "/var/www/html/" SSLEngine sur SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Autres directives ici Options Index FollowSymLinks AllowOverride Tous Exiger tout accordé
Nous devons maintenant activer certaines modifications, puis forcer Apache à recharger la configuration en faisant:
sudo a2enmod ssl
sudo a2enmod réécriture
sudo systemctl recharger apache2
Vous devriez maintenant pouvoir accéder via votre nom de domaine à votre pi et voir la page apache par défaut.
Étape 6: API Google
Accédez à la console développeur via
Partie 1
Créez votre premier projet en cliquant à côté du logo Google API et en cliquant sur le bouton NOUVEAU PROJET. Saisissez un nom de projet approprié et cliquez sur le bouton Créer. [Photo1]
Partie 2
Vous allez maintenant accéder à cette page. Cliquez sur le bouton de la bibliothèque. [Photo2]
Ceci est une grande liste de toutes les API que vous pouvez utiliser, mais nous rechercherons l'API Google Calendar. Cliquez dessus et appuyez sur ACTIVER. [Photo3]
Vous accéderez alors à un aperçu de l'API Calendar. Cliquez sur le logo des API Google pour revenir à votre projet. [Photo4]
Partie 3
Pour tout configurer correctement, cliquez sur la catégorie des informations d'identification et choisissez l'onglet Vérification du domaine.
Ici, vous devrez vérifier votre nom de domaine.
- Cliquez sur AJOUTER UN DOMAINE
- Remplissez votre domaine
- Il vous demandera ensuite de vérifier votre domaine. Cliquez sur continuer.
- Choisissez votre fournisseur de nom de domaine. [Photo5]
- Suivez le processus
- Vous pourrez maintenant l'ajouter à la liste de vérification de domaine sur la console API Google comme ceci. Assurez-vous que votre domaine est coché. [Photo6]
Partie 4
Choisissez maintenant l'onglet de l'écran de consentement OAuth. [Photo7]
Remplissez le nom de l'application
Ensuite, nous ajouterons des étendues à l'écran de consentement. Cela signifie que nous demanderons à l'utilisateur sur l'écran de consentement s'il souhaite partager les informations de son calendrier avec le miroir.
- Cliquez sur ajouter une portée et recherchez le calendrier.
- Vérifiez../auth/calendar.readonly et appuyez sur ajouter. [Photo8]
Remplissez un domaine autorisé. Cela devrait être le domaine que vous venez de vérifier. [Photo9]
Cliquez maintenant sur le gros bouton Enregistrer sous le formulaire.
Partie 5
Enfin, nous devons créer les informations d'identification. Parce que nous avons appuyé sur le bouton Enregistrer, nous avons été redirigés vers l'onglet informations d'identification. Cliquez sur créer des informations d'identification et choisissez ID client OAuth. [Photo10]
Choisissez Type d'application: Application Web et donnez-lui un nom.
Entrez le lien suivant dans les URI de redirection autorisés et remplissez le domaine correct.
example.com:5000/api/v1/setup/calendar/response
Cliquez sur créer. Cela vous montrera une fenêtre contextuelle, cliquez simplement sur OK. Appuyez maintenant sur le bouton de téléchargement sur les informations d'identification que vous venez de créer
Partie 6
Ouvrez maintenant le fichier JSON et copiez le contenu.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Collez-les ici.
Partie 7
Maintenant, nous devons définir notre domaine dans la configuration en faisant:
sudo nano /home/pi/Mirror/resources/config.ini
Étape 7: La conception du miroir
La conception de votre miroir dépend de la façon dont vous le souhaitez. Effectuez des mesures précises de l'écran LCD et laissez un espace de 2 centimètres d'un côté du miroir car le capteur de mouvement à micro-ondes y sera installé. Il ne peut pas être derrière n'importe quel métal.
J'ai connecté 4 planches de bois ensemble. Ceux-ci ont été fraisés pour avoir une belle face propre du miroir. Sur le dessus, j'ai également percé quelques trous pour laisser passer le son du haut-parleur. Du côté opposé du miroir, en bas, j'ai découpé un petit rectangle pour pouvoir facilement faire le câblage électrique. [Photo1]
Ce sont 2 morceaux de bois bon marché sur lesquels le moniteur sera posé. Comme je l'ai dit, nous aurions besoin d'un écart d'environ 2 centimètres entre le miroir et le boîtier. J'ai également ajouté 3 petits morceaux de bois et les ai vissés sur ces morceaux de repos. Ainsi, le moniteur resterait en place. [Photo2]
Au final, ça ressemblait à ça. J'avais un écart d'environ 3 mm entre ces pièces de repos et l'avant du boîtier du miroir. Juste assez pour que je puisse mettre le miroir sans tain de 3 mm d'épaisseur. [Photo3]
Étape 8: faire le câblage
Assurez-vous de bien suivre l'un de ces schémas.
Une fois que j'ai fait le câblage, je l'ai collé au dos de l'écran avec du ruban adhésif double face. Puisque si jamais je voulais démonter le miroir et l'utiliser pour d'autres projets, je pourrais facilement le retirer. Si vous êtes certain, vous pouvez utiliser un pistolet à colle chaude et le coller au dos du miroir.
Étape 9: Démarrer le code
Session LX
Créons d'abord quelques dossiers
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Nous allons maintenant créer un fichier dans lequel nous spécifierons quelques paramètres/commandes de démarrage.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Collez ce qui suit dans le fichier.
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi @xscreensaver -no-splash @point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s noblank @xset s off @xset -dpms
Nous mettrons à jour le script de démarrage de l'écran miroir pour qu'il corresponde à notre hôte.
sudo nano /home/pi/Mirror/init_mirror.sh
Choisissez localhost si vous n'utilisez pas Google Calendar et un domaine.
#!/bin/bash
sleep 15 chrome-browser --incognito --kiosk
Si vous l'utilisez, renseignez votre hôte.
#!/bin/bash
sleep 15 chrome-browser --incognito --kiosk
Service
Nous allons maintenant configurer que le code miroir s'exécute automatiquement.
Nous allons créer un service qui démarre automatiquement le code pour nous.
Aller à:
sudo nano /etc/systemd/system/mirror.service
Et collez ceci dans le fichier
[Unité]
Description=Mirror Backend After=network.target mariadb.service [Service] Type=simple User=root ExecStart=/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy=multi-user.target
Maintenant, nous allons devoir recharger le démon systemd en faisant:
sudo systemctl démon-recharger
Et nous allons également permettre au service de démarrer automatiquement au démarrage.
sudo systemctl activer le miroir
Maintenant, nous allons éteindre.
mise hors tension sudo
Les derniers réglages
Enfin, nous devons supprimer notre IP APIPA pour qu'elle ne fonctionne que sur le WiFi.
- Accédez au répertoire de démarrage de la carte SD sur votre PC.
- Ouvrez le fichier "cmdline.txt"
- Supprimer ip=169.254.10.1 À la fin de la longue ligne de texte.
Étape 10: Exécuter le miroir
Visitez l'adresse IP qui se trouve sur l'écran miroir ou si vous avez configuré le calendrier Google, remplissez le nom de domaine.
Vous allez maintenant pouvoir configurer votre miroir !
Si vous obtenez une erreur SSL sur votre miroir, vous souhaiterez peut-être ajouter vos certificats au magasin de certificats Chromium.
Conseillé:
Comment construire un miroir intelligent avec Raspberry Pi 4: 10 étapes
Comment construire un miroir intelligent avec Raspberry Pi 4: Dans ce guide, nous verrons comment construire un miroir intelligent à l'aide de pièces recyclées telles qu'un cadre photo, un vieux moniteur et une vitre. Pour les composants électroniques que j'ai achetés ici www.lcsc .com
Comment faire un miroir intelligent bricolage : 12 étapes (avec photos)
Comment faire un miroir intelligent bricolage : un "miroir intelligent" est un miroir sans tain avec un écran derrière qui est généralement utilisé pour afficher des informations utiles comme l'heure et la date, la météo, votre calendrier et toutes sortes d'autres choses ! Les gens les utilisent à toutes sortes de fins
Miroir intelligent simple : 7 étapes (avec photos)
Miroir intelligent simple : Wow ! ça fait assez longtemps que j'ai téléchargé quelque chose, j'ai été occupé à travailler sur tant de choses et j'ai réalisé que je devais laisser quelque chose pour mes abonnés comme le dit le proverbe, " j'ai toujours un projet sur lequel travailler " haha peut-être que c'est juste moi, de toute façon retour au busin
Miroir magique intelligent flottant d'un vieil ordinateur portable avec reconnaissance vocale Alexa : 6 étapes (avec photos)
Miroir magique intelligent flottant d'un vieil ordinateur portable avec reconnaissance vocale Alexa : inscrivez-vous à mon cours « L'électronique en bref » ici : https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Consultez également mon chaîne youtube ici pour plus de projets et de tutoriels électroniques : https://www.youtube.com/channel/UCelOO
Miroir pas si intelligent mais très sain mais un peu effrayant : 5 étapes (avec photos)
Miroir pas si intelligent mais très sain et pourtant un peu effrayant : Vous avez besoin d'un miroir mais vous ne souhaitez pas ajouter un autre objet intelligent à votre maison ? Alors ce miroir pas si intelligent mais très sain mais légèrement effrayant est fait pour vous