Բովանդակություն:

ESP8266 սարքով համակարգչի հեռակա անջատում կամ վերագործարկում. 10 քայլ (նկարներով)
ESP8266 սարքով համակարգչի հեռակա անջատում կամ վերագործարկում. 10 քայլ (նկարներով)

Video: ESP8266 սարքով համակարգչի հեռակա անջատում կամ վերագործարկում. 10 քայլ (նկարներով)

Video: ESP8266 սարքով համակարգչի հեռակա անջատում կամ վերագործարկում. 10 քայլ (նկարներով)
Video: Խելացի տուն - ինչպես է այն աշխատում: Կենցաղային էլեկտրական ցանցեր 2024, Հուլիսի
Anonim
Image
Image

Այստեղ պարզ լինելու համար մենք փակում ենք ՁԵՐ համակարգիչը, այլ ոչ թե ուրիշի համակարգիչը:

Պատմությունն այսպես է ընթանում.

Ֆեյսբուքում գտնվող իմ ընկերը հաղորդագրություն ուղարկեց ինձ և ասաց, որ ունի տասնյակ համակարգիչներ, որոնք աշխատում են մի քանի մաթեմատիկա, բայց ամեն առավոտ առավոտյան ժամը 3 -ին նրանք կողպում են: Քանի որ համակարգիչները գտնվում են 30 րոպե հեռավորության վրա, հսկայական անհանգստություն է առաջացնում երկու քաղաքներ (մենք ապրում ենք Հարավային Դակոտա նահանգում) ՝ համակարգիչները սնուցելու համար: Նա հարցրեց. Կարո՞ղ եմ նրան կառուցել IoT սարք, որը թույլ կտա նրան վերագործարկել վիրավորող համակարգիչը իր հարմարավետ մահճակալի հարմարավետությունից:

Երբեք բաց չթողնել մարտահրավերը, ես համաձայնեցի ինչ -որ բան հավաքել նրա փոխարեն: Սա այն նախագիծն է:

Օգտագործելով գրանցված երկու բիթ-հերթափոխ, ESP8266 ESP01, մի բուռ LED և որոշ տնական օպտոիզոլատորներ, ամբողջ նախագիծը կարժենա մոտ $ 5, եթե մասերը Չինաստանից գնեք eBay- ում: Գուցե Amazon- ից 20 դոլար:

Սա բավականին բարդ կառուցվածք է `շատ նուրբ զոդումով: Չհաշված պտուտակներս և նորից զոդելը, պատրաստելու համար ինձանից պահանջվեց ավելի քան 20 ժամ, բայց այն զարմանալի ստացվեց և կատարյալ աշխատեց:

Եկեք սկսենք.

Քայլ 1: Նախատիպի տախտակ

Նախատիպի տախտակ
Նախատիպի տախտակ
Նախատիպի տախտակ
Նախատիպի տախտակ

Միշտ սկսեք բոլոր նախագծերը տախտակի նախատիպով: Դա լավագույն միջոցն է որոշելու, թե արդյոք ունեք բոլոր բաղադրիչները և գործում եք ինչպես սպասվում էր: Այս նախագիծը մի փոքր բարդ է, ուստի ես խորհուրդ եմ տալիս առաջ շարժվելուց այն կառուցել հացահատիկի վրա:

Մասերը, որոնք ձեզ անհրաժեշտ կլինեն, հետևյալն են.

  • Մեկ ESP8266 ESP01 (չնայած որ ցանկացած ESP8266 սարք կաշխատի)
  • Երկու 8-բիթանոց հերթափոխի գրանցամատյաններ, ես օգտագործել եմ 74HC595N- ը
  • 16 LED, ես օգտագործել եմ ծղոտե գլխարկի սպիտակ LED- ներ, որոնք աշխատում են 3.3V- ով: Եթե դուք օգտագործում եք ուրիշներին, ապա ձեզ կարող են անհրաժեշտ լինել դիմադրողներ:
  • Երեք 3k3 ohmpulldown դիմադրություն
  • Umատկող մետաղալարեր և տախտակ

Դուք նաև պետք է կառուցեք առնվազն մեկ օպտոիզոլատոր: Ես օգտագործեցի սև կծկման խողովակ, պայծառ սպիտակ LED, 220 օմ դիմադրություն և ֆոտոընդդիմադիր: -Ոդեք 220 օմ-ի դիմադրիչը LED- ի կաթոդին, այնուհետև կնքեք LED- ն և ֆոտոռեզիստորը `միմյանց դեմ ուղղված փոքրացող խողովակի ներսում: Բայց մենք դրանց կանդրադառնանք ավելի ուշ:

Հետևեք հաջորդ քայլին տրված միացման սխեմային: Էլեկտրագծերը բավականին պարզ են:

Քանի որ ESP8266- ը գործում է 3.3 Վ լարման դեպքում, համոզվեք, որ այն համապատասխան սնուցում եք:

Քայլ 2. Will-CAD- ի օգտագործմամբ սխեման

Will-CAD- ի օգտագործմամբ սխեման
Will-CAD- ի օգտագործմամբ սխեման

Սխեմատիկան բավականին պարզ է: Մենք հետևում ենք 8-բիթանոց հերթափոխի ռեգիստրի ստանդարտ միացմանը: Քանի որ ես օգտագործում եմ երկու 8-բիթանոց հերթափոխի գրանցամատյաններ, դրանք պետք է շղթայված լինեն իրենց «ժամացույցի» և «կողպեքի» կապում:

Քանի որ ESP01- ն ունի ընդամենը երկու GPIO կապ, մենք պետք է նորից օգտագործենք TX & RX- ը որպես ելքեր, ինչը լավ է աշխատում մեր նպատակների համար: Եթե ցանկանում եք ավելի շատ վերահսկողություն, կարող եք օգտագործել ESP-12 կամ մեկ այլ տարբերակ ՝ ավելի քան երկու GPIO կապում: Բայց դա ևս 2 դոլար կավելացնի նախագծի արժեքին, ինչը պարզապես խելագար խոսակցություններ են:

Մենք պետք է պահենք մեր 8-բիթանոց հերթափոխի գրանցամատյանները և ESP01 կապումները բարձրացված բեռնման ժամանակ, որպեսզի նրանք տարօրինակ բաներ չանեն կամ չանցնեն ծրագրի ռեժիմի: Ես օգտագործեցի երեք 3k3 ռեզիստոր, ավելի մեծ կամ փոքր արժեքներ նույնպես կաշխատեին: Այս արժեքը ստացվել է այն ուղեցույցներից, որոնք խոսում են ESP01- ի այլընտրանքային կապում օգտագործելու մասին:

ESP01 (ESP8266)

  • TX ժամացույցի կապիչ 3k3 քաշքշում
  • RX սողնակ կապում 3k3 քաշքշում
  • 00 սերիական տվյալներ 3k3 քաշքշում
  • 02 լողացող

8-բիթանոց Shift Register (74HC595H)

  • VCC 3.3V
  • OE 3.3V (սա միացման քորոցն է)
  • GND GND
  • CLR GND (սա պահում է հստակ քորոցը մաքրումից)
  • Եվ LED- ները, դրանք գնում են գետնին:

Քայլ 3: ESP8266 ծածկագիր

ESP8266 Կոդ
ESP8266 Կոդ

ESP8266 ծածկագիրը բավականին պարզ է: Unfortunatelyավոք, Instructables- ի խմբագիրը բավականին անօգուտ է, այնպես որ դուք կցանկանաք ստանալ կոդը անմիջապես Github- ից:

«racks-reboot» նախագիծ

github.com/bluemonkeydev/arduino-projects/…

«SensorBase» դասը հասանելի է այստեղ: Պարտադիր է, եթե ցանկանում եք «օգտագործել» իմ կոդը ՝

github.com/bluemonkeydev/arduino-projects/…

Պետք է նշել մի քանի բան: Կոդը բավականին լավ փաստաթղթավորված է:

  1. Ես շատ ծույլ ծրագրավորող եմ, ուստի ես միանգամից մի քանի անգամ օգտագործվող ESP8266 ծածկագիրը դնում եմ «SensorBase» կոչվող դասի մեջ: Դա կարող եք գտնել նաև Github- ում ՝ վերևի հղումով:
  2. Դուք պետք է մուտքագրեք ձեր MQTT բրոքերի սերվերը, օգտվողի անունը, գաղտնաբառը և նավահանգիստը: Դրանք կարելի է գտնել մի փոքր ներքև, երբ մենք ստեղծում ենք CloudMQTT ծառայությունը:
  3. Դուք կարիք չունեք հետևել իմ թեմայի շարահյուսության ձևաչափին: Այնուամենայնիվ, ես խորհուրդ կտայի հետևել դրան:
  4. Այս կոդի մեջ խելացի ոչինչ չկա: Դա շատ պրագմատիկ է:

Քայլ 4: Perfboard- ի դասավորությունը

Պերֆորդի դասավորություն
Պերֆորդի դասավորություն

Այս նախագիծը կտեղադրվի մինի տվյալների շտեմարանում, ուստի որոշեցի վերջնական դիզայնի համար պարզապես օգտագործել perfboard տախտակը: Perfboard- ը հիանալի է աշխատում նման նախագծերի համար և հեշտ է դասավորվել `օգտագործելով գրաֆիկական թղթի կտոր: Այստեղ դուք կտեսնեք իմ դասավորությունը: Իհարկե, դուք կարող եք այլ կերպ վարվել:

Իմ նախագծին անհրաժեշտ էր երկու 8-բիթանոց հերթափոխի գրանցամատյան, այնպես որ ես սկսեցի դրանց տեղադրումը մեջտեղում: Ես գիտեի, որ օպտոիզոլատորների իմ միակցիչներն առայժմ պարզ կին վերնագրեր կլինեն, չնայած դա իդեալական լուծում չէ:

Ես սիրում եմ LED- ները, և դրա համար անհրաժեշտ էր ունենալ LED յուրաքանչյուր օպտոիզոլատոր սխեմայի համար: Ես գիտեի, որ փորձարկման փուլը անսահմանորեն ավելի հեշտ կլիներ, եթե կարողանայի ակնթարթային արձագանք ստանալ անմիջապես գրատախտակին, բայց նաև գիտեի, որ այդ LED- ները հսկայական ցավ կպչեն: Եվ նրանք էին: Ես 5 մմ -ից փոքր LED- ներից փոքր բան չունեի, ուստի ստիպված էի ցնցել դրանք: Իմ վերջնական դիզայնը կազմեց կաթոդների զիգ-զագ նախշ, քանի որ ես չէի ուզում անոդներն անցնել գրունտի լարերի վրայով: Սա ապացուցեց, որ լավ դիզայն է: LED լարերը միանում են 8-բիթանոց հերթափոխի գրանցամատյաններից վեր և պարզության համար անցնում են տախտակի վերևում ՝ պաշտպանված լարերով:

Էլեկտրաէներգիայի համար ես ուզում էի այն գործարկել հին USB մալուխից, որը պետք է սնվեր անմիջապես համակարգիչներից մեկից: Սա լավ կաշխատի, քանի որ USB պորտերը սովորաբար սնվում են, նույնիսկ եթե համակարգիչը անջատված է: Ես օգտագործել եմ LM317 գծային լարման կարգավորիչը `հզորությունը մինչև 3.3 Վ իջեցնելու համար: 3.3 Վ կարգավորիչը նույնպես կաշխատեր, բայց ես չունեի:

Լարերի չափազանց շատ հատումից խուսափելու համար ես մի քանի լար անցկացրեցի ծայրամասային տախտակի վերևում, որից փորձում եմ խուսափել: Հիշեք, որ անցքերն անցկացնող են, այնպես որ շորտերից խուսափելու համար օգտագործեք պաշտպանված լարեր: Այդ կապերը, որոնք տեղի են ունենում գրատախտակի վերևում, պատկերված են գծապատկերիս գծանշված գծերով:

Քայլ 5: oldոդված տախտակ

Oldոդված տախտակ
Oldոդված տախտակ

Իմ վերջնական զոդված տախտակը իսկապես լավ ստացվեց: Ինչպես և սպասվում էր, վերևում տեղադրված LED- ները շատ աշխատանք էին պահանջում `առանց որևէ շորտերի ճիշտ զոդման: LED- ները և վերնագրերը միացնելուց հետո, օգտագործելով ձեր մուլտիմետրը, որոշեք ՝ շորտեր ունեք, թե ոչ: Լավագույնն է հիմա պարզել:

LED- ներից բացի, մնացած ամեն ինչ բավականին լավ անցավ: Ես իսկապես ստիպված էի մի քանի կապ կատարել, բայց որոշ հիվանդների, որոշ վրիպազերծման և մի փոքր նորից զոդման դեպքում ամեն ինչ լավ կաշխատի:

Այս լուսանկարից կտեսնեք, որ ես միացրել եմ նաև օպտոիզոլատորները, որոնք օգտագործել եմ 8-մետաղալար CAT-5 մալուխով: Պատճառն այն է, որ այն չափազանց էժան է, հեշտ է համակցվել և լավ նշված է `հաջորդ քայլին ավելի շատ այդ օպտոիզոլատորների մասին:

Քայլ 6. Օպտոիզոլատորների պատրաստում

Օպտոիզոլատորների պատրաստում
Օպտոիզոլատորների պատրաստում

Իհարկե, ձեզ հարկավոր չէ ձեր սեփական օպտոիզոլատորներ պատրաստել: Առևտրային տարբերակները հասանելի են յուրաքանչյուր կոպեկի համար և ավելի լավ կգործեն, քանի որ դրանք ուղղակիորեն առանց դիմադրության կշարժեն համակարգչի էլեկտրահաղորդման գծերը: Բայց ես չունեի որևէ օպտոիզոլատոր, ուստի ես ստիպված էի իմը պատրաստել LED- ի, դիմադրության և ֆոտոընդդիմադիրի միջոցով:

Այն բանից հետո, երբ հաստատեցի, որ սև կծկվող խողովակների թևի մեջ, «անջատիչ» դիմադրությունս իմ չափիչից պակաս կարող էր կարդալ, իսկ «միացված» դիմադրությունը մի քանի հազար օմ էր, ես կատարեցի վերջին փորձարկումը հին մայր տախտակի վրա: Այն ինձ մոտ կատարյալ աշխատեց: Ես կասկածում եմ, որ որոշ համակարգիչներ կարող են քիչ թե շատ զգայուն լինել, բայց իմ փորձարկած մայր տախտակների վրա այս կազմաձևը լավ աշխատեց:

Դուք կցանկանաք օգտագործել իսկապես պայծառ սպիտակ LED ՝ առավելագույն լուսավորություն ստանալու համար ֆոտոընդդիմադրիչին: Ես շատ տարբերակներ չփորձեցի, բայց պայծառ սպիտակ LED- ն և 220-օմ դիմադրություն, անշուշտ, լավ են աշխատում:

Քայլ 7: CloudMQTT կարգավորում

CloudMQTT կարգավորում
CloudMQTT կարգավորում
CloudMQTT կարգավորում
CloudMQTT կարգավորում
CloudMQTT կարգավորում
CloudMQTT կարգավորում

Qանկացած MQTT ծառայություն կամ նմանատիպ IoT ծառայություն, ինչպիսին է Blynk- ը, կաշխատի, բայց ես ընտրում եմ CloudMQTT- ն օգտագործել այս նախագծի համար: Ես CloudeMQTT- ն օգտագործել եմ նախկինում շատ նախագծերի համար, և քանի որ այս նախագիծը հանձնվելու է ընկերոջը, իմաստ ունի ստեղծել նոր հաշիվ, որը նույնպես կարող է փոխանցվել:

Ստեղծեք CloudMQTT հաշիվ, այնուհետև ստեղծեք նոր «օրինակ», ընտրեք «Cute Cat» չափը, քանի որ մենք այն օգտագործում ենք միայն վերահսկման համար, առանց գրանցման: CloudMQTT- ը ձեզ կտրամադրի սերվերի անուն, օգտվողի անուն, գաղտնաբառ և նավահանգստի համար: (Ուշադրություն դարձրեք, որ նավահանգստի համարը ստանդարտ MQTT նավահանգիստ չէ): Այս բոլոր արժեքները փոխանցեք ձեր ESP8266 ծածկագրին համապատասխան վայրերում ՝ ապահովելով գործի ճիշտ լինելը: (լուրջ, պատճենեք/տեղադրեք արժեքները)

Դուք կարող եք օգտագործել «Websocket UI» վահանակը CloudMQTT- ում ՝ ձեր սարքի միացումները, կոճակները սեղմելը և, տարօրինակ սցենարով, այն, որ դուք ստանում եք սխալ, սխալի հաղորդագրություն:

Android MQTT հաճախորդը կազմաձևելիս ձեզ նույնպես կպահանջվեն այս կարգավորումները, ուստի անհրաժեշտության դեպքում նշեք արժեքները: Հուսանք, ձեր գաղտնաբառը այնքան էլ բարդ չէ ձեր հեռախոսում մուտքագրելու համար: Դուք չեք կարող դա սահմանել CloudMQTT- ում:

Քայլ 8: MQTT Android Client

MQTT Android հաճախորդ
MQTT Android հաճախորդ
MQTT Android հաճախորդ
MQTT Android հաճախորդ
MQTT Android հաճախորդ
MQTT Android հաճախորդ
MQTT Android հաճախորդ
MQTT Android հաճախորդ

Android (կամ iPhone) ցանկացած MQTT հաճախորդ կաշխատի, բայց ես սիրում եմ MQTT Dash- ը: MQTT Dash- ը հեշտ է օգտագործել, շատ արձագանքող և ունի բոլոր այն տարբերակները, որոնք ձեզ անհրաժեշտ կլինեն:

Տեղադրվելուց հետո ստեղծեք MQTT սերվեր, լրացրեք սերվերը, նավահանգիստը, օգտվողի անունը և գաղտնաբառը ձեր օրինակի արժեքներով, այլ ոչ թե ձեր մուտքի տվյալները CloudMQTT- ին: Դուք կարող եք օգտագործել ցանկացած հաճախորդի անուն, որը ցանկանում եք:

Եթե ամեն ինչ ճիշտ եք մուտքագրել, այն ինքնաբերաբար կկապվի ձեր MQTT սերվերի հետ և ցույց կտա դատարկ էկրան, քանի որ դեռ ոչ մի կոճակ, տեքստ կամ հաղորդագրություն չեք տեղադրել: Դատարկ էկրանին վերևի աջ անկյունում տեսնում եք «+», կտտացրեք այն, ապա ընտրեք «Ընտրել/կոճակ»: Մենք կավելացնենք մեկ «Ընտրել/կոճակ» մեկ համակարգչի համար, այնպես որ 8 կամ 16 կամ ավելի քիչ:

Եթե կապի սխալ եք ստացել, ապա արժեքներից մեկը սխալ է: Վերադարձեք և կրկնակի ստուգեք:

Յուրաքանչյուր համակարգիչ կօգտագործի այն թեման, որը համապատասխանում է ձեր ծածկագրում նշված արժեքներին: Եթե հետևեիք իմ պայմանականություններին, դրանք կլինեին «կլաստեր/դարակ -01/համակարգիչ/01»: Լավ կլինի, որ «կոդ» և «անջատ» արժեքները փոխվեն մեր կոդին համապատասխանելու համար: «0» և «1» փոխարեն օգտագործեք համապատասխանաբար «միացված» և «անջատված» արժեքները: Ես նաև խորհուրդ կտայի օգտագործել QoS (1), քանի որ մենք սերվերից հաստատման ենք սպասում:

Մեկը ավելացնելուց հետո կարող եք երկար սեղմել և օգտագործել «կլոն» տարբերակը ՝ մի փունջ ստեղծելու համար, այնուհետև փոխել նրանց անունը և թեման:

Բավականին հեշտ:

Քայլ 9. Ստացեք ձեր ESP8266- ը Wifi- ով

Ձեռք բերելով ձեր ESP8266- ը Wifi- ով
Ձեռք բերելով ձեր ESP8266- ը Wifi- ով

Օգտագործելով ESP8266 Wifi Manager մոդուլը ՝ մեր սարքը Wifi- ով միացնելը հեշտ չէ: Եթե դուք օգտագործել եք իմ SensorBase դասը, այն արդեն ներկառուցված է: Եթե ոչ, հետևեք Wifi Manager- ի էջի հրահանգներին:

Wifi Manager- ը կփորձի միանալ ձեր SSID- ին բեռնման ժամանակ, որը դա չի կարող, քանի որ դուք երբեք նրան չեք հայտնել ձեր SSID- ը, ուստի այն ինքնաբերաբար կանցնի մուտքի կետի ռեժիմին (կամ AP ռեժիմին) և կծառայի պարզ վեբ էջի ՝ ձեր SSID- ը խնդրելու համար: & Գաղտնաբառ: Օգտագործելով ձեր հեռախոսը կամ նոութբուքը, միացրեք նոր հասանելի անլար ցանցը SSID անունով «ESP_xxxxxx», որտեղ «xxxxxx»-ը պատահական (իրականում ոչ պատահական) հաջորդականություն է: (Ամբողջական հրահանգները կարող եք գտնել Wifi Manager էջում):

Միանալուց հետո բերեք ձեր վեբ դիտարկիչը և նշեք այն 192.168.4.1, մուտքագրեք ձեր SSID- ը և գաղտնաբառը և կտտացրեք պահպանել:

Դուք այժմ ինտերնետում եք, և ձեր IoT սարքում գործում է «ես» մասը:

Քայլ 10: Վերջնական միացում և փորձարկում

Վերջնական միացում և փորձարկում
Վերջնական միացում և փորձարկում

Ամեն ինչ արված է.

Ամեն ինչ միացնելու համար տեղադրեք ձեր համակարգչի հոսանքի կոճակի մալուխը, որտեղ այն հանդիպում է մայր տախտակին: Դուք պետք է տեսնեք երկու տող վերնագրեր `մի փունջ լարերով և միակցիչներով: Սովորաբար դրանք բավականին լավ պիտակավորված են: Անջատեք անջատիչը և միացրեք օպտոիզոլատոր վարդակը: Ես իմ վրա դրեցի «Dupont» - ի մի քանի մոմեր, այնպես որ դրանք միացրեցին այնպես, ինչպես հոսանքի մալուխը: Այս առումով բևեռականությունը կարևոր չէ, բայց համոզվեք, որ ճիշտ ունեք մյուս ծայրամասի բևեռականությունը `այն, որը գնում է ձեր սովորական տախտակին:

Եվ դա հիանալի է աշխատում: Օգտագործելով MQTT Dash հաճախորդը (կամ նմանատիպ գործիքը) ՝ կարող եք հեռակա կարգով սնուցել ձեր համակարգիչները:

Սեղմեք ձեր ծրագրի համապատասխան ստուգման կոճակը, և երբ ծրագիրը լսի MQTT սերվերից «անջատված» հաղորդագրությամբ, կոճակը կվերածվի չստուգվածի:

Սա աշխատում է մի քանի շաբաթ առանց որևէ խնդիրների: Մենք նկատեցինք, որ անհրաժեշտ է երկարացնել համակարգիչների վրա կոճակը ցածր սեղմելու տևողությունը: Մենք ավարտեցինք 1 լրիվ վայրկյան: Այս արժեքը կարող է բացահայտվել որպես կարգավորելի արժեք MQTT սերվերի միջոցով, կամ կարող եք արժեքը ամրացնել ՝ կախված ձեր ցանկությունից:

Հաջողություն, և ասա ինձ, թե ինչպես է քոնը ստացվել:

Խորհուրդ ենք տալիս: