Мазмуну:

MQTT маанай жарыктары ESP32 менен: 4 кадам (сүрөттөр менен)
MQTT маанай жарыктары ESP32 менен: 4 кадам (сүрөттөр менен)

Video: MQTT маанай жарыктары ESP32 менен: 4 кадам (сүрөттөр менен)

Video: MQTT маанай жарыктары ESP32 менен: 4 кадам (сүрөттөр менен)
Video: MQTT (Mosquitto) Протокол | Теория 2024, Ноябрь
Anonim
MQTT маанай жарыктары ESP32 менен
MQTT маанай жарыктары ESP32 менен

Мен бир топ убакыттан бери LED диапазонуна секирүүгө азгырылып келгенмин, ошондуктан мен чуркап чыгып, оюнчук үчүн LED тилкесин алдым. Мен бул маанай чырактарын жасап бүттүм. Алар MQTT менен башкарылышы мүмкүн, бул ар кандай акылдууларды кошууга мүмкүндүк берет.

Эгерде сизде башка эч нерсе жок болсо жана бул колуңузду бир нерсе жасоону кааласаңыз, бул жакшы дем алыш күндөрүнүн долбоору.

Бул Нускаманын максаты - бул менин долбоорумду документтештирүү жана башкалар менен ой бөлүшүү жана бекем көрсөтмөлөрдү жана ыкмаларды берүү эмес. Муну менен, окуңуз!

Жабдуулар

Электроника:

  • 1x ESP32 өнүктүрүү тактасы
  • 1x 0.96 "I2C OLED дисплейи
  • 1x Buzzer
  • 1x баррель уячасы
  • 1x 12V электр менен камсыздоо (ток сиздин тилкенин узундугуна жараша болот)
  • 1x LM2596 сомдук конвертер
  • 1x Жалпы аноддук RGB LED тилкеси
  • 3x IRFZ44N MOSFETs
  • 3x BC547 транзисторлору
  • 3x 10 кОмдук резисторлор
  • 4x 100Ω резисторлор
  • 1x прототипдөө тактасы
  • 4x бурама терминалдар
  • Эркек жана аял башы
  • Зым (мен бир жипти колдондум)

Башка жабдуулар жана шаймандар:

  • Корпус үчүн сиз каалаган материал (мен MDF колдондум)
  • Контакты үчүн жалпак, өткөргүч материал (мен ичке алюминий баракты колдондум)
  • Араа, бургу, кумдук кагаз ж.
  • Темир жана достор
  • Ысык клей

Мен камтылган OLED дисплейи бар ESP32ге барууну сунуш кылбайм, анткени ал үчүн корпуска жакшы тегизделген кесүү жасоо өтө кыйын болуп калат.

1 -кадам: Электроника

Электроника
Электроника
Электроника
Электроника

Тиркелген схемада сенсордук кирүүлөрдөн башка бардык керектүү байланыштар көрсөтүлгөн. Схема жетишсиз болгон учурда, бир MOSFETти кантип туташтырууну көрсөткөн салыштырмалуу бүдөмүк нан диаграммасы бар.

Күч

An LM2596 Бак Конвертер ESP анын VIN үчүн 5V үчүн электр булагынан 12V түшүп. Сиздин энергия булагыңыз сиз колдонгон LED тилкесинин узундугу үчүн туура бааланганын текшериңиз. Менин 2 метрлик тилкем 2 амперден бир аз көбүрөөк тартат.

Пиндер жана перифериялык түзүлүштөр

Төрт тийүү казыгы сенсордук киргизүү үчүн колдонулат. Менин ESP32 тактайым OLED дисплейи менен кошо келген, анын I2C төөнөгүчтөрү зым менен бекитилген. Бул төрт PWM казыгын колдонот, ар бир түстүү компонент үчүн (кызыл, жашыл жана көк) жана зумзер үчүн.

MOSFET аралашып кетет

MOSFETs PWM жана салыштырмалуу жогорку токтун тез которулуу убактысын чечүү үчүн тандалып алынган. Ар бир түс компоненти үчүн бир MOSFET бар. Мен IRFZ44Nsти айдап чыгуу үчүн өзүнчө NPN BJTs (BC547) колдонгом, анткени ESP32ден 3.3V санариптик сигналдар MOSFETs керектүү токту өткөрүүгө жетишсиз болушу мүмкүн. IRLZ44N сыяктуу логикалык деңгээлдеги MOSFETтер бар, бирок мен алар жөнүндө баарын ширетип бүткөндөн кийин гана билдим. Кандай болбосун, ~ 2A тарткан менин тилкем жакшы иштейт.

Soldering

Бурамалуу терминалдар LED тилкесине туташуу үчүн колдонулат, ал эми аялдардын баштары ESP32ди туташтыруу үчүн колдонулат, эгерде мен алардын бирин алмаштырып койгум келсе. Лайкоо эки саатка жакын убакытты талап кылган жана абдан жөнөкөй болгон. Мен дагы LED тилкесиме узунураак зымдарды бердим.

Эмне үчүн мен ESP32 тандадым

Анын бортунда WiFi жана Bluetooth бар (мен азыр WiFi гана колдонгон болом), жана менде кычышып жаткан жерде жатып калдым. Сенсордук кирүүлөр контроллердеги интерфейс үчүн да пайдалуу болду, анткени алар контактка бара турган бир зымга гана муктаж. Эгер сиз кааласаңыз, ESP32 оңой эле ESP8266 сыяктуу микроконтроллер менен алмаштырылышы мүмкүн.

2 -кадам: Код

Мен муну программалоо үчүн Arduino инструментин колдондум (чындыгында VS Code үчүн Arduino кеңейтүүсү:)). ESP32 жана Arduino IDE менен иштөөнү баштоо боюнча ушул сыяктуу сонун окуу куралдары бар, эгер сизде жок болсо.

Башкаруу үчүн төрт түрдүү режим бар: статикалык түс, туш келди түс, Red Alert жана Blue Alert. Өйдө, ылдый, кийинки жана Red Alert үчүн төрт тийүү кирүүсү бар. Тийүү үзгүлтүктөрдү колдонот.

Мен WiFi аркылуу көзөмөлдөй алам деп MQTTди чыгармаларга кошуп койдум. Мен веб-тиркеме чоң үчөөнү (HTML, CSS, JS) сезүүгө аракет кылып жатам, ошондуктан мен маанайдын жарыгын көзөмөлдөө үчүн MQTT брокери менен байланышкан Star Trek тематикалык (бирок начар) веб-баракчасын иштеп чыктым.

Менин кодумдун бардыгын тиркелген жерден табууга болот, аны тез шилтеме баракчасы менен кошо табууга болот, анын аталышын өзгөртүү үчүн, аны белгилөө үчүн өзгөртүүгө болот. Бардык файлдарды Arduino менен ачардан мурун "ESP32MQTTMoodLighting" деген папкага жылдырыңыз.

Менин кодум иштээрине көңүл буруңуз, бирок, балким, эң чоң эмес. Бирок бул мааниге ээ болбошу керек, анткени сиз баары бир өзүңүздүкүн жазасыз, туурабы?:)

3 -кадам: Корпус жана монтаж

Корпус жана монтаж
Корпус жана монтаж
Корпус жана монтаж
Корпус жана монтаж
Корпус жана монтаж
Корпус жана монтаж
Корпус жана монтаж
Корпус жана монтаж

Кулпулоо учурунда мен колума тийген жалгыз материал 5 мм MDF барагы болгон. Мен чоң кесимдерди кадимки темир уста менен жасап, баарына жакшы кум бердим. Эмаль боегунун кош кабаты негизги даярдыкты аяктады.

Арткы панель

Мен кутучамдын оңой ачылышын кааладым, ошондуктан мен бардык электроникамды арткы панелге төрт М2 ПКБ менен токтотуп койдум. Менин перфбордумда буга чейин M2 тешиктери бар болчу. Менин карама -каршылыктарымдын түбүндө кичинекей жипчелер бар болчу, мен аларды MDFге бекитүүнү максат кылгам. Бирок, менде М2 бургучу жок болчу. Ошентип, ар бир тешиктин ордун белгилеп, тешиктерди кол менен тазалоо үчүн кичинекей жалпак баш бурагычты колдондум. Оор, бирок натыйжалуу. Тешиктердин диаметри тирөөчтүн жиптүү бөлүгүнөн бир аз кичине болгон. Мен тешиктерди бир нече жолу ийри -буйру кылдым, алар кеңейип, дээрлик сайылып калды.

Акыр -аягы, карама -каршылыктар тешиктерине бекем отуруп, перформатты өз ордунда кармашты. Менин MDF абдан калың болгондуктан, башка тарапка эч нерсе көрүнгөн жок.

Мен электр уячасынын тешигин бургулап, светодиоддук зымдарды өткөрүүчү тешик жасадым, анын астында менин бурама терминалдарым жайгашкан.

Алдыңкы панель

OLED дисплей кесүү

Мен OLED үчүн кесүүнү бир нече стартер тешиктери менен баштадым жана аларды көлөмүнө тапшырдым. Бул абдан начар жана туура эмес болуп калды. Мында эки эселенген өлчөөлөр роль ойношу мүмкүн, бирок орнотулган OLED менен иштөө тактасын колдонбоо менен өзүңүздү бир аз кыйынчылыктан куткарыңыз. Дисплейди тешикке орнотуу алда канча оңой.

Connector

Мен кээ бир эркек жана ургаачы аталыштарынан туташтыргыч жасадым. Бир учу алдыңкы панелдеги тийүү контактыларына туташкан зымдарга тиркелет, экинчи тарабында ESPтин тийүү киришине зымдар болгон. Бул керек болсо, алдыңкы панелди артынан толугу менен алып салуу үчүн, ширетүүчү түйүндөрдү бузбастан. Эгерде сиз алдыңкы панелге дагы бир нерсени орнотсоңуз, анда сиз дагы ага туташтыргыч жасоону каалашыңыз мүмкүн.

Touch Pad

Тийүү контактылары кээ бир алюминий барактан жасалган. Мен керектүү төрт төшөктү алуу үчүн кесип салдым жана эч кандай тырмагы жок экенин тастыктадым. Мен андан кийин алдыңкы панелге тешик жасадым, зымга жетет. Пластинкаларды жабыштырууга уруксат берүү үчүн, мен кычкылданган катмарды алып салуу үчүн бир тараптын кичинекей бөлүгүн зымырыткыч менен сүртүп, андан кийин ар кандай бөлүкчөлөрдү жок кылуу үчүн аны тез аарчып салдым. Ар бир зымды алдыңкы панелдеги тийиштүү тешиктен өткөрүп жатып, мен алардын ар бирин жаздыкчасына туташтырдым. Сиздин ширеңкиңиздин арткы бетинде чоң бырыш пайда кылбасын текшериңиз, анткени бул панелдин панель менен бирдей отурушуна жол бербейт.

Акыр -аягы, ар бир блокнеттин артына ысык клей кошуп, аларды алдыңкы панелге түртүңүз. Өтө көп кошуу, төшөктөрдү панелден өйдө отургузат. Төшөктөрдүн астынан чыгарылган ашыкча желимди тазалаңыз.

Эс алуу

Каптал панелдери абдан жөнөкөй. Бурамалуу терминалдарга тез жетүүчү тешик баалуу болгондон да кыйыныраак болду. Мен капталдагы панелдерди алдыңкы панелге ысык чаптадым.

Эки четиндеги Velcro алдыңкы бөлүгүн арткы панелге кармап турат. Боштуктар коңгуроонун үнүн чыгарууга мүмкүндүк берет. Эгер сен менден жакшыраак иштесең, анда 5 жашар баланын мектепке чейинки кол өнөрчүлүгүнө окшош нерсе менен калбашың керек:)

Менин LED тилкесимдин артында жабышчаак таякча бар болчу (ишенем, сиздики да ошондой). Мен дубалга жарык чачырап тургандай кылып минип алдым.

4 -кадам: Аны сайыңыз

Аны сайыңыз!
Аны сайыңыз!

Сизде азыр толугу менен MQTT көзөмөлдөгөн маанай жарыгы болушу керек. Мен өзүмдүн столума минип койдум, ал жерде кээде монотондуу иштерге түстүү чачырандылык кошулат. Түн - элди таң калтыруу үчүн идеалдуу убакыт.

Бул Нускаманы окуу сизге жакты деп ишенем жана жеке долбоорлоруңуз үчүн бир нече идеяларды алдыңыз. Мен мурда айткандай, мен башталгычмын, бул менин биринчи инструкциям. Мен кандайдыр бир кеңештерге жана комментарийлерге ыраазы болом.

Сунушталууда: