Оглавление:

От фонарика к датчику движения с ESP8266 и MQTT: 5 шагов (с изображениями)
От фонарика к датчику движения с ESP8266 и MQTT: 5 шагов (с изображениями)

Видео: От фонарика к датчику движения с ESP8266 и MQTT: 5 шагов (с изображениями)

Видео: От фонарика к датчику движения с ESP8266 и MQTT: 5 шагов (с изображениями)
Видео: Majordomo HiTech design install 2024, Ноябрь
Anonim
Image
Image
Светодиоды нуждаются в токе для ограничения тока
Светодиоды нуждаются в токе для ограничения тока

В этом посте я бы представил следующие пункты:

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

Видео представляет собой резюме и краткое объяснение того, как это работает,

Я планировал включить датчик PIR, но руководство получилось довольно длинным, поэтому датчик PIR будет представлен во второй части этой темы

Итак, давай начнем.

Шаг 1: светодиоды нуждаются в ограничении тока

Для новичков это странно, учитывая, как обычно включать лампу накаливания или люминесцентную лампу. Не беспокойтесь, эти светодиодные лампы на полке уже поставляются с адаптером питания переменного тока в постоянный и ограничивающим током. Но неплохо было бы сделать что-то с нуля.

Один из ключей для включения светодиода - это цепь ограничения тока. Это работает как вентиль для тока, так что после того, как напряжение, приложенное к светодиоду, становится проводящим, ток, протекающий через светодиоды, не может быть больше, чем ток, регулируемый схемой. Выход из строя светодиодов обычно происходит из-за перегрева. Отсутствие схемы ограничения тока - верный способ сжечь светодиоды за несколько секунд. Кстати, установка светодиодных чипов, которые идут на алюминиевой раме, к радиатору уменьшает светодиодный чип и в целом рекомендуется.

Я много чесал в затылке, когда узнал об этом примерно в 2015 году, и все еще чесал затылок (по разным причинам). Я узнал из этого урока, и его ясное объяснение избавило меня от некоторых проблем.

Схема прилагается. Жирные линии обозначают основной маршрут нагрузки, а более тонкие обозначают механизм управления для управления током основного маршрута, который составляет около 150 мА. В Википедии есть небольшая статья и несколько ссылок. Ограничение тока можно построить с помощью транзистора, заменив MOSFET транзисторами со средним током нагрузки, такими как BD135, BD139.

Шаг 2: сделайте фонарик

Сделать фонарик
Сделать фонарик
Сделать фонарик
Сделать фонарик
Сделать фонарик
Сделать фонарик
Сделать фонарик
Сделать фонарик

Необходимые детали:

  1. N-канальный полевой МОП-транзистор (IRF540N $ 1,62 / 10 шт., 30N06, 0,75 $ / 10 шт.)
  2. транзистор NPN (например, S8085)
  3. 3,9 Ом - резистор 2 Вт, ток ограничен в районе 0,6 / 3,9 = 153 мА
  4. Резистор 100 кР (1/4 Вт)
  5. Переключатель push-lock
  6. Светодиод 0,5 Вт 8 мм, здесь 3,18 доллара за 100 шт.
  7. Литиевая батарея 18660. Я вытащил несколько из них из пауэрбанка. Аккумулятор для ноутбука (4, 6, 8 ячеек) сделан из 18650 ячеек, но осторожно с этим.
  8. 1 плата повышения до 12 В, как эта, $ 0,56
  9. 1 литиевое зарядное устройство, такое как это, 0,30 доллара США.

Основное отличие от схемы, приведенной выше, заключается в использовании литиевой батареи (18660) с платой повышения мощности вместо макета адаптера питания 5 В.

На последней фотографии показан последний фонарик, который заряжался от любого источника micro USB (> 1 А).

Шаг 3: Интернет вещей с этим фонариком?

Интернет вещей с этим фонариком?
Интернет вещей с этим фонариком?
Интернет вещей с этим фонариком?
Интернет вещей с этим фонариком?
Интернет вещей с этим фонариком?
Интернет вещей с этим фонариком?

Я разбиваю эту часть на три этапа:

  • Подготовить подписчика (этого)
  • Настройка сервера MQTT (следующий шаг)
  • и подготовить Publisher (следующий)

Части:

Во-первых, да, я использовал это модное слово, также известное как IOT, но это может быть хорошей комбинацией использования схемы из шага 2 с ESP8266, а затем управления интенсивностью света методом MQTT.

Детали схемы идентичны, за исключением:

  1. Замените 12 В повышающей платой MT3608 boost up board, $ 1,92 / 5 шт., Она может повысить напряжение аккумулятора 18650 (около 3,7 В) до 28 В, достаточного для питания 8 светодиодов (вместо 3).
  2. Положение выключателя в переключателе подключено к GPIO 1 или 2 в ESP8266 для сигнала ШИМ.
  3. ESP8266 01, 1,68 доллара США за штуку. Как этот
  4. AMS1117 3,3 В, стабилизатор напряжения для ESP8266, некоторые конденсаторы
  5. USB-модуль для прошивки ESP8266, $ 0,78 / шт, как этот

Кстати. эти ссылки предназначены для удобства.

Пайка и загрузка:

  • Спаяйте детали вместе и используйте схему выше. Некоторые готовые схемы напряжения 3.3 могут сэкономить вам время ($ 1,38 / 5 шт.). Я был сбит с толку, чтобы вспомнить контакт при переворачивании печатной платы, и в конечном итоге удовлетворил какой-то стабилизатор напряжения AMS1117.
  • Следующий. Сделайте небольшую модификацию, как на третьей фотографии, чтобы удерживать GPIO 0 на GND, быстро коснитесь контакта RST с контактом GND, чтобы перевести ESP8266 в режим Flash.
  • Загрузите код с моего GitHub и загрузите его в ESP 8266 с помощью Arduino IDE.

Я выделил строку, чтобы показать тему, на которую подписался подписчик. Любое сообщение, опубликованное в этой теме, будет передано другим клиентам (подписчикам) этой темы. EPS8266 в этой схеме будет прослушивать сообщение JSON, отправленное в тему, и отключать его, если в канале 3 было внесено изменение

* Давным-давно я подумал, что могу поставить понижающий резистор (100 кОм) для заземления затвора MOSFET, когда ESP8266 не был представлен. Это работает в отсутствие ESP8266, но с ESP8266 резистор также подтягивает GPIO0 или 2 к GND, переводя их в режим Flash или не загружая (когда GPIO2 LOW)). Если это произойдет, вы увидите сплошной зеленый цвет.

Шаг 4. Настройте сервер MQTT

Настроить сервер MQTT
Настроить сервер MQTT
Настроить сервер MQTT
Настроить сервер MQTT
Настроить сервер MQTT
Настроить сервер MQTT
Настроить сервер MQTT
Настроить сервер MQTT

MQTT (передача телеметрии очереди сообщений) - это протокол обмена сообщениями, основанный на методе публикации-подписки. Устройство, на котором размещаются входящие и исходящие сообщения MQTT, называется брокером. Как настоящий брокер, он проводит обмен между издателями (продавцами) и подписчиками (покупателями). Никакие деньги не переходят из рук в руки тех. Для этого есть множество руководств.

Вот резюме. Raspberry Pi - самое популярное устройство для этого. Во-первых, установите MQTT:

sudo apt-get install mosquitto mosquitto-clients

проверьте, работает ли сервер MQTT, открыв два терминала на Raspberry, один введите первую строку, а другой - следующую:

mosquitto_sub -h локальный хост -t "юротопик"

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

файл_паролей / домашний / pi / pwfile

затем перезапустите Mosquitto:

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. В режиме ожидания на ЖК-дисплее отображаются часы.

Части:

  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

Вот и все. Надеюсь, этот урок будет вам полезен.

Рекомендуемые: