Ligne 13 : | Ligne 13 : | ||
}} | }} | ||
{{Introduction | {{Introduction | ||
− | |Introduction=Rien de plus énervant que de devoir aller ouvrir sa boite aux lettre toutes les 5 minutes lorsque l'on attend avec impatience son nouveau PC ou le dernier composant permettant de finir un projet ! C'est | + | |Introduction=Rien de plus énervant que de devoir aller ouvrir sa boite aux lettre toutes les 5 minutes lorsque l'on attend avec impatience son nouveau PC ou le dernier composant permettant de finir un projet ! C'est face à cette frustration que j'ai eu l'idée de construire une système m'avertissant quant il y a du courrier dans ma boite aux lettres. |
}} | }} | ||
{{Materials | {{Materials | ||
Ligne 23 : | Ligne 23 : | ||
*une diode 1N4007 | *une diode 1N4007 | ||
*une photorésistance | *une photorésistance | ||
− | *une résistance 1 | + | *une résistance 1 KOhms et une résistance 330 Ohms |
*une [https://www.amazon.fr/gp/product/B00EDLDDLU/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 batterie au plomb 6V 4Ah] | *une [https://www.amazon.fr/gp/product/B00EDLDDLU/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 batterie au plomb 6V 4Ah] | ||
*un [https://www.banggood.com/6V12V-10A-PWM-Auto-Solar-Panel-Charge-Controller-Battery-Charger-Regulator-p-1062178.html?rmmds=myorder contrôleur de charge charge solaire] | *un [https://www.banggood.com/6V12V-10A-PWM-Auto-Solar-Panel-Charge-Controller-Battery-Charger-Regulator-p-1062178.html?rmmds=myorder contrôleur de charge charge solaire] | ||
Ligne 32 : | Ligne 32 : | ||
* un [https://www.banggood.com/LM2587-DC-DC-Boost-Converter-5A-3-30V-Step-Up-to-4-35V-Power-Supply-Module-p-1135387.html?rmmds=search élévateur de tension] | * un [https://www.banggood.com/LM2587-DC-DC-Boost-Converter-5A-3-30V-Step-Up-to-4-35V-Power-Supply-Module-p-1135387.html?rmmds=search élévateur de tension] | ||
* un interrupteur à bascule | * un interrupteur à bascule | ||
− | * des connecteurs | + | * des connecteurs mâles/femelles pour circuit imprimé |
* un bornier | * un bornier | ||
* une plaque d'essai | * une plaque d'essai | ||
Ligne 38 : | Ligne 38 : | ||
* de la soudure | * de la soudure | ||
<u>Pour la structure:</u> | <u>Pour la structure:</u> | ||
− | * une | + | * une planche de contreplaqué ( environ 400 * 300 * 40 mm) |
* 4 boulons M4 60mm | * 4 boulons M4 60mm | ||
* 4 boulons M4 30mm | * 4 boulons M4 30mm | ||
Ligne 45 : | Ligne 45 : | ||
* de l'adhésif double face | * de l'adhésif double face | ||
* une plaque de plexiglas ( environ 350 * 170 * 4 mm) | * une plaque de plexiglas ( environ 350 * 170 * 4 mm) | ||
− | * des | + | * des serflexs |
|Tools=* un fer à souder | |Tools=* un fer à souder | ||
* une scie | * une scie | ||
Ligne 60 : | Ligne 60 : | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=Principe de fonctionnement | |Step_Title=Principe de fonctionnement | ||
− | |Step_Content=Le courrier est détecté grâce à des LEDs et une photorésistance. Lorsque le courrier est déposé il tombe sur les LEDs disposées au fond, ce qui modifie la luminosité à l'intérieur, changement qui est détecté par la photorésistance. L'ESP 8266 détecte ainsi la présence de courrier. Il se connecte alors au réseau wifi puis publie un message sur twitter informant du passage du facteur ou du livreur. Le | + | |Step_Content=Le courrier est détecté grâce à des LEDs et une photorésistance. Lorsque le courrier est déposé il tombe sur les LEDs disposées au fond, ce qui modifie la luminosité à l'intérieur, changement qui est détecté par la photorésistance. L'ESP 8266 détecte ainsi la présence de courrier. Il se connecte alors au réseau wifi puis publie un message sur twitter informant du passage du facteur ou du livreur. Le tout fonctionne de manière autonome grâce à des panneaux solaire et une batterie |
|Step_Picture_00=Boite_aux_lettres_connectée_fonctionnement.jpg | |Step_Picture_00=Boite_aux_lettres_connectée_fonctionnement.jpg | ||
}} | }} | ||
Ligne 77 : | Ligne 77 : | ||
− | + | Découpez un carré de 100*100 mm dans du plexiglas. | |
+ | Insérez le dans la plaque en bois. Pour le maintenir en place utilisez de la colle chaude ou de la colle plexiglas. | ||
− | Enfin percez dans les coins, 4 trous de diamètre 4 puis montez y un | + | |
+ | Enfin percez dans les coins, 4 trous de diamètre 4 puis montez y un boulon de 60mm. Ces derniers servent de pieds pour maintenir la structure en hauteur. | ||
|Step_Picture_00=Boite_aux_lettres_connectée_DSC_00682.jpg | |Step_Picture_00=Boite_aux_lettres_connectée_DSC_00682.jpg | ||
|Step_Picture_01=Boite_aux_lettres_connectée_DSC_00442.jpg | |Step_Picture_01=Boite_aux_lettres_connectée_DSC_00442.jpg | ||
Ligne 88 : | Ligne 90 : | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=Mise en place des leds | |Step_Title=Mise en place des leds | ||
− | |Step_Content=Pour avoir un système de LEDs suffisamment puissant pour que les variations de luminosité soient détectés je me suis inspiré des panneaux à | + | |Step_Content=Pour avoir un système de LEDs suffisamment puissant pour que les variations de luminosité soient détectés je me suis inspiré des panneaux à leds DIY utilisés en vidéo (Cf vidéos d'Experimentboy ou DIY Perks) |
− | Pour faire, commencez par | + | Pour se faire, commencez par découper une plaque de contreplaqué de 140*140mm. Puis collez y 8/10 bandes de leds. Ensuite reliez ensemble d'un coté tous les pôles "+" et de l'autre tous les pôles "-". Et ensuite placez un bornier de l'autre coté de la plaque pour l'alimentation. |
Pour finir assemblez les LEDs à la structure principale à l'aide de 4 boulons M4 30mm | Pour finir assemblez les LEDs à la structure principale à l'aide de 4 boulons M4 30mm | ||
Ligne 100 : | Ligne 102 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=Câblage | + | |Step_Title=Câblage électronique |
− | |Step_Content=Comme dis précédemment le système repose sur un ESP8266 qui sera | + | |Step_Content=Comme dis précédemment le système repose sur un ESP8266 qui sera programmé à l'aide de l'IDE arduino. Pour alimenter ce dernier il sera nécessaire d'utiliser un LM1117 couplé à deux condensateurs de 10 μF pour réguler la tension à 3,3V. |
− | On trouve ensuite la photorésistance chargée de détecter les variations de luminosité reliée par l'intermédiaire d'une résistance de | + | On trouve ensuite la photorésistance chargée de détecter les variations de luminosité reliée par l'intermédiaire d'une résistance de 330Ohms à la broche ADC de l'ESP. |
− | Les LEDs nécessitant un courant supérieur à ce qu'est capable de fournir l'ESP elles sont contrôlées par un l’intermédiaire Mosfet (IRF520 / 530 /540) | + | Les LEDs nécessitant un courant supérieur à ce qu'est capable de fournir l'ESP elles sont contrôlées par un l’intermédiaire d'un Mosfet (IRF520 / 530 /540) relié par l'intermédiaire d'une résistance de 1KOhms à la broche 7 (GPIO13) de l'ESP.. De plus comme ces dernières doivent être alimentées en 12V et que la batterie utilisée ne fournie que 6V, il est nécessaire d'ajouter un élévateur de tension (boost converter). |
− | Et pour finir on retrouve une RTC DS3231 qui | + | Et pour finir on retrouve une RTC DS3231 qui permet au système d'être toujours à l'heure après un reboot. Cette dernière est reliée à l'ESP par l’intermédiaire d'une liaison i2C disponible sur les broches 13 (GPIO 5) et 14 (GPIO 4) |
− | Une fois tous les composants soudés sur une plaque d'essai installez le | + | Une fois tous les composants soudés sur une plaque d'essai installez le tout dans une boite de dérivation et fixez la à la structure principale. |
Ligne 122 : | Ligne 124 : | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=Gestion de l’alimentation | |Step_Title=Gestion de l’alimentation | ||
− | |Step_Content=Pour alimenter le système j'ai choisi d'utiliser une batterie au plomb 6V de 4A couplé à deux | + | |Step_Content=Pour alimenter le système j'ai choisi d'utiliser une batterie au plomb 6V de 4A couplé à deux panneaux solaire de 250 mA (valeur théorique loin de la réalité...) branchés en parallèle le tout géré par un régulateur de charge. |
Ligne 130 : | Ligne 132 : | ||
Laisser les LEDs allumées en permanence entraîne une consommation bien trop importante (autours des 250mA) ce qui empêche d’alimenter le circuit sur batterie. La solution est donc de calibrer une fois le système sans courrier puis de faire des mesure à intervalles réguliers pour détecter la présence de courrier. | Laisser les LEDs allumées en permanence entraîne une consommation bien trop importante (autours des 250mA) ce qui empêche d’alimenter le circuit sur batterie. La solution est donc de calibrer une fois le système sans courrier puis de faire des mesure à intervalles réguliers pour détecter la présence de courrier. | ||
− | Ainsi le circuit consomme environ 75mA (non connecté à un réseau wifi), ce qui donne avec la batterie une autonomie d'environ deux jours. D'après mes mesures les panneaux solaires fournissent au maximum 300 mA en plein soleil mais cela chute au alentours de 100 mA avec un ciel nuageux. Ce qui sur une | + | Ainsi le circuit consomme environ 75mA (non connecté à un réseau wifi), ce qui donne avec la batterie une autonomie d'environ deux jours. D'après mes mesures les panneaux solaires fournissent au maximum 300 mA en plein soleil mais cela chute au alentours de 100 mA avec un ciel nuageux. Ce qui sur une base de 10h de soleil par jour étend l'autonomie à environ 5 jours... |
− | La solution pour ne pas avoir | + | La solution pour ne pas avoir à recharger le système est donc d'utiliser une RTC et la fonction ''sleep mode'' de l'ESP. Cette fonction s’active en reliant la broche 4 (GPIO 16) à la broche 1 (reset) et au niveau du code avec: |
ESP.deepSleep(temps en micro seconde); | ESP.deepSleep(temps en micro seconde); | ||
− | Elle a pour effet de mettre en "sommeil" l'ESP8266 réduisant sa consommation au | + | Elle a pour effet de mettre en "sommeil" l'ESP8266 réduisant sa consommation au alentour de 1mA mais entraîne un reboot de ce dernier à son réveil. C'est ici qu’intervient la RTC, qui permet au système de se "repérer" dans le temps. |
− | Connaissant à peut près les | + | Connaissant à peut près les horaires de passage de mon facteur, j'ai décidé que l'ESP resterait allumé entre 10h et 14h et vérifierait sur cette plage horaire la présence de courrier toutes les 5 minutes. Le reste du temps (de 14h à 10h) l'ESP est en sommeil, et le circuit consomme environ 10 mA (consommation du à la RTC). Ce qui permet en théorie au système de fonctionner indéfiniment !! |
{{Info|Text=En pratique le système à déjà fonctionné une semaine d'été sans problème. J'attend d'avoir encore un peut plus de recule pour être sur de son autonomie dans le temps}} | {{Info|Text=En pratique le système à déjà fonctionné une semaine d'été sans problème. J'attend d'avoir encore un peut plus de recule pour être sur de son autonomie dans le temps}} | ||
Ligne 154 : | Ligne 156 : | ||
Pour permettre à l'ESP8266 nous allons utiliser la ''Tweet Library'': | Pour permettre à l'ESP8266 nous allons utiliser la ''Tweet Library'': | ||
https://arduino-tweet.appspot.com/ | https://arduino-tweet.appspot.com/ | ||
− | Ensuite pour pouvoir Tweeter vous allez devoir | + | Ensuite pour pouvoir Tweeter vous allez devoir accorder l’accès au compte Twitter via une clef. Pour l'obtenir rendez vous sur cette page: |
− | https://api.twitter.com/oauth/authorize?oauth_nonce= | + | https://api.twitter.com/oauth/authorize?oauth_nonce=2828234892369209436&oauth_timestamp=1500815756&oauth_consumer_key=oQA2jr32rWowM4SpGB64yQ&oauth_signature_method=HMAC-SHA1&oauth_version=1.0&oauth_token=DHDffgAAAAAAAViGAAABXW-XDZc&oauth_signature=jPqM1kBNpqhVUIDJMFQn%2BB92uo4%3D |
Ligne 161 : | Ligne 163 : | ||
− | Malheureusement la ''Tweet Library'' n'est pas nativement compatible avec les ESP car | + | Malheureusement la ''Tweet Library'' n'est pas nativement compatible avec les ESP car elle a été développée pour être utilisée avec un Arduino et un shield ethernet. Pour la rendre compatible il va vous falloir modifier le header ( Twitter.h) |
Pour cela rajoutez ligne 15 | Pour cela rajoutez ligne 15 | ||
Ligne 179 : | Ligne 181 : | ||
Puis choisir "Generic ESP8266 Module " dans Outils>types de carte. | Puis choisir "Generic ESP8266 Module " dans Outils>types de carte. | ||
− | Et enfin relier l'ESP au convertisseur USB/série comme | + | Et enfin relier l'ESP au convertisseur USB/série comme indiqué sur le schéma. |
Téléchargez et installez ensuite la librairie RTC développée par Makuna pour gérer la DS3231: | Téléchargez et installez ensuite la librairie RTC développée par Makuna pour gérer la DS3231: | ||
Ligne 185 : | Ligne 187 : | ||
Puis exécuter le programme DS3231_Simple pour mette à l’heure la RTC. | Puis exécuter le programme DS3231_Simple pour mette à l’heure la RTC. | ||
− | Et enfin vous pouvez envoyer sur l'ESP8266 le programme suivant pour gérer votre boite aux lettre | + | Et enfin vous pouvez envoyer sur l'ESP8266 le programme suivant pour gérer votre boite aux lettre connectée (Cf algorigramme pour les détails sur son fonctionnement): |
https://drive.google.com/open?id=0B8tCTkPLfNNraHhlbnNaTmx3VlU | https://drive.google.com/open?id=0B8tCTkPLfNNraHhlbnNaTmx3VlU | ||
Ligne 195 : | Ligne 197 : | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=Conclusion | |Step_Title=Conclusion | ||
− | |Step_Content=Ce tutoriel arrive à son terme, j'espère avoir été clair dans mes explications. Cependant, si jamais vous ne comprenez pas un point n'hésitez pas à engager la conversation 😉 En tous cas si vous reproduisez ce système ou que vous avez des idées d'amélioration | + | |Step_Content=Ce tutoriel arrive à son terme, j'espère avoir été clair dans mes explications. Cependant, si jamais vous ne comprenez pas un point n'hésitez pas à engager la conversation 😉 En tous cas si vous reproduisez ce système ou que vous avez des idées d'amélioration partagez les !!! |
{{Idea|Text=J'ai choisi d'utiliser Twitter comme moyen de notification mais il est tout a fait envisageable de charger ce point. Je pense par exemple à une lumière allumé sans fil, ou un système de requête http ou même un couplage avec un projet domotique comme https://gladysproject.com/fr/ 😋}} | {{Idea|Text=J'ai choisi d'utiliser Twitter comme moyen de notification mais il est tout a fait envisageable de charger ce point. Je pense par exemple à une lumière allumé sans fil, ou un système de requête http ou même un couplage avec un projet domotique comme https://gladysproject.com/fr/ 😋}} |
Auteur Mathieu | Dernière modification 9/12/2019 par Clementflipo
connectée, Boite aux lettres, IoT, esp8266, twitter, Hack, Domotique, solaire, rtc, Wifi Boite_aux_lettres_connectée_DSC_01202.jpg Création
Pour l’électronique:
Pour la structure:
Le courrier est détecté grâce à des LEDs et une photorésistance. Lorsque le courrier est déposé il tombe sur les LEDs disposées au fond, ce qui modifie la luminosité à l'intérieur, changement qui est détecté par la photorésistance. L'ESP 8266 détecte ainsi la présence de courrier. Il se connecte alors au réseau wifi puis publie un message sur twitter informant du passage du facteur ou du livreur. Le tout fonctionne de manière autonome grâce à des panneaux solaire et une batterie
Commencez par découper la plaque de contreplaqué au dimension de votre boite aux lettres.
Puis en son centre découpez un carré de 100*100 mm.
Découpez un carré de 100*100 mm dans du plexiglas.
Insérez le dans la plaque en bois. Pour le maintenir en place utilisez de la colle chaude ou de la colle plexiglas.
Enfin percez dans les coins, 4 trous de diamètre 4 puis montez y un boulon de 60mm. Ces derniers servent de pieds pour maintenir la structure en hauteur.
Pour avoir un système de LEDs suffisamment puissant pour que les variations de luminosité soient détectés je me suis inspiré des panneaux à leds DIY utilisés en vidéo (Cf vidéos d'Experimentboy ou DIY Perks)
Pour se faire, commencez par découper une plaque de contreplaqué de 140*140mm. Puis collez y 8/10 bandes de leds. Ensuite reliez ensemble d'un coté tous les pôles "+" et de l'autre tous les pôles "-". Et ensuite placez un bornier de l'autre coté de la plaque pour l'alimentation.
Pour finir assemblez les LEDs à la structure principale à l'aide de 4 boulons M4 30mm
Comme dis précédemment le système repose sur un ESP8266 qui sera programmé à l'aide de l'IDE arduino. Pour alimenter ce dernier il sera nécessaire d'utiliser un LM1117 couplé à deux condensateurs de 10 μF pour réguler la tension à 3,3V.
On trouve ensuite la photorésistance chargée de détecter les variations de luminosité reliée par l'intermédiaire d'une résistance de 330Ohms à la broche ADC de l'ESP.
Les LEDs nécessitant un courant supérieur à ce qu'est capable de fournir l'ESP elles sont contrôlées par un l’intermédiaire d'un Mosfet (IRF520 / 530 /540) relié par l'intermédiaire d'une résistance de 1KOhms à la broche 7 (GPIO13) de l'ESP.. De plus comme ces dernières doivent être alimentées en 12V et que la batterie utilisée ne fournie que 6V, il est nécessaire d'ajouter un élévateur de tension (boost converter).
Et pour finir on retrouve une RTC DS3231 qui permet au système d'être toujours à l'heure après un reboot. Cette dernière est reliée à l'ESP par l’intermédiaire d'une liaison i2C disponible sur les broches 13 (GPIO 5) et 14 (GPIO 4)
Une fois tous les composants soudés sur une plaque d'essai installez le tout dans une boite de dérivation et fixez la à la structure principale.
Pour alimenter le système j'ai choisi d'utiliser une batterie au plomb 6V de 4A couplé à deux panneaux solaire de 250 mA (valeur théorique loin de la réalité...) branchés en parallèle le tout géré par un régulateur de charge.
Laisser les LEDs allumées en permanence entraîne une consommation bien trop importante (autours des 250mA) ce qui empêche d’alimenter le circuit sur batterie. La solution est donc de calibrer une fois le système sans courrier puis de faire des mesure à intervalles réguliers pour détecter la présence de courrier.
Ainsi le circuit consomme environ 75mA (non connecté à un réseau wifi), ce qui donne avec la batterie une autonomie d'environ deux jours. D'après mes mesures les panneaux solaires fournissent au maximum 300 mA en plein soleil mais cela chute au alentours de 100 mA avec un ciel nuageux. Ce qui sur une base de 10h de soleil par jour étend l'autonomie à environ 5 jours...
La solution pour ne pas avoir à recharger le système est donc d'utiliser une RTC et la fonction sleep mode de l'ESP. Cette fonction s’active en reliant la broche 4 (GPIO 16) à la broche 1 (reset) et au niveau du code avec:
ESP.deepSleep(temps en micro seconde);
Elle a pour effet de mettre en "sommeil" l'ESP8266 réduisant sa consommation au alentour de 1mA mais entraîne un reboot de ce dernier à son réveil. C'est ici qu’intervient la RTC, qui permet au système de se "repérer" dans le temps.
Connaissant à peut près les horaires de passage de mon facteur, j'ai décidé que l'ESP resterait allumé entre 10h et 14h et vérifierait sur cette plage horaire la présence de courrier toutes les 5 minutes. Le reste du temps (de 14h à 10h) l'ESP est en sommeil, et le circuit consomme environ 10 mA (consommation du à la RTC). Ce qui permet en théorie au système de fonctionner indéfiniment !!
Pour permettre à l'ESP8266 nous allons utiliser la Tweet Library:
https://arduino-tweet.appspot.com/
Ensuite pour pouvoir Tweeter vous allez devoir accorder l’accès au compte Twitter via une clef. Pour l'obtenir rendez vous sur cette page:
https://api.twitter.com/oauth/authorize?oauth_nonce=2828234892369209436&oauth_timestamp=1500815756&oauth_consumer_key=oQA2jr32rWowM4SpGB64yQ&oauth_signature_method=HMAC-SHA1&oauth_version=1.0&oauth_token=DHDffgAAAAAAAViGAAABXW-XDZc&oauth_signature=jPqM1kBNpqhVUIDJMFQn%2BB92uo4%3D
Malheureusement la Tweet Library n'est pas nativement compatible avec les ESP car elle a été développée pour être utilisée avec un Arduino et un shield ethernet. Pour la rendre compatible il va vous falloir modifier le header ( Twitter.h)
Pour cela rajoutez ligne 15
#include <ESP8266Wifi.h>
passez en commentaire les lignes 21 et 23
et remplacez EthernetClient client; ligne 35 par
WifiClient client;
Pour programmer l'ESP82266 on va uiliser l'IDE Arduino. Pour cela, il vous faut tout d’abord ajouter le support de ce type de carte dans l'IDE en ajoutant l'URL suivante dans Fichier>Préférences>URL de gestionnaire de cartes supplémentaires :
http://arduino.esp8266.com/package_esp8266com_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json
Puis choisir "Generic ESP8266 Module " dans Outils>types de carte.
Et enfin relier l'ESP au convertisseur USB/série comme indiqué sur le schéma.
Téléchargez et installez ensuite la librairie RTC développée par Makuna pour gérer la DS3231:
https://github.com/Makuna/Rtc
Puis exécuter le programme DS3231_Simple pour mette à l’heure la RTC.
Et enfin vous pouvez envoyer sur l'ESP8266 le programme suivant pour gérer votre boite aux lettre connectée (Cf algorigramme pour les détails sur son fonctionnement):
https://drive.google.com/open?id=0B8tCTkPLfNNraHhlbnNaTmx3VlU
Ce tutoriel arrive à son terme, j'espère avoir été clair dans mes explications. Cependant, si jamais vous ne comprenez pas un point n'hésitez pas à engager la conversation 😉 En tous cas si vous reproduisez ce système ou que vous avez des idées d'amélioration partagez les !!!
Hackable magazine numéro 2 et 7
ESP8266:
Tweet Library:
Choix de la batterie:
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #