Inhaltsverzeichnis:

Von der Taschenlampe zum Bewegungssensor mit ESP8266 und MQTT - Gunook
Von der Taschenlampe zum Bewegungssensor mit ESP8266 und MQTT - Gunook

Video: Von der Taschenlampe zum Bewegungssensor mit ESP8266 und MQTT - Gunook

Video: Von der Taschenlampe zum Bewegungssensor mit ESP8266 und MQTT - Gunook
Video: Sonnensteuerung für Rollläden über IoBroker ESP / Tasmota Sensor BH1750 und Adapter Folge der Sonne 2024, November
Anonim
Image
Image
LEDs müssen begrenzt werden
LEDs müssen begrenzt werden

In diesem Beitrag würde ich folgende Punkte vorstellen:

  • LEDs benötigen eine Strombegrenzungsschaltung
  • wie man eine taschenlampe macht
  • Machen Sie ein Licht, das von der tragbaren Batterie betrieben wird, und dimmen Sie die LEDs durch ESP8266 über MQTT

Das Video ist die Zusammenfassung und eine kurze Erklärung, wie das funktioniert.

Ich hatte geplant, den PIR-Sensor mit einzubeziehen, aber das Tutorial wird ziemlich lang, sodass der PIR-Sensor im zweiten Teil dieses Themas vorgestellt wird

Lassen Sie also beginnen.

Schritt 1: LEDs müssen begrenzt werden

Für Anfänger ist dies seltsam, wenn man bedenkt, wie man normalerweise eine Glüh- oder Leuchtstofflampe einschaltet. Keine Sorge, diese LED-Lampen im Regal werden bereits mit einem AC-zu-DC-Netzteil und einem Grenzstrom geliefert. Aber wäre schön, etwas von Grund auf neu zu machen.

Ein Schlüssel zum Einschalten einer LED ist eine Strombegrenzungsschaltung. Dies funktioniert als Ventil für den Strom, so dass, sobald die an die LED angelegte Spannung sie leitend wird, der Strom durch die LEDs nicht größer sein kann als der von der Schaltung geregelte. LEDs fallen in der Regel durch Überhitzung aus. Keine Strombegrenzungsschaltung ist ein sicherer Weg, um die LEDs in wenigen Sekunden zu verbrennen. Übrigens, die Befestigung der LED-Chips, die auf dem Alurahmen kommen, um einen Kühlkörper zu reduzieren und den LED-Chip generell zu empfehlen.

Ich habe mir viel am Kopf gekratzt, als ich das 2015 gelernt habe, und kratze mich immer noch am Kopf (aus verschiedenen Gründen). Ich habe aus diesem Tutorial gelernt und seine klaren Erklärungen haben mir einige Probleme erspart.

Die Schaltung ist beigefügt. Die fetten Linien bezeichnen den Hauptlastweg und die dünneren zeigen den Steuermechanismus zur Steuerung des Stroms des Hauptwegs, der etwa 150 mA beträgt. Wikipedia hat einen kurzen Artikel und einige Referenzen angehängt. Die Strombegrenzung kann mit einem Transistor aufgebaut werden, indem der MOSFET durch Transistoren mit mittlerer Stromlast wie BD135, BD139 ersetzt wird.

Schritt 2: Machen Sie eine Taschenlampe

Mach eine Taschenlampe
Mach eine Taschenlampe
Mach eine Taschenlampe
Mach eine Taschenlampe
Mach eine Taschenlampe
Mach eine Taschenlampe
Mach eine Taschenlampe
Mach eine Taschenlampe

Benötigte Teile:

  1. ein N-Kanal-MOSFET (IRF540N $ 1,62 / 10 Stück, 30N06, $ 1,75 / 10 Stück)
  2. ein NPN-Transistor (wie S8085)
  3. 3,9 Ohm – 2W Widerstand, der Strom begrenzt auf 0,6/3,9 = 153mA
  4. 100kR (1/4W) Widerstand
  5. Ein Push-Lock-Schalter
  6. Es gibt 0,5 W 8 mm LED, 3,18 $ / 100 Stück hier
  7. Eine 18660 Lithiumbatterie. Ich habe ein paar davon aus einer Powerbank gerettet. Laptop-Akku (4, 6, 8 Zellen) aus 18650 Zellen, aber vorsichtig mit diesem Zeug.
  8. 1 Boost bis zu 12V-Platine, wie diese, 0,56 $
  9. 1 Lithium-Ladegerät wie dieses, 0,30 $

Der Hauptunterschied zur obigen Schaltung besteht in der Verwendung einer Lithiumbatterie (18660) mit Boost-Up-Platine anstelle eines nachgebildeten 5V-Netzteils.

Das letzte Foto zeigt die letzte Taschenlampe und sie wurde von einer beliebigen Micro-USB-Quelle (> 1A) aufgeladen.

Schritt 3: Internet der Dinge mit dieser Taschenlampe?

Internet der Dinge mit dieser Taschenlampe?
Internet der Dinge mit dieser Taschenlampe?
Internet der Dinge mit dieser Taschenlampe?
Internet der Dinge mit dieser Taschenlampe?
Internet der Dinge mit dieser Taschenlampe?
Internet der Dinge mit dieser Taschenlampe?

Ich unterteile diesen Teil in drei Schritte:

  • Bereiten Sie einen Abonnenten vor (diesen)
  • MQTT-Server einrichten (nächster Schritt)
  • und einen Publisher vorbereiten (den nächsten)

Teile:

Zuerst habe ich dieses Schlagwort, auch bekannt als IOTs, verwendet, aber dieses könnte eine gute Kombination aus der Verwendung der Schaltung in Schritt 2 mit einem ESP8266 und dann der Steuerung der Lichtintensität durch die MQTT-Methode bilden.

Teile für die Schaltung sind identisch, außer:

  1. Ersetzen Sie 12V Boost-Up durch MT3608 Boost-Up-Board, $ 1,92 / 5 Stück, dieses kann die Spannung einer 18650-Batterie (ca. 3,7 V) auf 28 V erhöhen, genug, um 8 LEDs (statt 3) mit Strom zu versorgen.
  2. Die Un-Push-Position im Schalter ist mit GPIO 1 oder 2 im ESP8266 für PWM-Signal verbunden.
  3. ESP8266 01, jeweils 1,68 $. Wie dieser
  4. AMS1117 3,3 V, ein Spannungsregler für ESP8266, einige Kondensatoren
  5. Ein USB-Modul zum Flashen von ESP8266, 0,78 USD / Stück wie dieses

Übrigens. diese Links dienen der Bequemlichkeit.

Löten und Hochladen:

  • Löten Sie die Teile zusammen und verwenden Sie die obigen Schemata. Einige vorgefertigte 3,3-Spannungskreise können Ihnen etwas Zeit sparen (1,38 USD / 5 Stück wie folgt). Ich war verwirrt, als ich mich beim Umdrehen der Platine an den Pin erinnerte und am Ende einen AMS1117-Spannungsregler zufriedenstellte.
  • Nächste. Nehmen Sie eine kleine Änderung wie im dritten Foto vor, um den GPIO 0 auf GND zu halten, tippen Sie schnell auf den RST-Pin mit dem GND-Pin, um den ESP8266 in den Flashmodus zu versetzen.
  • Laden Sie den Code hier von meinem GitHub herunter und laden Sie den Code mit Arduino IDE auf ESP 8266 hoch.

Ich habe die Zeile markiert, um das Thema anzuzeigen, das der Abonnent abonniert hat. Jede zu diesem Thema gepostete Nachricht wird an andere Kunden (Abonnenten) dieses Themas weitergegeben. Der EPS8266 in dieser Schaltung hört die zum Thema gepostete JSON-Nachricht ab und meldet sich, wenn in Kanal 3 eine Änderung vorgenommen wurde

* Es war einmal, ich dachte, ich könnte einen Pull-Down-Widerstand (100k) anbringen, um das Gate des MOSFET zu erden, wenn der ESP8266 nicht präsentiert wurde. Dies funktioniert ohne ESP8266, aber mit ESP8266 zieht der Widerstand auch GPIO0 oder 2 auf GND, wodurch sie in einen Flash-Modus versetzt werden oder nicht booten (wenn GPIO2 LOW ist)). In diesem Fall sehen Sie ein durchgehendes Grün.

Schritt 4: MQTT-Server einrichten

MQTT-Server einrichten
MQTT-Server einrichten
MQTT-Server einrichten
MQTT-Server einrichten
MQTT-Server einrichten
MQTT-Server einrichten
MQTT-Server einrichten
MQTT-Server einrichten

MQTT (Message Queuing Telemetry Transport) ist ein Messprotokoll basierend auf der Publish-Subscribe-Methode. Das Gerät, das ein- und ausgehende MQTT-Nachrichten hostet, wird als Broker bezeichnet. Wie ein echter Broker hostet er den Austausch zwischen Publishern (Verkäufern) und Abonnenten (Käufern). Kein Geld wechselt den Besitzer. Dafür gibt es viele Tutorials.

Hier ist die Zusammenfassung. Raspberry Pi ist dafür das beliebteste Gerät. Installieren Sie zunächst MQTT, indem Sie:

sudo apt-get install mosquitto mosquitto-clients

Testen Sie, ob der MQTT-Server funktioniert, indem Sie zwei Terminals auf Raspberry öffnen, eines die erste Zeile und das andere für die nächste eingeben:

mosquitto_sub -h localhost -t "Ihr Thema"

mosquitto_pub -t "Ihr Thema" -h localost -m "Sag etwas"

Sie sollten sehen, dass auf dem ersten Terminal "Sagen Sie etwas" angezeigt wird. Walah! Es klappt.

Das "#" kann verwendet werden, um ein beliebiges Thema anzuhören, ersetzen Sie "yourtopic" durch "#"

Jetzt möchten Sie nicht, dass jemand Ihren MQTT-Server veröffentlichen oder abonnieren kann, Sie sollten ein Passwort einrichten, indem Sie Folgendes tun:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user kann ein anderer Benutzername sein, den Sie mögen, geben Sie das Passwort zweimal ein und aktualisieren Sie die.conf-Datei wie folgt:

sudo nano /etc/mosquitto/mosquitto.conf

fügt diese beiden Zeilen hinzu:

allow_anonymous false

passwortdatei /home/pi/pwfile

Starten Sie dann die Mücke neu, indem Sie:

sudo systemctl Neustart von Mosquitto

Machen Sie einen Test, indem Sie den Namen mit einem Passwort wie zum Beispiel:

mosquitto_sub -h localhost -t "Ihr Thema" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "Ihr Thema" -u "mqtt_user" -P "123456" -m "Ist das gesichert?"

Auch wenn MQTT die Verbindung verweigert, versuchen Sie dies, um den MQTT-Dienst in den Hintergrund des Linux-Systems zu stellen, indem Sie:

Mücke -d

Ich fand diese Referenzen gut, um einen Blick darauf zu werfen. Von diesen beiden habe ich heute etwas gelernt.

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

Schritt 5: Bereiten Sie einen Publisher vor

Bereiten Sie einen Publisher vor
Bereiten Sie einen Publisher vor
Bereiten Sie einen Publisher vor
Bereiten Sie einen Publisher vor
Bereiten Sie einen Publisher vor
Bereiten Sie einen Publisher vor
Bereiten Sie einen Publisher vor
Bereiten Sie einen Publisher vor

Für dieses erstelle ich ein einfaches Dashboard, um die Nachricht an den MQTT-Server zu pushen. Im Stand-Modus zeigt das LCD die Uhr an.

Teile:

  1. SSD1306 Bildschirmanzeige, 2,41 $ pro Stück
  2. EPS8266 WEMOS D1 Mini, 2,53 $ pro Stück
  3. Ein Potentiometer
  4. Ein 4-poliger Schiebeschalter.
  5. zwei 3mm LEDs,
  6. einige Widerstände

Löten:

Hier ist der Schaltplan dieses Terminals:

Laden Sie den Code hoch:

Das Arbeiten mit dem Marken-WEMOS ESP8266 ist angenehm. Sie brauchen nur einen Micro-USB, drücken Sie die Upload-Taste auf der Arduino IDE, um den Chip zu flashen. Der Code ist hier (GitHub):

Um eine Nachricht zu veröffentlichen, drücken Sie den Schalter, um die grüne LED einzuschalten (und die rote auszuschalten), dann schieben Sie den Stift nach oben und passen Sie ihn an und drücken Sie schließlich die Taste erneut, um die Nachricht auf den MQTT-Server zu übertragen. Das Dashboard könnte eine JSON-Nachricht auf 4 Kanälen veröffentlichen.

Sehen Sie sich das Highlight im Code an (Screenshot). Das ist das Thema, zu dem das Dashboard die Nachricht schickt, und unsere LEDs sind sehr gespannt auf Neues aus der JSON-Nachricht

Das ist es. Ich hoffe, das Tutorial ist hilfreich.

Empfohlen: