Line 107: | Line 107: | ||
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) reliée par l'intermédiaire d'une résistance de 1KOhmes à 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). | 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) reliée par l'intermédiaire d'une résistance de 1KOhmes à 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 permettre au système d'être toujours à l'heure. 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) | + | Et pour finir on retrouve une RTC DS3231 qui permettre 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 tous dans une boite de dérivation et fixez la à la structure principale. | Une fois tous les composants soudés sur une plaque d'essai installez le tous dans une boite de dérivation et fixez la à la structure principale. | ||
Line 118: | Line 118: | ||
{{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 panneau solaire de 250 mA (valeur théorique loin de la réalité...) branché en parallèle le tous géré par un régulateur de charge. | ||
+ | |||
+ | |||
+ | {{Dont|Text=Il aurait surement été plus rentable niveau prix/capacité/taille d'utiliser des batteries au lithium. Mais ces dernières étant sensibles aux différences de température, à l’humidité et nécessitant des circuits de recharge plutôt compliqués, j'ai préféré rester sur une batterie classique au plomb. }} | ||
+ | |||
+ | Laissez les LEDs allumé en permanence entraîne une consommation bien trop importante (autours des 250mA) qui empêche d’alimenter le circuit par 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é a un réseau wifi), ce qui donne avec la batterie une autonomie d'environ deux jours. D'après mes mesures les panneau solaire fournissent au maximum 300 mA en plein soleil mais cela chute au alentours de 100 mA avec un ciel nuageux. Ce qui sur une basse de 10h de soleil par jour étant l'autonomie à environ 5 jours ce qui ne convient toujours pas .... | ||
+ | |||
+ | La solution 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 reset et 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 alentours de 1mA mais entraîne un reboot de ce dernier à son réveil. C'est ici qu’intervient la RTC. | ||
+ | |||
+ | Connaissant à peut près les horaire de passage de mon facteur, j'ai décidé que l'ESP resterait allumé entre 10h et 14h et vérifierais 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 !! | ||
|Step_Picture_00=Boite_aux_lettres_connectée_DSC_0125_copie.jpg | |Step_Picture_00=Boite_aux_lettres_connectée_DSC_0125_copie.jpg | ||
|Step_Picture_01=Boite_aux_lettres_connectée_DSC_0986_1_copie.jpg | |Step_Picture_01=Boite_aux_lettres_connectée_DSC_0986_1_copie.jpg | ||
− | |Step_Picture_02=Boite_aux_lettres_connectée_DSC_0102_copie.jpg | + | |Step_Picture_02=Boite_aux_lettres_connectée_DSC_0977_2.jpg |
− | | | + | |Step_Picture_03=Boite_aux_lettres_connectée_DSC_0102_copie.jpg |
− | | | + | |Step_Picture_04=Boite_aux_lettres_connectée_DSC_0108_copie.jpg |
+ | |Step_Picture_05=Boite_aux_lettres_connectée_DSC_0111_copie.jpg | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step |
Author Mathieu | Last edit 9/12/2019 by 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 tous fonctionnant de manière autonome grasse à 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'autre par découpez un carré de même dimension dans du plexiglas et puis 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 boulons 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 à led DIY utilisé en vidéo (Cf vidéos d'Experimentboy ou DIY Perks)
Pour faire, commencez par découpez une plaque de contreplaqué de 140*140mm. Puis collez 8/10 bandes de leds. Ensuite reliez 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 programmer à 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 330Ohmes à 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) reliée par l'intermédiaire d'une résistance de 1KOhmes à 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 permettre 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 tous 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 panneau solaire de 250 mA (valeur théorique loin de la réalité...) branché en parallèle le tous géré par un régulateur de charge.
Laissez les LEDs allumé en permanence entraîne une consommation bien trop importante (autours des 250mA) qui empêche d’alimenter le circuit par 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é a un réseau wifi), ce qui donne avec la batterie une autonomie d'environ deux jours. D'après mes mesures les panneau solaire fournissent au maximum 300 mA en plein soleil mais cela chute au alentours de 100 mA avec un ciel nuageux. Ce qui sur une basse de 10h de soleil par jour étant l'autonomie à environ 5 jours ce qui ne convient toujours pas ....
La solution 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 reset et 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 alentours de 1mA mais entraîne un reboot de ce dernier à son réveil. C'est ici qu’intervient la RTC.
Connaissant à peut près les horaire de passage de mon facteur, j'ai décidé que l'ESP resterait allumé entre 10h et 14h et vérifierais 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 accorer l’accès au compte Twitter via une clef. Pour l'optenir rendez vous sur cette page:
https://api.twitter.com/oauth/authorize?oauth_nonce=16792561151739267919&oauth_timestamp=1500727564&oauth_consumer_key=oQA2jr32rWowM4SpGB64yQ&oauth_signature_method=HMAC-SHA1&oauth_version=1.0&oauth_token=icTHmQAAAAAAAViGAAABXWpVWAs&oauth_signature=fPFyltGzk5c4Qf5F7sKI3WQ2IkI%3D
Malheureusement la Tweet Library n'est pas nativement compatible avec les ESP car normalement développer pour être utilisée avec un Arduino et un shield ethernet. Pour la rendre compatible il vas vous falloir modifer 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 indiquer 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ées (Cf algorigramme pour les détails sur sont fonctionnement):
https://drive.google.com/open?id=0B8tCTkPLfNNraHhlbnNaTmx3VlU
You entered an invalid page name, with one or many of the following characters :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #