Od latarki do czujnika ruchu z ESP8266 i MQTT: 5 kroków (ze zdjęciami)
Od latarki do czujnika ruchu z ESP8266 i MQTT: 5 kroków (ze zdjęciami)
Anonim
Image
Image
Diody LED wymagają ograniczenia prądu
Diody LED wymagają ograniczenia prądu

W tym poście przedstawiłbym pozycje poniżej:

  • Diody LED potrzebują obwodu ograniczającego prąd
  • jak zrobić latarkę
  • zrobić światło zasilane z przenośnej baterii i ściemniać diody przez ESP8266 przez MQTT

Film jest podsumowaniem i krótkim wyjaśnieniem, jak to działa,

Planowałem dołączyć czujnik PIR, ale samouczek robi się dość długi, więc czujnik PIR zostanie przedstawiony w drugiej części tego tematu

Więc zacznijmy.

Krok 1: Diody LED wymagają ograniczenia prądu

Dla początkujących jest to dziwne, biorąc pod uwagę, jak zwykle włącza się żarówkę lub świetlówkę. Nie martw się, te żarówki LED na półce są już dostarczane z zasilaczem AC-DC i prądem ograniczającym. Ale fajnie byłoby zrobić coś od podstaw.

Jednym z kluczy do włączenia diody LED jest obwód ograniczający prąd. Działa to jak zawór dla prądu, więc gdy napięcie przyłożone do diody LED stanie się przewodzące, prąd przepływający przez diody LED nie może być większy niż prąd regulowany przez obwód. Awarie diod LED zwykle wynikają z przegrzania. Brak obwodu ograniczającego prąd jest pewnym sposobem na spalenie diod LED w ciągu kilku sekund. Nawiasem mówiąc, mocowanie chipów LED, które znajdują się na aluminiowej ramie, na radiatorze zmniejsza chip LED i ogólnie jest zalecane.

Dużo drapałem się po głowie, gdy dowiedziałem się o tym około 2015 roku, i nadal drapałem się w głowę (z różnych powodów). Dowiedziałem się z tego samouczka, a jego jasne wyjaśnienie oszczędziło mi kilku zadrapań.

Obwód jest dołączony. Linie pogrubione oznaczają główną trasę obciążenia, a cieńsze wskazują mechanizm sterujący do sterowania prądem toru głównego, który wynosi około 150 mA. Wikipedia ma krótki artykuł i załączone odniesienia. Ograniczenie prądu można zbudować za pomocą tranzystora, zastępując MOSFET tranzystorami średniego obciążenia, takimi jak BD135, BD139.

Krok 2: Zrób latarkę

Zrób latarkę
Zrób latarkę
Zrób latarkę
Zrób latarkę
Zrób latarkę
Zrób latarkę
Zrób latarkę
Zrób latarkę

Potrzebne części:

  1. N-kanałowy MOSFET (IRF540N 1,62 USD/10 sztuk, 30N06, 1,75 USD/10 sztuk)
  2. tranzystor NPN (taki jak S8085)
  3. 3,9 ohm – rezystor 2W, prąd ograniczony około 0,6/3,9 = 153mA
  4. Rezystor 100kR (1/4W)
  5. Przełącznik push-lock
  6. Jest tutaj dioda LED 0,5 W 8 mm, 3,18 USD / 100 sztuk
  7. Bateria litowa 18660. Uratowałem kilka z nich z powerbanku. Bateria do laptopa (4, 6, 8 ogniw) wykonana z 18650 ogniw, ale uważaj na to.
  8. 1 karta doładowania do 12 V, taka jak ta, 0,56 USD
  9. 1 ładowarka litowa, taka jak ta, 0,30 USD

Główną różnicą w stosunku do powyższego obwodu jest użycie baterii litowej (18660) z płytką doładowania zamiast makiety zasilacza 5V.

Ostatnie zdjęcie pokazuje finalną latarkę i ładowała się z dowolnego źródła micro USB (>1A).

Krok 3: Internet rzeczy z tą latarką?

Internet rzeczy z tą latarką?
Internet rzeczy z tą latarką?
Internet rzeczy z tą latarką?
Internet rzeczy z tą latarką?
Internet rzeczy z tą latarką?
Internet rzeczy z tą latarką?

Podzielę tę część na trzy kroki:

  • Przygotuj subskrybenta (tego)
  • Skonfiguruj serwer MQTT (następny krok)
  • i przygotuj Wydawcę (następnego)

Części:

Po pierwsze, tak, użyłem tego buzzword, czyli IOTs, ale ten może stanowić dobrą kombinację użycia obwodu w kroku 2 z ESP8266, a następnie kontrolowania natężenia światła metodą MQTT.

Części obwodu są identyczne, z wyjątkiem:

  1. Zastąp 12V boost up płytą boost up MT3608, 1,92 USD/5 sztuk, ta może zwiększyć napięcie akumulatora 18650 (około 3,7 V) do 28 V, co wystarczy do zasilania 8 diod LED (zamiast 3).
  2. Pozycja un-push w przełączniku jest podłączona do GPIO 1 lub 2 w ESP8266 dla sygnału PWM.
  3. ESP8266 01, 1,68 USD za sztukę. Jak ten
  4. AMS1117 3,3 V, regulator napięcia do ESP8266, niektóre kondensatory
  5. Moduł USB do flashowania ESP8266, 0,78 USD/szt., taki jak ten

Przy okazji te linki są dla wygody.

Lutowanie i wgrywanie:

  • Zlutuj części i skorzystaj z powyższych schematów. Niektóre gotowe obwody napięcia 3.3 mogą zaoszczędzić trochę czasu (1,38 USD / 5 sztuk w ten sposób). Byłem zdezorientowany, że pamiętałem pinezkę podczas odwracania płytki PCB i ostatecznie zadowoliłem się jakimś regulatorem napięcia AMS1117.
  • Następny. Dokonaj małej modyfikacji, jak na trzecim zdjęciu, aby przytrzymać GPIO 0 do GND, szybko dotknij pinu RST pinem GND, aby przełączyć ESP8266 w tryb Flashmode.
  • Pobierz kod tutaj z mojego GitHub i prześlij kod do ESP 8266 za pomocą Arduino IDE.

Podkreśliłem linię, aby pokazać temat, który subskrybuje subskrybent. Każda wiadomość opublikowana w tym temacie zostanie przekazana innym klientom (subskrybentom) tego tematu. EPS8266 w tym obwodzie będzie nasłuchiwać wiadomości JSON opublikowanej w temacie i wypuścić, jeśli zmiana została dokonana w kanale trzecim

* kiedyś myślałem, że mogę umieścić rezystor pull-down (100k) do uziemienia bramki MOSFET, gdy ESP8266 nie był prezentowany. Działa to w przypadku braku ESP8266, ale w przypadku ESP8266 rezystor ściąga również GPIO0 lub 2 do GND, czyniąc je w trybie Flash lub nie uruchamiając się (gdy GPIO2 jest LOW)). Jeśli tak się stanie, zobaczysz stałe zielone światło.

Krok 4: Skonfiguruj serwer MQTT

Skonfiguruj serwer MQTT
Skonfiguruj serwer MQTT
Skonfiguruj serwer MQTT
Skonfiguruj serwer MQTT
Skonfiguruj serwer MQTT
Skonfiguruj serwer MQTT
Skonfiguruj serwer MQTT
Skonfiguruj serwer MQTT

MQTT (Message Queuing Telemetry Transport) jest protokołem komunikacyjnym opartym na metodzie publikuj-subskrybuj. Urządzenie hostujące i wychodzące komunikaty MQTT jest nazywane brokerem. Jak prawdziwy broker obsługuje wymianę między wydawcami (sprzedawcami) a subskrybentami (kupującymi). Te pieniądze nie zmieniają właściciela. Istnieje wiele samouczków na ten temat.

Oto podsumowanie. Najbardziej popularnym urządzeniem do tego jest Raspberry Pi. Najpierw zainstaluj MQTT przez:

sudo apt-get install mosquitto mosquitto-klienci

sprawdź, czy serwer MQTT działa, otwierając dwa terminale na Raspberry, jeden wpisuje pierwszą linię, a drugi dla następnej:

mosquitto_sub -h localhost -t "twoj temat"

mosquitto_pub -t "twoj temat" -h localost -m "powiedz coś"

Powinieneś zobaczyć "powiedz coś" pojawia się na pierwszym terminalu. Walah! To działa.

Znak „#” może być użyty do słuchania dowolnego tematu, zastąp „Twój temat” przez „#”

Teraz nie chcesz, aby ktoś mógł publikować lub subskrybować Twój serwer MQTT, powinieneś ustawić hasło, robiąc to poprzez:

cd ~

mosquitto_passwrd -c plik pw mqtt_user

mqtt_user mogą być innymi nazwami użytkownika, które lubisz, wprowadź hasło dwukrotnie i zaktualizuj plik.conf przez:

sudo nano /etc/mosquitto/mosquitto.conf

dodaje te dwie linie:

allow_anonymous false

plik_hasła /home/pi/pwfile

następnie uruchom ponownie komara poprzez:

sudo systemctl uruchom ponownie komar

wykonaj test, dołączając nazwę z hasłem, takim jak:

mosquitto_sub -h localhost -t "twoj temat" -u "mqtt_user" -P "123456"

pub_mosquitto -h localhost -t "twoj temat" -u "użytkownik_mqtt" -P "123456" -m "czy to jest zabezpieczone?"

Również jeśli MQTT odmówi połączenia, spróbuj tego, aby umieścić usługę MQTT w tle systemu Linux przez:

komar -d

Uważam, że te referencje są dobre do obejrzenia. Nauczyłem się dzisiaj czegoś od tych dwojga.

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

Krok 5: Przygotuj wydawcę

Przygotuj wydawcę
Przygotuj wydawcę
Przygotuj wydawcę
Przygotuj wydawcę
Przygotuj wydawcę
Przygotuj wydawcę
Przygotuj wydawcę
Przygotuj wydawcę

W tym przypadku tworzę prosty pulpit nawigacyjny, aby przesłać wiadomość na serwer MQTT. W trybie czuwania wyświetlacz LCD pokazuje Zegar.

Części:

  1. Wyświetlacz ekranu SSD1306, każdy po 2,41 USD
  2. EPS8266 WEMOS D1 Mini, 2,53 USD za sztukę
  3. Potencjometr
  4. Jeden 4-pinowy przełącznik suwakowy.
  5. dwie diody LED 3mm,
  6. jakieś rezystory

Lutowanie:

Oto schematy tego terminala:

Prześlij kod:

Markowy WEMOS ESP8266 jest przyjemny w pracy. Potrzebujesz tylko micro USB, naciśnij przycisk przesyłania na Arduino IDE flashuj układ. Kod znajduje się tutaj (GitHub):

Aby opublikować wiadomość, naciśnij przełącznik, aby włączyć zieloną diodę LED (i wyłączyć czerwoną), następnie przesuń pinezkę i dostosuj, a na koniec ponownie naciśnij przycisk, aby przesłać wiadomość na serwer MQTT. Deska rozdzielcza może opublikować wiadomość JSON do 4 kanałów.

Spójrz na podświetlenie kodu (zrzut ekranu). To jest temat, do którego pulpit nawigacyjny przesyła wiadomość, a nasze diody LED bardzo chętnie zobaczą nowe wiadomości z wiadomości JSON

To wszystko. Mam nadzieję, że samouczek będzie pomocny.

Zalecana: