Table des matières:

De la lampe de poche au capteur de mouvement avec ESP8266 et MQTT : 5 étapes (avec photos)
De la lampe de poche au capteur de mouvement avec ESP8266 et MQTT : 5 étapes (avec photos)

Vidéo: De la lampe de poche au capteur de mouvement avec ESP8266 et MQTT : 5 étapes (avec photos)

Vidéo: De la lampe de poche au capteur de mouvement avec ESP8266 et MQTT : 5 étapes (avec photos)
Vidéo: Programmer des objets connectés en 15 min !! (Tuto ESPHome 2022) 2024, Novembre
Anonim
Image
Image
Les LED ont besoin de courant pour être limitées
Les LED ont besoin de courant pour être limitées

Dans cet article, je présenterais les éléments ci-dessous:

  • Les LED ont besoin d'un circuit de courant de limitation
  • comment faire une lampe de poche
  • faire une lumière alimentée par la batterie portable et obscurcir les LED par ESP8266 via MQTT

La vidéo est le récapitulatif et une brève explication de la façon dont cela fonctionne,

J'avais prévu d'avoir un capteur PIR inclus, mais le tutoriel devient assez long pour que le capteur PIR soit présenté dans la deuxième partie de ce sujet

Alors commençons.

Étape 1: les LED ont besoin de courant pour être limitées

Pour les débutants, c'est étrange compte tenu de la façon dont habituellement allumer une ampoule à incandescence ou fluorescente. Ne vous inquiétez pas, ces ampoules LED sur l'étagère sont déjà livrées avec un adaptateur secteur AC-DC et un courant de limitation. Mais ce serait bien de faire quelque chose à partir de zéro.

Une clé pour allumer une LED est un circuit de limitation de courant. Cela fonctionne comme une vanne pour le courant de sorte qu'une fois que la tension appliquée à la LED la rendant conductrice, le courant traversant les LED ne puisse pas être supérieur à celui régulé par le circuit. Les défaillances des LED résultent généralement d'une surchauffe. Aucun circuit de limitation de courant en place n'est un moyen sûr de brûler les LED en quelques secondes. Soit dit en passant, la fixation des puces LED, celles qui viennent sur le cadre en aluminium, à un dissipateur thermique réduisent la puce LED et sont généralement recommandées.

Je me grattais beaucoup la tête en apprenant cela vers 2015, et je me grattais toujours la tête (pour différentes raisons). J'ai appris de ce tutoriel et son explication claire m'épargne quelques accrocs.

Le circuit est attaché. Les lignes en gras signifient la route de charge principale, et les plus minces indiquent le mécanisme de contrôle pour contrôler le courant de la route principale qui est d'environ 150 mA. Wikipedia a un court article et quelques références jointes. La limitation de courant peut être construite avec un transistor en remplaçant le MOSFET par des transistors à charge moyenne tels que BD135, BD139.

Étape 2: Fabriquer une lampe de poche

Fabriquer une lampe de poche
Fabriquer une lampe de poche
Fabriquer une lampe de poche
Fabriquer une lampe de poche
Fabriquer une lampe de poche
Fabriquer une lampe de poche
Fabriquer une lampe de poche
Fabriquer une lampe de poche

Pièces nécessaires:

  1. un MOSFET à canal N (IRF540N 1,62 $/10 pièces, 30N06, 0,15 $/10 pièces)
  2. un transistor NPN (comme le S8085)
  3. 3.9 ohm – 2W résistance, le courant limité autour de 0.6/3.9 = 153mA
  4. Résistance 100kR (1/4W)
  5. Un interrupteur à poussoir
  6. Il y a 0.5W 8mm LED, $3.18/100pcs ici
  7. Une batterie Lithium 18660. J'en ai récupéré quelques-uns dans une banque d'alimentation. Batterie d'ordinateur portable (4, 6, 8 cellules) fabriquée à partir de 18650 cellules mais faites attention à ce genre de choses.
  8. 1 carte boost jusqu'à 12V, comme celle-ci, 0,56 $
  9. 1 chargeur au lithium tel que celui-ci, 0,30 $

La principale différence avec le circuit ci-dessus est l'utilisation d'une batterie au lithium (18660) avec carte de suralimentation au lieu d'un adaptateur d'alimentation 5 V maquette.

La dernière photo montre la lampe de poche finale et elle se chargeait à partir de n'importe quelle source micro USB (> 1A).

Étape 3: Internet des objets avec cette lampe de poche ?

Internet des objets avec cette lampe de poche ?
Internet des objets avec cette lampe de poche ?
Internet des objets avec cette lampe de poche ?
Internet des objets avec cette lampe de poche ?
Internet des objets avec cette lampe de poche ?
Internet des objets avec cette lampe de poche ?

Je divise cette partie en trois étapes:

  • Préparez un abonné (celui-ci)
  • Configurer le serveur MQTT (étape suivante)
  • et préparer un Publisher (le suivant)

Les pièces:

Tout d'abord, oui, j'ai utilisé ce mot à la mode, alias IOT, mais celui-ci pourrait faire une bonne combinaison d'utilisation du circuit de l'étape 2 avec un ESP8266, puis contrôler l'intensité lumineuse par la méthode MQTT.

Les pièces du circuit sont identiques, sauf:

  1. Remplacez 12V boost up par MT3608 boost up board, 1,92 $/5pcs, celui-ci peut augmenter la tension d'une batterie 18650 (environ 3,7V) à 28 V, assez pour alimenter 8 LED (au lieu de 3).
  2. La position non-poussée du commutateur est connectée au GPIO 1 ou 2 de l'ESP8266 pour le signal PWM.
  3. ESP8266 01, 1,68 $ chacun. Comme celui-ci
  4. AMS1117 3.3 V, un régulateur de tension pour ESP8266, quelques condensateurs
  5. Un module USB pour flasher ESP8266, 0,78 $/pcs comme celui-ci

D'ailleurs. ces liens sont pour la commodité.

Soudure et téléchargement:

  • Soudez les pièces ensemble et utilisez les schémas ci-dessus. Certains circuits de tension 3,3 préfabriqués peuvent vous faire gagner du temps (1,38 $/5 pièces comme celui-ci). J'étais confus de me souvenir de la broche lors du retournement de la carte PCB et j'ai fini par satisfaire un régulateur de tension AMS1117.
  • Prochain. Faites une petite modification comme sur la troisième photo pour maintenir le GPIO 0 à GND enfoncé, appuyez rapidement sur la broche RST avec la broche GND pour mettre l'ESP8266 en mode Flash.
  • Téléchargez le code ici depuis mon GitHub et téléchargez le code sur ESP 8266 à l'aide d'Arduino IDE.

J'ai surligné la ligne pour montrer le sujet auquel l'abonné s'est abonné. Tout message publié sur ce sujet sera transmis à d'autres clients (abonnés) à ce sujet. L'EPS8266 de ce circuit écoutera le message JSON publié dans le sujet et se répandra si une modification a été apportée au canal trois

* il était une fois, je pensais pouvoir mettre une résistance pull-down (100k) pour mettre à la terre la porte du MOSFET lorsque l'ESP8266 n'était pas présenté. Cela fonctionne en l'absence d'ESP8266, mais avec ESP8266, la résistance abaisse également le GPIO0 ou 2 à GND, les faisant passer en mode Flash ou ne démarre pas (lorsque GPIO2 est FAIBLE)). Vous verrez un vert continu si cela se produit.

Étape 4: Configurer le serveur MQTT

Configurer le serveur MQTT
Configurer le serveur MQTT
Configurer le serveur MQTT
Configurer le serveur MQTT
Configurer le serveur MQTT
Configurer le serveur MQTT
Configurer le serveur MQTT
Configurer le serveur MQTT

MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie basé sur la méthode de publication-abonnement. Le périphérique hébergeant les messages MQTT entrants et sortants est appelé courtier. Tel un véritable courtier, il héberge l'échange entre les éditeurs (vendeurs) et les abonnés (acheteurs). Aucun argent ne change de mains. Il y a plein de tutos pour ça.

Voici le récapitulatif. Raspberry Pi est l'appareil le plus populaire pour cela. Tout d'abord, installez MQTT en:

sudo apt-get install mosquitto mosquitto-clients

testez si le serveur MQTT fonctionne en ouvrant deux terminaux sur Raspberry, l'un tapez la première ligne et l'autre pour la suivante:

mosquitto_sub -h localhost -t "votre sujet"

mosquitto_pub -t "votre sujet" -h localost -m "dis quelque chose"

Vous devriez voir « dire quelque chose » s'afficher sur le premier terminal. Walah ! Ça marche.

Le "#" peut être utilisé pour écouter n'importe quel sujet, remplacez "votresujet" par "#"

Maintenant, vous ne voulez pas que quelqu'un puisse publier ou s'abonner à votre serveur MQTT, vous devez configurer un mot de passe, en procédant comme suit:

disque ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user peut être d'autres noms d'utilisateur que vous aimez, entrez le mot de passe deux fois et mettez à jour le fichier.conf en:

sudo nano /etc/mosquitto/mosquitto.conf

ajoute ces deux lignes:

allow_anonymous faux

fichier_mot_de_passe /home/pi/pwfile

puis redémarrez le moustique en:

sudo systemctl redémarrer moustique

faire un test en incluant le nom avec un mot de passe tel que:

mosquitto_sub -h localhost -t "votre sujet" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "votre sujet" -u "mqtt_user" -P "123456" -m "est-ce sécurisé ?"

De plus, si le MQTT refuse la connexion, essayez ceci pour mettre le service MQTT en arrière-plan du système Linux en:

moustique -d

J'ai trouvé que ces références sont bonnes à regarder. J'ai appris quelque chose de ces deux-là aujourd'hui.

  1. Adafruit:
  2. Stees-internet-guide.com

Étape 5: Préparez un éditeur

Préparer un éditeur
Préparer un éditeur
Préparer un éditeur
Préparer un éditeur
Préparer un éditeur
Préparer un éditeur
Préparer un éditeur
Préparer un éditeur

Pour celui-ci, je crée un tableau de bord simple pour envoyer le message au serveur MQTT. En mode stand, l'écran LCD affiche l'horloge.

Les pièces:

  1. Écran SSD1306, 2,41 $ chacun
  2. EPS8266 WEMOS D1 Mini, 2,53 $ chacun
  3. Un potentiomètre
  4. Un interrupteur à glissière à 4 broches.
  5. deux LED 3mm,
  6. quelques résistances

Soudure:

Voici le schéma de ce terminal:

Téléchargez le code:

Le WEMOS ESP8266 de marque est agréable à travailler. Vous n'avez besoin que d'un micro USB, appuyez sur le bouton de téléchargement sur Arduino IDE flashez la puce. Le code est ici (GitHub):

Pour publier un message, appuyez sur l'interrupteur pour allumer le voyant vert (et éteindre le rouge), puis faites glisser la broche vers le haut et ajustez, et enfin appuyez à nouveau sur le bouton pour envoyer le message sur le serveur MQTT. Le tableau de bord pourrait publier un message JSON sur 4 canaux.

Jetez un œil au point culminant du code (capture d'écran). C'est le sujet sur lequel le tableau de bord pousse le message, et nos voyants sont très impatients de voir toute nouvelle du message JSON

C'est à peu près tout. J'espère que le tutoriel est utile.

Conseillé: