Съдържание:

От фенерче до сензор за движение с ESP8266 и MQTT: 5 стъпки (със снимки)
От фенерче до сензор за движение с ESP8266 и MQTT: 5 стъпки (със снимки)

Видео: От фенерче до сензор за движение с ESP8266 и MQTT: 5 стъпки (със снимки)

Видео: От фенерче до сензор за движение с ESP8266 и MQTT: 5 стъпки (със снимки)
Видео: Home Assistant - connect address tape WS2812B via ESP8266 with WLED firmware 2024, Ноември
Anonim
Image
Image
Светодиодите се нуждаят от ток, за да бъдат ограничени
Светодиодите се нуждаят от ток, за да бъдат ограничени

В този пост бих представил елементи по -долу:

  • Светодиодите се нуждаят от ограничаваща токова верига
  • как да направите фенерче
  • направете светлина, захранвана от преносимата батерия, и затъмнете светодиодите чрез ESP8266 чрез MQTT

Видеото е обобщение и кратко обяснение как работи това,

Планирах да включа PIR сензор, но урокът става доста дълъг, така че PIR сензорът ще бъде представен във втората част на тази тема

Така че нека започнем.

Стъпка 1: Светодиодите се нуждаят от ток, за да бъдат ограничени

За начинаещите това е странно, като се има предвид как обикновено се включва лампа с нажежаема жичка или флуоресцентна лампа. Не се притеснявайте, тези LED крушки на рафта вече са снабдени с адаптер за променливотоково към постоянен ток и ограничаващ ток. Но би било хубаво да се направи нещо от нулата.

Един ключ за включване на светодиод е верига за ограничаване на тока. Това работи като клапан за тока, така че след като напрежението, приложено към светодиода, което го прави проводимо, токът да тече през светодиодите не може да бъде по -голям от този, регулиран от веригата. Неизправността на светодиодите обикновено е резултат от прегряване. Няма токова ограничителна верига, която е сигурен начин да изгорите светодиодите за няколко секунди. Между другото, фиксирането на LED чиповете, тези идват върху алуминиевата рамка, до радиатор намаляват LED чипа и обикновено се препоръчва.

Чешех много главата си, когато научих това около 2015 г., и все още се чешех по главата (по различни причини). Научих се от този урок и неговото ясно обяснение ми спести някои драскотини.

Веригата е прикрепена. Удебелените линии означават основния маршрут на натоварване, а по -тънките показват механизма за управление за управление на тока на основния маршрут, който е около 150 mA. Уикипедия има кратка статия и прикачени някои препратки. Ограничаването на тока може да бъде изградено с транзистор чрез замяна на MOSFET със средно токови натоварващи транзистори като BD135, BD139.

Стъпка 2: Направете фенерче

Направете фенерче
Направете фенерче
Направете фенерче
Направете фенерче
Направете фенерче
Направете фенерче
Направете фенерче
Направете фенерче

Необходими части:

  1. N-канал MOSFET (IRF540N $ 1.62/10бр, 30N06, $.1.75/10бр)
  2. транзистор NPN (като S8085)
  3. 3.9 ома - 2W резистор, токът е ограничен около 0.6/3.9 = 153mA
  4. 100kR (1/4W) резистор
  5. Превключвател с заключване
  6. Има 0.5W 8 мм LED, $ 3.18/100бр
  7. Литиева батерия 18660. Спасих няколко от тях от банка за захранване. Батерия за лаптоп (4, 6, 8 клетки), изработена от клетка 18650, но внимателно с тези неща.
  8. 1 усилване до 12V платка, като тази, $ 0,56
  9. 1 литиево зарядно устройство като това, $ 0,30

Основната разлика от схемата по-горе е използването на литиева батерия (18660) с платка за усилване вместо макет 5V захранващ адаптер.

Последната снимка показва последното фенерче и се зареждаше от всеки микро USB източник (> 1A).

Стъпка 3: Интернет на нещата с това фенерче?

Интернет на нещата с това фенерче?
Интернет на нещата с това фенерче?
Интернет на нещата с това фенерче?
Интернет на нещата с това фенерче?
Интернет на нещата с това фенерче?
Интернет на нещата с това фенерче?

Разделям тази част на три стъпки:

  • Подгответе абонат (този)
  • Настройка на MQTT сървър (следваща стъпка)
  • и подгответе издател (следващият)

Части:

Първо, да, използвах тази модна дума, известна още като IOT, но тази може да направи добра комбинация от използване на веригата в Стъпка 2 с ESP8266 и след това да контролира интензитета на светлината по метода MQTT.

Частите за веригата са идентични, с изключение на:

  1. Заменете 12V усилване с платка за увеличаване на MT3608, $ 1.92/5бр. Това може да повиши напрежението на батерия 18650 (около 3.7V) до 28 V, достатъчно за захранване на 8 LED (вместо 3).
  2. Позицията un-push в превключвателя е свързана към GPIO 1 или 2 в ESP8266 за PWM сигнал.
  3. ESP8266 01, по 1,68 долара всеки. Като този
  4. AMS1117 3.3 V, регулатор на напрежение за ESP8266, някои кондензатори
  5. USB модул за флаш ESP8266, $ 0.78/бр като този

Btw. тези връзки са за удобство.

Запояване и качване:

  • Запоявайте части заедно и използвайте горните схеми. Някои предварително направени схеми с напрежение 3.3 могат да ви спестят известно време ($ 1.38/5бр като този). Бях объркан да си спомня щифта при обръщане на платката и в крайна сметка удовлетворих някакъв регулатор на напрежението AMS1117.
  • Следващия. Направете малка промяна като на третата снимка, за да задържите GPIO 0 до GND, бързо докоснете RST Pin с GND щифт, за да поставите ESP8266 във Flashmode.
  • Изтеглете кода тук от моя GitHub и качете кода в ESP 8266 с помощта на Arduino IDE.

Подчертах реда, за да покажа темата, за която абонатът се е абонирал. Всяко съобщение, публикувано в тази тема, ще бъде предадено на други клиенти (абонати) на тази тема. EPS8266 в тази верига ще изслуша съобщението JSON, публикувано по темата, и ще излезе, ако е направена промяна в трети канал

* Някога си мислех, че мога да сложа издърпващ резистор (100k), за да заземя портата на MOSFET, когато ESP8266 не беше представен. Това работи при липса на ESP8266, но с ESP8266, резисторът също изтегля GPIO0 или 2 към GND, превръщайки ги във Flash режим или не стартира (когато GPIO2 е НИСКО)). Ще видите плътно зелено, ако това се случи.

Стъпка 4: Настройте MQTT сървър

Настройте MQTT сървър
Настройте MQTT сървър
Настройте MQTT сървър
Настройте MQTT сървър
Настройте MQTT сървър
Настройте MQTT сървър
Настройте MQTT сървър
Настройте MQTT сървър

MQTT (Message Queuing Telemetry Transport) е объркващ протокол, базиран на метода за публикуване-абониране. Устройството, хостващо и извеждащо MQTT съобщение, се нарича брокер. Подобно на истински брокер, той е домакин на обмена между издатели (продавачи) и абонати (купувачи). Никакви пари не ги сменят. Има много уроци за това.

Ето резюмето. Raspberry Pi е най -популярното устройство за това. Frist, инсталирайте MQTT чрез:

sudo apt-get инсталирайте комари-комари-клиенти

проверете дали сървърът MQTT работи, като отворите два терминала на Raspberry, единият въведете първия ред, а другият за следващия:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "кажи нещо"

Трябва да видите „кажете нещо“на първия терминал. Уалах! Работи.

"#" Може да се използва за слушане на всяка тема, заменете "yourtopic" с "#"

Сега не искате някой да може да публикува или да се абонира за вашия MQTT сървър, трябва да зададете парола, като направите това чрез:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user могат да бъдат други потребителски имена, които харесвате, въведете паролата два пъти и актуализирайте.conf файла чрез:

sudo nano /etc/mosquitto/mosquitto.conf

добавя тези два реда:

allow_anonymous false

password_file/home/pi/pwfile

след това рестартирайте комара чрез:

sudo systemctl рестартирайте комара

направете тест, като включите името с парола, като например:

mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "защитено ли е това?"

Също така, ако MQTT откаже връзката, опитайте това, за да поставите услугата MQTT на фона на системата Linux чрез:

комар -d

Открих, че тези препратки са добри за разглеждане. Днес научих нещо от тези двамата.

  1. Адафрут:
  2. Stees-internet-guide.com

Стъпка 5: Подгответе издател

Подгответе издател
Подгответе издател
Подгответе издател
Подгответе издател
Подгответе издател
Подгответе издател
Подгответе издател
Подгответе издател

За това направих просто табло за управление, за да изпратя съобщението до сървъра на MQTT. В режим на готовност LCD дисплеят показва часовника.

Части:

  1. SSD1306 Екранен дисплей, $ 2.41 всеки
  2. EPS8266 WEMOS D1 Mini, по 2,53 долара всеки
  3. Потенциометър
  4. Един 4 -пинов плъзгащ превключвател.
  5. два 3 мм светодиода,
  6. някои резистори

Запояване:

Ето схемите на този терминал:

Качете кода:

Марковият WEMOS ESP8266 е приятен за работа. Нуждаете се само от микро USB, натиснете бутона за качване на Arduino IDE флаш чипа. Кодът е тук (GitHub):

За да публикувате съобщение, натиснете превключвателя, за да включите зеления светодиод (и червен изключен), след това плъзнете нагоре щифта и регулирайте и накрая натиснете отново бутона, за да избутате съобщението на MQTT сървъра. Таблото за управление може да публикува JSON съобщение до 4 канала.

Разгледайте открояването на кода (екранна снимка). Това е темата, към която таблото за управление изпраща съобщението, а нашите светодиоди са много нетърпеливи да видят каквото и да е ново от съобщението JSON

Това е всичко. Надявам се, че урокът е полезен.

Препоръчано: