Bonjour, voici mon projet de sonnette connectée (portier vidéo et affichage e-paper).
Le projet est vivant, je le modifie en temps réel en fonction de mes avancées et de votre aide.
J’apprends en faisant, alors il y aura beaucoup de tâtonnements et sans doute des optimisations à apporter
Les éléments :
Tous les liens pointent vers Amazon par facilité de livraison. Les prix sont moins chers chez Ali ;-).
- le bouton final de la sonnette (je n’arrive pas à le faire fonctionner avec le smart implant) ou celui-ci que j’utilise pour les essais
- la caméra foscam c2
- le fibaro smart implant
- le transformateur 220V -12V-15W
- l’écran e-paper e-ink Waveshare
- la sonnette (une sans fil dont j’ai réussi à capturer le signal avec un broadlink pro).
Le principe
Lorsqu’un visiteur appuiera sur le bouton, le fibaro enregistrera le changement d’état, fera sonner le carillon via un scénario et enverra une capture de la caméra foscam C2 via telegram.
Le petit écran affichera un message en fonction de la réponse au ASK de mon scénario. Par exemple : J’arrive ou un instant. Si pas de réponse, l’écran gardera l’affichage du nom de famille comme une étiquette.
Ci dessous, les étapes du projet. J’espère que vous pourrez m’aider
Etape 1 : branchement électrique
- brancher le fil rouge du fibaro sur le + de la sortie du boitier d’alimentation
- brancher le fil bleu (celui à côté du fil rouge) sur le - du boitier d’alimentation avec un wagon/sucre pour créer une petite dérivation.
- brancher le fil jaune du fibaro sur une borne du bouton de la sonnette.
- brancher un fil bleu de la sonnette au wagon/sucre créé ci dessus.
- brancher le boitier d’alimentation sur du 220V. Dans mon cas j’ai récupéré la prise d’un luminaire avec son câblage deux fils). Précautions : toutes les manipulations se font avec la prise débranchée.
- allumer.
La lumière verte du fibaro s’allume, il faut maintenant l’inclure dans Jeedom.
Sources utiles: Domadoo et domo-blog
Etape 2 : Jeedom Z-wave
- Inclusion du périphérique en mode NON sécurisé.
- Dans la configuration du module, indiquer : paramètres 20 et 21 en Normally open alarm input.
Sources utiles post de la communauté
Etape 3 : Écran
- Sur un raspberry pi, connecter l’écran epaper,
- Avec Balena (ou autre) copier raspbian en version lite.
- Ajouter le fichier SSH sur la partition boot
- Démarrer le Pi
Pas à pas : (je suis sur mac avec le terminal)
-
Note : si problème de connexion de type Remote host identification has changed ! à force de recommencer:
ssh-keygen -R ip du raspberry
-
Connexion au Pi :
ssh pi@192.168.XX.XX
-
Mise à jour :
sudo apt update
-
Activer le SPI dans
sudo raspi-config
puis item 5 puis reboot. -
Installation des librairies
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
ousudo pip3 install Pillow
(je pense que c’est la même chose)
sudo apt-get install python3-numpy
sudo pip3 install RPi.GPIO
sudo pip3 install spidev
sudo apt install git
installation de GIT pour cloner le dossier de démo -
Création d’un dossier de travail « sonnette » puis y accéder
mkdir sonnette
puiscd sonnette
-
Téléchargement du package de démo disponible sur GitHub:
sudo git clone https://github.com/waveshare/e-Paper
avec un logiciel ftp, j’accède aux dossiers et fichiers du Pi. -
Donner les droits d’écriture
sudo chmod 777 -R e-Paper
, renommer (je le fais par le ftp) « RaspberryPi&JetsonNano » en « RaspberryPi » puis atteindre le dossiercd sonnette/e-Paper/RaspberryPi/python/examples
-
Lancer un test :
sudo python3 epd_2in7_test.py
, l’écran devrait afficher les infos et se modifier -
Créer un dossier img au même niveau que « pic », « lib » et « examples » et copier vos images .bmp
-
Créer un nouveau script python
.sudo nano nomDeMonScript.py
et coller le code suivant code_test.txt (1,1 Ko) et remplacer monImage et monImage4 par vos noms d’images.
Pour lancer le script :sudo python3 nomDeMonScript.py
, les 2 images devraient s’afficher. -
Créer un nouveau script codeTxt.py pour réaliser une image à partir de code uniquement. Voici le code à copier. code_text2.txt (2,0 Ko)
Problème : pour « l’image 2 » en niveau de gris, l’image est à l’envers !! Je n’arrive pas à changer ça. -
Mise au propre
Après nettoyage voici l’organisation du dossier et les fichiers de codes.
J’ai repris et adapté le projet de station météo pour les 4 boutons sur le côté de l’écran. Je ne sais pas encore s’ils me seront utiles, si vous avez une idée ?
codeImg.py codeImg.txt (1,0 Ko)
codeTxt.py codeTxt.txt (2,0 Ko)
boutons.py boutons.txt (2,2 Ko)
Rédaction en cours…
Sources utiles :
- wiki de waveshare, onglet ressources
- site de waveshare (ici pour mon écran 2.7p) ou PDF de waveshare,
- Excellentes infos sur le site de projetsdiy.fr pour une station météo avec le même écran.
Etape 4 : Scénario et caméra
Voici le début du scénario en copie écran. Pour le moment c’est assez basique avec une fonction ASK et 3 actions :
- J’arrive : afficher un message sur le futur écran e-paper.
- Conversation : proposer un lien cliquable sur Telegram pour accéder au flux caméra de la FOSCAM avec micro et son.
- Rien : ne fait rien (pour le moment)
Problème 1: quelle URL indiquer ?
En effet, avec le flux RTSP, j’ai bien l’image et le son via VLC sur l’ordinateur mais pas la fonction microphone de la FOSCAM.
Une idée serait de lancer l’application foscam sur le smartphone ou la tablette mais je ne sais pas comment faire cela ?
Problème 2: Formatage du message
Comment écrire le message vers TELEGRAM pour lui indiquer un lien cliquable? J’ai essayé en ajoutant txt_link=« mon lien » ou url=« mon lien » mais ça ne fonctionne pas.
J’ai vu qu’une API telegram existe mais je ne sais pas comment travailler avec.
Etape 5 : Sonnette finale
Etape 6 : Montage et attente d’un visiteur !