Հզոր ինքնուրույն տան ավտոմատացման համակարգ - Pi, Sonoff, ESP8266 և Node -Red. 9 քայլ (նկարներով)
Հզոր ինքնուրույն տան ավտոմատացման համակարգ - Pi, Sonoff, ESP8266 և Node -Red. 9 քայլ (նկարներով)
Anonim
Հզոր ինքնուրույն տան ավտոմատացման համակարգ - Pi, Sonoff, ESP8266 և Node -Red
Հզոր ինքնուրույն տան ավտոմատացման համակարգ - Pi, Sonoff, ESP8266 և Node -Red

Այս ուղեցույցը պետք է ձեզ տանի առաջին բազա, որտեղ կարող եք միացնել կամ անջատել մի լույս կամ մի սարք ցանկացած սարքի միջոցով, որը կարող է միանալ ձեր տեղական ցանցին և հիանալի կարգավորելի վեբ ինտերֆեյսով: Ընդլայնման/ գործառույթների ավելացման շրջանակը հսկայական է, ներառյալ նամակներ ուղարկելը, թվիթերյան հաղորդագրություններ, ընթերցման տվիչներ (օրինակ ՝ ջերմաստիճանը): Դուք կարող եք հեշտությամբ սահմանել կանոններ, օրինակ. - եթե երեկոյան ժամը 23 -ին ջերմաստիճանը 15C- ից ցածր է, միացրեք էլեկտրական ծածկը 30 րոպե: Համակարգը օգտագործում է MQTT արձանագրությունը TCP- ով, որը զգալիորեն ավելի հուսալի է, քան UDP- ը, որը զարմանալիորեն օգտագործվում է տնային ավտոմատացման որոշ առևտրային սարքերի կողմից: Համակարգի ստեղծման քրտնաջան աշխատանքը, որը նկարագրված է այստեղ, կավարտվի, զվարճանքը կարող է սկսվել: Node Red- ը տրամադրում է ֆանտաստիկ ինտերֆեյս, որը ինտուիտիվ է, արագ և հեշտ կարգավորվող և ապահովում է զարմանալի հնարավորություն:

Արդյունքը տնային ավտոմատացման հզոր համակարգ է, որը լիովին սեփական վերահսկողության ներքո է և ամբողջությամբ տեղային ցանցում է: Instructables- ում ցուցադրված համակարգերից շատերն աշխատում են ամպի վրա հիմնված սերվերների հետ և, հետևաբար, անվտանգության ռիսկ են և կարող են պահանջել բաժանորդագրություն: Դրանք ավելի հեշտ է ստեղծվել, բայց ունեն անվտանգության ավելի մեծ ռիսկ և պոտենցիալ ավելի բարձր արժեք: Ես պետք է ավելացնեմ, որ Pi- ին կարելի է VPN (վիրտուալ մասնավոր ցանց) ստեղծել ՝ տնային ցանցին/համակարգին ապահով միացում ապահովելու համար, եթե դրսից մուտքը օգտակար լինի (հրահանգների համար ՝ Google Pi OpenVPN):

Այս համակարգը պահանջում է Sonoff սարքերի վերագնահատում ՝ մեծ բաց կոդով համակարգով, որը կոչվում է Sonoff-Tasmoda: Դա կարելի է անել ՝ օգտագործելով հատուկ Arduino կարգավորում և USB- ի սերիական փոխարկիչ: Sonoff սարքերը օգտագործում են ESP8266 Wi-Fi չիպը, այնպես որ կարող եք նաև պատրաստել ձեր սեփական սարքերը ՝ օգտագործելով ESP8266 մոդուլներ կամ դրանք տեղավորել այլ տարրերի վրա ՝ անլար կապ ապահովելու համար:

Ամենամեծ խնդիրը Raspberry Pi- ի ստեղծումն է որպես հանգույց: Սա գործարկում է MQTT բրոքեր (կամ սերվեր), որը կառավարում է կապը միացված սարքերի հետ: Pi- ն նաև գործարկում է Node-Red անունով համակարգ, որը կարող է ընդհատել հաղորդագրությունները և տվյալները և ելքային հրամանները, օրինակ ՝ երբ միացնել էլեկտրական ծածկը: Node-Red- ը նաև տրամադրում է ինտերֆեյս `վեբ էջը սպասարկելու համար, որին կարող եք մուտք գործել սմարթֆոնի/պլանշետի/համակարգչի/նոութբուքի միջոցով, տեսնելու, թե ինչ է կատարվում և միացնելու լույսերի ձեռքով անջատումը և այլն:

Այս հրահանգով նպատակ ունեմ յուրաքանչյուր քայլը տալ բավականաչափ մանրամասն, որպեսզի սկսնակ մարդը կարողանա գործի դնել համակարգը:

Քայլերն են.

  • Տեղադրեք Pi- ն Rasbian Stretch- ով
  • Թարմացրեք և ավելացրեք հատկություններ Node-Red- ին
  • Տեղադրեք Mosquitto MQTT բրոքերը
  • Ստեղծեք Arduino միջավայր Sonoff-Tasmota որոնվածը վերբեռնելու համար
  • Կրկին ծրագրավորեք Sonoff անջատիչը
  • Կարգավորեք Node-Red ինտերֆեյսը
  • Փորձարկեք, որ ամեն ինչ աշխատում է:

Սարքավորումներ, որոնք ձեզ հարկավոր են.

  • Ազնվամորի Pi և էներգիայի մատակարարում (և ստեղնաշար և մոնիտոր ՝ նախնական տեղադրման համար) (B մոդելը օգտագործվում է այստեղ)
  • Sonoff անջատիչ
  • USB սերիայի փոխարկիչ
  • Լրացուցիչ - ESP զարգացման տախտակ, ինչպիսին է NodeMCU- ն:

Raspberry Pi- ի հետ իմ փորձն այն է, որ որևէ բանի ստեղծումը զգալիորեն ավելի շատ ցավ է պատճառում, քան կարելի էր պատկերացնել, երբ իրերը չեն աշխատում կամ խրվում են ինչ -որ չնչին քայլի վրա, որտեղ բացատրությունը կարող էր ավելի լավ լինել: Ֆորումները միշտ չէ, որ ստանում են արդյունավետ խորհուրդներ: Ես գտա մի քանի երթուղի, որոնք ուղղակի չէին աշխատում այս կամ այն պատճառով: Այս արժեքը 3 օր է: Այնուհետև ես սրբեցի ամեն ինչ և սկսեցի նորից և ավարտեցի ավելի քիչ (երկար) օրվա ընթացքում: Այնուամենայնիվ, սա օգտագործեց ավելի հին Raspian Jessie- ն: Դրանից հետո ես գտա մի տարբերակ ՝ օգտագործելու ընթացիկ և վերջերս թողարկված տարբերակը (Stretch) և նորից արեցի այդ ամենը: Այս ուղեցույցը հնարավորություն է տալիս պատճենել և տեղադրել հրահանգները Pi- ում: Այսպիսով, դուք պետք է ավարտեք մի քանի ժամվա ընթացքում: Ամեն դեպքում, ես հույս ունեմ, որ սա ձեզ ավելի արագ կբարձրացնի ուսուցման ոլորտը և շատ ավելի քիչ ցավով: Հավատացեք ինձ, դա արժե այն վերջնական արդյունքի համար:

Քայլ 1: Բեռնեք Pi- ն Rasbian Stretch- ով

Սա պետք է լինի բավականին պարզ: Սկսեք 8 Գբ կամ 16 Գբ SD քարտով: Ներբեռնեք վերջին տարբերակը ՝

www.raspberrypi.org/downloads/

Հիմնական թեման այստեղ ենթադրում է, որ ամբողջական տարբերակը բեռնված է: Այնուամենայնիվ, կարող եք օգտագործել lite տարբերակը `տարածք խնայելու համար: Եթե օգտագործում եք Raspbian Stretch Lite- ը, անցեք այս քայլին և վերջում գնացեք Քայլ 9:

Ներբեռնված ֆայլի ապամոնտաժումը տալիս է.img ֆայլով թղթապանակ: 7Zip- ը խորհուրդ է տրվում Windows- ի (և The Unarchiver Mac- ի) համար: Պատկերը պետք է այրվի SD քարտի վրա, բայց պետք է օգտագործել հատուկ ծրագիր, քանի որ ֆայլային համակարգը համատեղելի չէ Windows- ի հետ: Առաջարկվող ծրագրաշարը կոչվում է Etcher և կարելի է ներբեռնել ՝

etcher.io/

Etcher- ի հրահանգները գտնվում են իրենց կայքում և դժվար թե ավելի պարզ լինեն: Ընտրեք պատկերը և սկավառակը և կտտացրեք Flash:

Այժմ մեր բռնկված SD քարտով կարող եք Pi- ն գործարկել:

Եթե դուք գիտեք ձեր IP- ի օգտագործած IP հասցեն կամ ուրախ եք գտնել այն ՝ մուտք գործելով ձեր երթուղիչ, ապա կարող եք խուսափել ստեղնաշարի և մոնիտորի կարիքից և անմիջապես օգտագործել SSH- ը: Պարզապես ավելացրեք SSH անունով դատարկ ֆայլ SD քարտին, տեղադրեք, միացեք Ethernet- ին և միացրեք այն: Հակառակ դեպքում հետևեք ստորև ներկայացված ուղեցույցին:

Միացրեք Pi- ն ինտերնետին, էկրանին, մկնիկին և ստեղնաշարին և միացեք հոսանքին: Առաջին բանը, որ մենք կանենք, SSH- ի միացումն է, որպեսզի մենք կարողանանք կարգաբերման մեծ մասը կատարել համակարգչի հարմարավետությունից: Իհարկե, դա կարելի է անել ուղղակիորեն, բայց դա մեծապես օգնում է, որ կարողանաք հետևել այս ուղեցույցին նույն սարքի վրա, ինչպես Pi- ով քշելիս և հրահանգների մեծ մասում օգտագործել պատճենել և տեղադրել: Նաև իմ դեպքում իմ համակարգչի աշխատատեղը գեղեցիկ և հարմարավետ է, բայց բավականաչափ մեծ չէ նաև պիի համար:

YouTube- ի տեսահոլովակի վրա կա աշխատանքի մեծ մասի ուղեցույց: Այստեղից սկսեցի: Այս հրահանգներին հետևելով ՝ կարող եք գործարկել տեսանյութը: Այնուամենայնիվ, երբ ես նորից էի անցնում այդ գործընթացը գրելիս, ավելի հեշտ գտա այստեղ հրահանգներին հետևելը: Կան որոշ էական շեղումներ: Կան նաև որոշ բաժիններ, որտեղ ես խորհուրդ եմ տվել հետևել տեսանյութին, այլ ոչ թե այստեղ քայլերը թվարկել: Այնուամենայնիվ, ես խորհուրդ կտայի այն դիտել ՝ MQTT- ի, Node-Red- ի և տեղադրման լայն գործընթացի մասին պատկերացում կազմելու համար: Տեսանյութը տևում է 38 րոպե, այնպես որ հարմարավետ եղեք: Տեսանյութը սկսվում է ցույց տալով, թե ինչ կարող է անել Node Red- ը, այնուհետև ներառում է Pi- ի տեղադրումն ու կարգավորումը, որին հաջորդում է Node Red- ի արդիականացումը և վերջապես Mosquitto- ի տեղադրումը: Հիմնական ժամկետները, եթե ցանկանում եք վերադառնալ մի հատված.

00:00 Տեսանյութի ներածություն

03:00 Node Red ցույց

14:14 Վահանակի տարրերի ներմուծում Node Red- ում

21:05 Pi սկզբնական կարգավորում, ներառյալ SSH

23:35 Node Red- ի օժանդակ կոդի տեղադրում

27:00 ctionանոթացում MQTT- ին

29:12 Mosquitto (MQTT) տեղադրում (Նշումը գործում է միայն Raspian Jessie- ի համար)

33:00 Node Red օրինակներ

Ես թվարկելու եմ հրամանները համարձակ շեղագիր տառերով (այլ ոչ թե «») օգտագործելու համար: Այս ձևաչափումը անտեսվում է, երբ դրանք պատճենում և տեղադրում եք Pi- ում:

Node Red- ի ներածությունը ձեզ պատկերացում կտա այն մասին, թե ինչ կարող է անել համակարգը և կտա պատկեր, թե որտեղ ենք մենք հայտնվելու:

YouTube- ի տեսանյութը ՝

Հետևեք տեղադրման ընթացակարգին 21:05 - 23:35: Նկատի ունեցեք, որ կանխադրված մուտքն օգտվողն է ՝ pi և գաղտնաբառը ՝ ազնվամորի: Վերագործարկումից առաջ գտեք pi- ի IP հասցեն: Կամ սեղմեք «վեր+վար սլաք» պատկերակին աշխատասեղանի վերին սանդղակում կամ տերմինալ/տերմինալ պատուհանում մուտքագրեք հետևյալ հրահանգը.

sudo ifconfig հասցեն

Այնուհետև նշեք IP հասցեն ՝ inet addr:. Այն կլինի 192.168.x.y տեսքով

Նշեք այս հասցեն և վերագործարկեք (մուտքագրեք ՝ sudo shutdown –r now)

Այս պահին բանալին այն է, որ SSH- ն միացված է, և կարելի է համակարգչից Pi- ի հետ կապ հաստատել (Mac- ը և Linux- ը ներառում են SSH միջերեսներ): Դա անելու լավ ծրագիր է անվճար ներբեռնումը, որը կոչվում է PuTTY, որը կարող է օգտագործվել նաև որպես սերիական ինտերֆեյս և կարող է կատարել Telnet: Putեփամածիկը հասանելի է ՝

www.chiark.greenend.org.uk/~sgtatham/putty…

Ներբեռնեք և տեղադրեք PuTTY:

Այժմ, երբ Pi- ն վերագործարկված է, գործարկեք PuTTY- ը և մուտքագրեք ավելի վաղ նշված IP հասցեն: Տե՛ս ստորև բերված օրինակը.

Այժմ կտտացրեք Բացել

Մուտք գործելուց հետո ՝ մուտքագրեք pi

Այնուհետեւ մուտքագրեք ձեր գաղտնաբառը:

Այժմ հետևեք այստեղ տրված հրահանգներին և ընտրովի սկսեք տեսանյութը 23: 35 -ից: Շատ դեպքերում կարող եք պատճենել և տեղադրել: Նշեք տեքստը և պատճենելու համար օգտագործեք ctrl+C: Այնուհետև աջ սեղմեք PuTTY- ում ՝ տեղադրելու համար: Երբեմն տեքստը անմիջապես չի հայտնվում, այնպես որ սպասեք մի քանի վայրկյան: Եթե երկու անգամ մուտքագրեք, օգտագործեք հետնահարկ `երկրորդ մուտքը ջնջելու համար: Սեղմեք enter ՝ յուրաքանչյուր հրահանգ կատարելու համար:

sudo raspi- թարմացում

Ես ստացա չգտնված հրաման և անտեսեցի այս և հետևյալ անջատման/վերագործարկման հրահանգը.

sudo անջատում -r հիմա

sudo apt -get -y թարմացում

sudo apt -get -y բարելավում

Սա տևում է որոշ ժամանակ…..

sudo apt-get ավտոմատ շարժում

sudo apt -get -y թարմացում

sudo անջատում -r հիմա

Այս պահին մենք ունենք Pi օպերացիոն համակարգը բեռնված և թարմացված ՝ պատրաստ հաջորդ քայլին:

Քայլ 2. Թարմացրեք և ավելացրեք հատկություններ Node-Red- ին

PuTTY կապը կկորցնի վերագործարկմամբ ՝ նախորդ քայլի վերջում: Այսպիսով փակեք PuTTY- ը և Pi- ի գործարկմանը սպասելուց հետո նորից միացեք նախկինի պես:

Ես անցել եմ ավելի պարզ և հուսալի մեթոդի ՝ Node-Red- ը բեռնելու համար ՝ հետևելով https://nodered.org/docs/hardware/raspberrypi- ի մոտեցմանը: Սա օգտագործում է սցենար և կտեղադրի կամ կբարելավի Node-Red- ը, ուստի մոտեցումը նույնն է, ինչ աշխատում է Raspbian Stretch- ի ամբողջական կամ Lite տարբերակներից: Այսպիսով, մուտքագրեք.

bash <(curl -sL

Մուտքագրեք Y- ն, երբ հուշվում է (երկու անգամ): Այս սցենարը նաև բեռնում է ֆայլեր, որոնք անհրաժեշտ են Node-Red- ի ինքնագործարկումը միացնելու համար:

Այսպիսով, այս պահին մենք ունենք մեր pi- ն բեռնված և թարմացված և Node Red- ի համար անհրաժեշտ թարմացումներով: Հաջորդ փուլից առաջ վերագործարկում անելը վնասակար չէ:

sudo անջատում -r հիմա

Քայլ 3: Mosquitto MQTT տեղադրում

Եթե դուք դեռ չեք արել, ապա արժե դիտել MQTT- ի տեսանյութի ներածությունը տեսանյութի վրա ՝ ժամը 27: 00 -ից:

Այստեղ է, որ մենք պետք է այլ ճանապարհով գնանք: Տեսանյութում նկարագրված ընթացակարգը գործում է միայն Raspian- ի ավելի հին Jessie տարբերակի համար: Մոծակների տեղում քննարկում է ընթանում, բայց հստակ արդյունք ցույց չի տրվում, և, հետևաբար, կառչելու է ավելի պարզ և անվտանգ երթուղուց:

Այսպիսով, մուտք գործեք ՝ օգտագործելով PuTTY և մուտքագրեք հետևյալը.

sudo apt-get թարմացում

sudo apt-get տեղադրել mosquitto մոծակ-հաճախորդներ

Յ

sudo /etc/init.d/mosquitto կանգառ

sudo /etc/init.d/mosquitto սկսել

Վերջին երկու հրահանգը դադարում և սկսում է մոծակ և ցույց տալիս, որ մեր MQTT բրոքերն աշխատում է:

Արագ թեստի համար բացեք ևս երկու PuTTY նիստ և մուտք գործեք յուրաքանչյուրին:

Դուք արդեն կիմանաք, որ MQTT- ն աշխատում է սարքի կողմից «թեմա» -ին բաժանորդագրվող տվյալների կարիքների համար: Բրոքերը կուղարկի նույն «թեմայով» ցանկացած տվյալ: Այնուհետեւ սարքը, որը ցանկանում է տվյալներ/հրահանգներ ուղարկել, դա հրապարակում է բրոքերին ՝ օգտագործելով նույն «թեման»:

Այսպիսով, մեկ PuTTY նստաշրջանում մուտքագրեք.

mosquitto_sub -d -t բարև/աշխարհ

Սա հրահանգ է բաժանորդագրվել թեմային ՝ բարև/աշխարհ:

Մյուսում մուտքագրեք.

mosquitto_pub -d -t բարև/աշխարհ -m «Բարև տերմինալ 2 -րդ պատուհանից»:

Սա հրապարակման հրահանգ է ՝ նույն թեմայով ՝ հաղորդագրությամբ: Տեքստը ՝ «Բարև տերմինալ 2 -րդ պատուհանից»: այժմ պետք է հայտնվի մյուս տերմինալում:

Լավ արեց, որ այսքան հեռու գնացինք: Այժմ մենք ունենք Pi- ն բեռնված և թարմացված ՝ Node-Red- ի համար անհրաժեշտ թարմացումներով և տեղադրված և փորձարկված մոծակների MQTT միջնորդով: Այսուհետ կյանքը մի փոքր ավելի հեշտ կդառնա: Փակեք երկու PuTTY նիստերը, որոնք օգտագործվում են MQTT թեստի համար:

Քայլ 4: Կարգավորեք հանգույցի կարմիր ինտերֆեյսը

Նախ պետք է սկսել Node Red- ը: Մուտքագրեք հրահանգը.

node-red-pi-max-old-space-size = 256

Սպասեք, մինչև այն գործի, և կտեսնեք «Սկսված հոսքեր» տեքստը:

Այժմ բացեք զննարկիչը, ես օգտագործում եմ Chrome- ը և մուտքագրեք ավելի վաղ նշված pi IP հասցեն, որին հաջորդում է ՝ 1880, այսինքն ՝ 192.168.0.8:1880 -ի նման մի բան:

Այժմ դուք պետք է ունենաք Node Red ծրագրավորման էջը ՝ ստորև.

Այժմ կարող եք հետևել Node Red- ի օրինակներին ՝ սկսած ժամը 33: 00 -ից կամ ուղղակիորեն անցնել մի փոքր լրացուցիչ տեղադրման և բեռնել առաջին հոսքը, որը ցույց կտա MQTT- ի հղումը և պատրաստ կլինի վարել մեր անջատիչը:

Լրացուցիչ կարգավորումն այն է, որ վահանակի տարրերը ավելացնեն, որոնք հնարավորություն են տալիս վեբ ինտերֆեյս:

Դրանք ցուցադրվում են տեսանյութում ՝ 14:14:

Հետևեք հրահանգներին ՝ հանգույց-կարմիր վահանակը բեռնելու համար:

Այժմ մենք կարող ենք մի փոքր խաղ ցուցադրել և ցույց տալ, որ MQTT- ն աշխատում և վարվում է Node-Red- ի կողմից: Սա տեսահոլովակում չէ, բայց կարևոր է այս նախագծի համար: Դուք կարող եք կամ հետևել իմ հրահանգներին և/կամ ներմուծել հոսքերը կից NRtest1.txt ֆայլից:

Սկզբում ավելացրեք ներածման ներարկման հանգույց և ելքային mqtt հանգույց և միացրեք դրանք միասին:

Կրկնակի սեղմեք ներարկման հանգույցը (այն սկզբում նշվում է որպես ժամանակային նշան): «Բեռնվածություն» բաժնում օգտագործեք twiddly- ը ՝ տող փոխելու և մուտքագրելու համար. Բարև ինձանից: Թեման թողեք դատարկ, քանի որ սա կարող ենք մուտքագրել MQTT հանգույցում: Կտտացրեք Կատարված է

Այժմ կրկնակի սեղմեք MQTT հանգույցը: Կտտացրեք մատիտի պատկերակին «Սերվեր» բաժնի աջ կողմում: Սա բացում է նոր երկխոսություն: Մուտքագրեք ՝ localhost սերվեր բաժնում: Կտտացրեք Ավելացնել: Այժմ, վերադառնալով Խմբագրել mqtt out հանգույցը, մուտքագրեք մեր թեման Թեմա բաժնում ՝ բարև/աշխարհ: QoS- ը սահմանեք 1: Կտտացրեք Կատարված է: Այժմ կտտացրեք Տեղակայել: Դուք պետք է տեսնեք կանաչ բլբուլ և «միացված» mqtt հանգույցից ներքև:

Այժմ ավելացրեք ևս երկու հանգույց `մուտքի mqtt և ելքային վրիպազերծում և դրանք միացրեք իրար: Այժմ կրկնակի կտտացրեք մուտքի mqtt հանգույցին և թեմայի բաժնում մուտքագրեք բարև/աշխարհ: Սերվերն արդեն պետք է ցույց տա localhost: 1883: QoS- ը սահմանեք 1: Կտտացրեք Կատարված է: Այնուհետև կտտացրեք Տեղակայել և կտտացրեք աջ վահանակի վրիպազերծման ներդիրին: Այժմ կտտացրեք «Բարև ինձանից» ներարկման հանգույցի ձախ կողմում գտնվող մոխրագույն քառակուսուն: Սա տեքստային բեռ է ուղարկում MQTT բրոքերին ՝ բարև/աշխարհ թեմայով: Բրոքերը գիտի, որ mqtt մուտքային հանգույցը բաժանորդագրվել է նույն թեմային և այդպիսով փոխանցում է բեռնվածությունը: Mqtt մուտքային հանգույցն այն ուղարկում է կարգաբերման էջանիշ (RHS) և պետք է հայտնվի «Բարև ինձանից» տեքստը:

Սա նշում է մեկ այլ տուփ, քանի որ մենք ունենք Node Red, որը խոսում է մեր MQTT բրոքերի հետ: Նկատի ունեցեք, որ Node Red- ը միջնորդի համար պարզապես հաճախորդ է, ինչպես Sonoff սարքերը, որոնք մենք ավելի ուշ կկապենք: Այնուամենայնիվ, այն հնարավորություն է տալիս բարդ ավտոմատացում և ապահովում է հիանալի ինտերֆեյս:

Այժմ մենք կարող ենք մի քանի փոքր փոփոխություններ կատարել և հոսքեր սահմանել մեր Sonoff անջատիչի համար:

Այսպիսով, ջնջեք ներածման ներարկման հանգույցը (կտտացրեք նշելու համար և սեղմեք ջնջել ստեղնը): Այժմ ավելացրեք անջատիչ վահանակի հատվածից և միացրեք այն mqtt ելքին: Կրկնակի սեղմեք անջատիչ: Կտտացրեք «Մատիտ» խմբի աջ կողմում: Մուտքագրեք անունը: Լույս: Այնուհետեւ կտտացրեք ներդիրի աջ կողմում գտնվող մատիտին և մուտքագրեք Անուն բաժինը. Կտտացրեք Ավելացնել/Թարմացնել և նորից ավելացնել/Թարմացնել: Այժմ, վերադառնալով Խմբագրել անջատիչ հանգույցին, միացրեք և անջատեք Բեռնափոխադրումները: Օգտագործեք twidlys- ը `լար ընտրելու համար և մուտքագրեք ON` բեռնվածության և OFF բեռնվածքի համար: Կտտացրեք Կատարված է

Այժմ գնացեք mqtt հանգույցներից յուրաքանչյուրը և թեման փոխեք cmnd/sonoff/POWER- ի: Եթե պատճենեք և տեղադրեք, ստուգեք, որ վերջում տարածք չեք ներառել: Սա այլ թեմա է և չի աշխատի Sonoff- ի հետ: Թափառող տարածք գտնելը կարող է տևել մոտ մեկ ժամ, հավատացեք ինձ: Ես նույնպես գնացի վահանակ> Թեման և ընտրեցի ՝ մուգ: Կտտացրեք Տեղակայել և ընտրեք վրիպազերծման ներդիր:

Այժմ բացեք զննարկչի նոր նիստ նոր պատուհանում և չափեք այն բջջային հեռախոսի պես ՝ Node Red նստաշրջանի ընթացքում: Մուտքագրեք հասցեն ՝ ձեր Pi IP հասցեն ՝ 1880/ui/#/0, այսինքն ՝ 192.168.0.8:1880/ui/#/0 պես մի բան: Դուք պետք է տեսնեք Lounge և Light էկրան և անջատիչ: Կտտացրեք անջատիչը միացված և ապա անջատված: Վրիպազերծման պատուհանը պետք է ցույց տա ON և OFF բեռնվածությունը: Եթե ցանկանում եք, մուտք գործեք նաև բջջայինի միջոցով: Նշենք, որ անջատիչի դիրքը համաժամեցված է: Կարևոր չէ, որ մեր Sonoff- ը դեռ կապված չէ: Երբ լինի, բաժանորդագրվելով Թեմային, այն կվերցնի հաղորդագրությունը/բեռնվածությունը և կկատարի այն:

Վերջին փոքր քայլն այն է, որ Node Red- ը ինքնաբերաբար սկսվի Pi- ի կոշիկները բարձրանալուց հետո:

Node Red- ն ունի ուղեցույց ՝

Այնուամենայնիվ, անհրաժեշտ ֆայլերը արդեն բեռնված են, ուստի տեղադրում չի պահանջվում:

Այնուհետև Node-RED- ին ավտոմատ գործարկելու համար յուրաքանչյուր բեռնախցիկում և վթարների դեպքում մուտքագրեք (բացեք PuTTY նիստը).

sudo systemctl միացնել nodered.service- ը

Եթե երբևէ կարիք լինի անջատել սա, մուտքագրեք.

sudo systemctl անջատել nodered.service- ը

Այժմ անջատեք pi- ն sudo անջատմամբ և անջատեք հոսանքը:

Սա այժմ մեր Pi- ն կողպված և բեռնված է պատրաստ գործողության: Մենք ունենք մեր համակարգիչը/բջջային հեռախոսը, որը միանում է Node Red- ին և սա խոսում է մեր MQTT սերվերի հետ: Սա երկար ճանապարհ է և արժե մեծ հարվածներ հասցնել: Լավ արեց: Հաջորդը, Arduino- ն, շատ ավելի հեշտ գտա:

Քայլ 5. Կարգավորեք Arduino համակարգը Sonoff սարքերը ծրագրավորելու համար

Դա անելու համար բոլոր տեղեկությունները Sonoff-Tasmota GitHub- ում են: Միակ մասը, որի հետ ես դժվարանում էի, Թեմայի տեքստն էր, բայց ես խորամանկորեն ստիպեցի ձեզ արդեն մուտքագրել սա:

Գնացեք

Կարգավորման հրահանգները կգտնեք Վիքի ներդիրում ՝ Վերբեռնման գործիքներ բաժնում ՝

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

Հրահանգները լավն են, բայց մանրուքներին մանրակրկիտ ուշադրություն են պահանջում: Ինձ զայրացրեց այն, որ ESP8266 թղթապանակի կարիք կա մի պանակի մեջ, որը ESP8266 անունով մեկ այլ պանակի մեջ էր և, հետևաբար, բաց թողեց երկու մակարդակ:

Ես հետևեցի Arduino- ի բոլորովին առանձին տեղադրման առաջարկությանը: Ես ստեղծեցի նոր թղթապանակ ՝ «ArduinoSonoff» անունով, որն առանձին է իմ գոյություն ունեցող Arduino թղթապանակից: Կարգավորումը բավականին առաջադեմ է, ուստի այն առանձին պահելը շատ լավ գաղափար է: Եթե սա ձեր առաջին Arduino- ի կարգավորումն է, համոզվեք, որ այն երկրորդ անգամ տեղադրեք «Arduino» - ում կամ այլ թղթապանակում Arduino- ի ցանկացած այլ աշխատանքի համար, ներառյալ ESP8266s- ով աշխատելը:

Ներբեռնեք վերջին Arduino IDE- ն https://www.arduino.cc/hy/Main/Software- ից: Բացեք ֆայլը ձեր նոր թղթապանակում:

Հրահանգները ներառում են Sonoff-Tasmoda համակարգը ներբեռնել https://github.com/arendst/Sonoff-Tasmota հիմնական էջից ՝ Clone կամ Download> Download ZIP: Բացեք ֆայլը ձեր նոր թղթապանակում:

Followգուշորեն հետևեք հրահանգներին: Ես չեմ կատարել Լրացուցիչ. Պատրաստվեք OTA- ի վերբեռնման բաժնին: Մենք սա կթողնենք մեկ այլ օր:

Այժմ գործարկեք Arduino IDE- ն (կրկնակի կտտացրեք arduino.exe): Տեղադրեք Sonoff-Tasmota էսքիզը File> Sketchbook> sonoff- ի միջոցով: Կարիք չկա որևէ խմբագրում կատարելու: Բոլոր կարգավորումները կատարվում են սերիական միացման միջոցով ՝ որոնվածը բեռնվելուց հետո: Դրանք պահվում են EEPROM- ում: Այսպիսով, որոնվածը կարող է թարմացվել և պահպանվել բոլոր կարգավորումները: Սա բավականին խելացի իր է: Այնուամենայնիվ, այստեղ կարող եք խուսափել մի քանի քայլի անհրաժեշտությունից ՝ գնալով user-config.h ֆայլ և մուտքագրելով ձեր wifi SSID- ն ու գաղտնաբառը և MQTT_HOST (փոխարինել «domus1»-երկրորդ տեղեկանքը ՝ ձեր Pi IP հասցեով):Հետագայում գուցե ցանկանաք մուտքագրել նաև MQTT օգտվող և գաղտնաբառ: Ներբեռնելուց առաջ ստուգեք «Գործիքներ» բաժնի տախտակի կարգավորումները: Դրանք կպահանջեն մի քանի փոփոխություն `Վիքիում նշված պահանջներին համապատասխանելու համար: Այժմ կտտացրեք կազմել (նշեք պատկերակը): Այն պետք է կազմի OK: Եթե դա չկա կամ եթե անհրաժեշտ տախտակի կարգավորումները հասանելի չեն, ապա հետ գնացեք և ստուգեք կարգաբերման յուրաքանչյուր քայլ:

Քայլ 6. Sonoff անջատիչի վերակազմավորում

Այժմ մենք պատրաստ ենք ներբեռնելու: Այս փուլում կարելի է կամ ուղիղ առաջ գնալ և բռնկել Sonoff անջատիչը, կամ կարելի է նախ բռնկել ESP8266 մոդուլը: Ես վերջինս արեցի, մասամբ այն պատճառով, որ իմ անջատիչները դեռ չէին եկել (նոր էին եկել, երբ ես գրում եմ սա), բայց նաև որպես նախազգուշական միջոց, քանի որ Sonoff անջատիչի բռնկումը միակողմանի քայլ է, քանի որ սկզբնական որոնվածը հանրորեն հասանելի չէ այնքանով, որքանով Տեղյակ եմ. Ես ունեմ մի քանի NodeMCU տախտակ: Սրանք հեշտ է միանալ ՝ ունենալով իրենց ներկառուցված USB սերիական փոխարկիչ: Այնուամենայնիվ, nodemcu վերակայման մեթոդը չի գործում այս համակարգի հետ: Այսպիսով, թողեք Գործիքներ> Վերագործարկեք մեթոդը `« ck »: Կատարեք ֆլեշի սովորական ձեռքով կարգավորումը ՝ բռնելով Flash կոճակը (GPIO 0 գետնին) ՝ սեղմելով և բաց թողնելով Reset (Վերակայել գետնին): Ես վստահ չեմ, որ սա ժամանակի ընդմիջում ունի, կամ գուցե ես GPIO 0 -ն բավականաչափ ցածր պահեցի, բայց ինձ մի քանի փորձի կարիք կար, ներառյալ դա անել Arduino IDE- ի կազմման ընթացքում:

Եթե ցանկանում եք ստուգել պատասխանները, ապա ռելեի ելքը D6 է NodeMCU տախտակներում: ESP12- ի դեպքում սա GPIO 12. LED- ի ելքն է D7 (NodeMCU) կամ GPIO 13 (ESP12):

Sonoff անջատիչ:

WԳՈՇԱՈՄ. Ես պետք է ասեմ. «Մի՛ միացեք ցանցին ոչ մի դեպքում, երբ պարիսպը բաց է»: Նկատի ունեցեք, որ PCB- ն (առնվազն Sonoff Basic- ի վրա (գծային անջատիչ) ունի միայն «մեկուսացման» հեռավորություններ ցածր լարման հատվածի և ցանցի միջև: Այսպիսով, Sonoff- ի շղթայի ցանկացած մաս պետք է վերաբերվել որպես հիմնական լարման): Tasmota GitHub- ը ցույց է տալիս ջերմաստիճանի և խոնավության սենսորի միացում Sonoff S20- ին: Ես դա չէի անի մեկուսացման մտահոգությունների պատճառով: կամ հողային էներգիայի մատակարարում:

Sonoff S20- ի միացման անջատիչը լավ ելակետ է, քանի որ այն կարիք չունի էլեկտրագծերի: Այն կարող է բացվել ՝ մեկ պտուտակը հանելով (անվտանգության կնիքի տակ) և պատյանը բացելով: Ստորև բերված լուսանկարը ցույց է տալիս, թե որտեղ են պիտակները: Այս կետերում գործը սեղմելը օգնում է:

USB սերիական փոխարկիչ

Իմ սիրած փոխարկիչը FTDI տարբերակն է: Այնուամենայնիվ, սա չունի բավարար հնարավորություն `ապահովելու Sonoff 3.3v կարիքները: FTDI- ի բնութագրում նշված է առավելագույնը 50 մմ: Հաջորդ լավագույն այլընտրանքը մեկն է, որն օգտագործում է CP2102 չիպը: Սա, սակայն, ունի 100 մ սահմանափակում, որը դեռ բավարար չէ: Ակնհայտ է, որ շատերն ուղղակիորեն օգտագործում են այս փոխարկիչը, բայց կան նաև տեղեկություններ բեռնման ձախողման մասին: Ես կսահմանափակեի միացման ժամանակը, քանի որ այն տաքանում է բեռի տակ: Դա արեք ձեր ռիսկով: Իդեալական լուծումն է ունենալ նաև 3.3 վ կարգավորիչ, օրինակ. an AMS1117 3.3. Ես փոքր PCB ստեղծեցի ՝ սա հնարավորություն տալու համար: Տես Sonoff սարքերի ծրագրավորող:

Sequenceրագրավորման իմ հաջորդականությունը հետևյալն է.

Բացեք Arduino IDE- ն:

Գործիքներ բաժնում ստուգեք կարգավորումները, ինչպես Վիքիում:

Կատարեք ցանկացած փոփոխություն, որը պահանջվում է user_config.h հասցեում: Ես սահմանեցի Wifi SSID- ը և գաղտնաբառը և MQTT բրոքերի հասցեն և ժամային գոտու/ցերեկային խնայողության մանրամասները:

Կտտացրեք «հաստատել» ՝ ստուգելու համար, որ այն կազմում է OK:

Միացրեք USB սերիայի փոխարկիչը (ինքնուրույն) համակարգչին: Նշեք նավահանգստի համարը:

Այժմ անջատեք USB սերիայի կապը համակարգչից և միացրեք այն Sonoff անջատիչին: Ստուգեք հողը և 3v3 միացումները ճիշտ ճանապարհն են (Sonoff PCB- ի վրա գետնին միացված է գետնին):

Պահեք ծրագրավորողը այնպես, որ կոնտակտներն ապահով լինեն, միաժամանակ սեղմելով կոճակը:

Այժմ միացրեք USB կապը համակարգչին, ստուգեք պորտի համարը ճիշտ է (Գործիքներ), այնուհետև կտտացրեք ներբեռնում:

Ես շարունակում եմ պահել կոճակը ծրագրավորման ամբողջ ընթացքում, քանի որ չեմ ցանկանում խանգարել կապերը:

Ավարտելուց հետո դուք պետք է տեսնեք հետևյալ էկրանը.

Պատկեր
Պատկեր

Մեր համակարգին միանալու համար Sonoff- ին անհրաժեշտ է մի քանի տեղեկատվություն ՝ տեղական ցանցի wifi SSID և գաղտնաբառ և Pi IP հասցե: Կան մի քանի եղանակներ դա անելու համար, որոնցից մեկն է փոփոխել config.ino ֆայլը, ինչպես նշվեց ավելի վաղ: Եթե ունեք սմարթֆոն, կարող եք (անջատիչը նորից հավաքելուց հետո) 4 անգամ բավականին արագ սեղմել Sonoff կոճակը `այն վեբ-սերվերի ռեժիմի դնելու համար: LED- ը կթարթվի: Ես ստիպված եղա մի քանի անգամ փորձել, որպեսզի սա աշխատի: Այնուհետեւ, ձեր սմարթֆոնի վրա փնտրեք Sonoff- ի նոր ցանցը եւ միացեք: Կհայտնվի վեբ էջ, որտեղ կարող եք սահմանել անհրաժեշտ տվյալները: Pi IP հասցեն մտնում է հյուրընկալողի անվան մեջ: Ես նաև երկրորդ SSID- ն ու գաղտնաբառը փոխեցի երկար և հիմնականում ոչ պիտանի մի բանի:

Այլապես այն կարող է կարգավորվել սերիական միացման միջոցով ՝ բեռնվելուց անմիջապես հետո: Բացեք Arduino սերիական մոնիտորը (Գործիքներ) բաժնում:

Մուտքագրելու հրամաններ.

SSId yourWiFiSSID

Գաղտնաբառ ձեր WiFiPassword- ին

MqttHost 192.168.x.y (PI IP հասցե)

Կարող եք նաև մուտքագրել SSId1 և գաղտնաբառ 1, որին հաջորդում է երկար և անօգտագործելի բան ՝ սա արդյունավետ անջատելու համար:

Այժմ կարող եք բացել Sonoff անջատիչը, բացել Node-Red և Node-red վահանակը և սեղմել անջատիչի կոճակը և նայել վրիպազերծման ներդիրին, որն այժմ պետք է ներառի Sonoff- ի պատասխանները: Այսպիսով, մենք ունենք ևս մեկ կարևոր քայլ ՝ մեր առաջին անջատիչը, որը մղվում է համակարգչից/սմարթֆոնից:

Մինչ այժմ մենք չենք նշել անվտանգության մասին: Կա գաղտնագրված հաղորդակցությունների օգտագործման հնարավորություն: Սա բավականին բարդ է ստեղծելու համար և, հավանաբար, ավելի նպատակահարմար է, երբ օգտագործվում է ամպի վրա հիմնված բրոքեր: Կա նաև բոլոր միացված սարքերի օգտվողների անուններ և գաղտնաբառեր ավելացնելու և անանուն օգտվողներին արգելելու հնարավորություն: Սա բավականին պարզ է կարգավորել: Եվ այսպես, հիմա դեպի Անվտանգություն:

Քայլ 7: Անվտանգություն

MQTT- ն թույլ է տալիս օգտվողների անուններ և գաղտնաբառեր յուրաքանչյուր հաճախորդի համար: Սա հեշտ է կարգավորել: Հավանաբար, ավելի հեշտ է նախ վերանվանել յուրաքանչյուր սարք, այնուհետև սահմանել դրանց օգտանուններն ու գաղտնաբառերը: Դա կարելի է անել MQTT հրամանների միջոցով, և Node-Red- ը, հավանաբար, դրանք ուղարկելու ամենահեշտ ձևն է: Նախ որոշեք անվանման կոնվենցիան: Տարբերակներից մեկն այն է, որ անունները հիմնվեն գտնվելու վայրի և գործառույթի վրա: Այնուհետև կցանկանաք գրանցել անվան (թեմայի) օգտվողի անունը և գաղտնաբառը ՝ փոխարինող թեմայի հետ միասին: Նկատի ունեցեք, որ կա նաև «վերակայման տարբերակ» ՝ Sonoff- ի կարգավորումները սկզբնական ներբեռնելու համար (տե՛ս Վիքի օգտագործումը> Կոճակի ֆունկցիոնալությունը):

Միացրեք pi- ն և մի քանի վայրկյան անց դիտարկիչը բացեք դեպի Node-Red (IP հասցե ՝ 1880):

Node-Red- ում տեղադրեք ներարկման հանգույց և այն կապեք mqtt ելքի հետ և mqtt սերվերը տեղադրեք localhost- ին: Թեմա, օգտվող և գաղտնաբառ թողեք դատարկ, քանի որ դրանք կդնենք ներարկման հանգույցում: Նաև կարգավորեք mqtt մուտքային հանգույց և միացրեք այն վրիպազերծման հանգույցին, որպեսզի մենք տեսնենք պատասխանները: Տեղադրեք mqtt մուտքի նշումը localhost- ին (պետք է արդեն սահմանված լինի) և թեմայի համար մուտքագրեք+/+/+, այնպես որ այն կգրավի ամբողջ երթևեկը:

Ներարկման հանգույցում մուտքագրեք կարգավորումների հետևյալ հաջորդականությունը:

Նախ ստուգեք կապը

Թեմա ՝ cmnd/sonoff/կարգավիճակ

Հաղորդագրություն ՝ 6

կտտացրեք «Ներարկել մեկ անգամ սկզբում»: Տեղակայել. Մենք պետք է տեսնենք կարգաբերում, ներառյալ stat/sonoff/STATUS6 տվյալների 7 տող

Մուտքագրեք թեմա ՝ cmnd/sonoff/Թեմա և հաղորդագրություն ՝ լաունջելիտ: Տեղակայել. Սա փոխում է անունը փոխելու sonoff- ից loungelight

Վրիպազերծման ներդիրը պետք է ցույց տա, որ սարքը վերագործարկվում է իր նոր անունով/թեմայով

Թեմա ՝ cmnd/loungelight/MqttUser

Հաղորդագրություն. Lounge

Կտտացրեք տեղակայել: Վրիպազերծումը պետք է դիտվի stat/loungelight/RESULT- ից {"MtqqUser": "loungelight"} - ով

Թեման ՝ cmnd/loungelight/MqttPassword

Հաղորդագրություն ՝ loungelightPW (նշումը լինի ավելի երևակայական, քան սա)

Մաքրել վրիպազերծման ներդիրը և տեղակայել:

Պատասխանը պետք է դիտվի stat/loungelight/RESULT- ից {"MqttPassword": "loungelightPW"} - ով

Այժմ մուտքագրեք NodeRed և NodeRedPW որպես օգտվողի անուն և գաղտնաբառ mqtt out հանգույցում: Սա բացվող պատուհանի Server մատիտի պատկերակի և անվտանգության ներդիրի միջոցով է: Սա ինքնաբերաբար պատճենվում է մյուս MQTT հանգույցներին:

Կրկին ստուգեք հետ

Թեմա ՝ cmnd/loungelight/կարգավիճակ և հաղորդագրություն ՝ 6: Տեղակայել.

Եվ որ պատասխանը ուղարկվում է:

Այսպիսով, այս պահին մենք վերանվանել ենք մեր Sonof սարքը, որպեսզի այն լսի cmnd/loungelight/…… թեմաները և մուտք կգործի MQTT- ի վրա ՝ օգտվողի անունով loungelight և գաղտնաբառ loungelightPW: Մենք նաև սահմանել ենք օգտվողի անուն և գաղտնաբառ Node-Red- ի համար:

Հաջորդը, մենք պետք է մոծակների MQTT սերվերին ասենք, որ ընդունի միայն օգտվողների անուններով հաճախորդներ և նշի ընդունելի օգտվողների անուններն ու գաղտնաբառերը:

Ընթացակարգը հետևյալն է.

  • Կանգնեցրեք մոծակին
  • Ստեղծեք ձեր սեփական կազմաձևման ֆայլը
  • Խմբագրել կազմաձևման ֆայլը
  • Ստեղծեք գաղտնաբառի ֆայլ
  • Ավելացնել օգտվողներ/գաղտնաբառեր:

Այսպիսով, մուտք գործեք նոր PuTTY նստաշրջան և գործարկեք հետևյալ հրամանները.

sudo /etc/init.d/mosquitto կանգառ

cd /etc/mosquitto/conf.d/

sudo nano mosquitto.conf Սա սկսում է խմբագիրը:

Ավելացնել տողեր.

թույլատրել_անուն կեղծ

password_file /etc/mosquitto/conf.d/passwd

պահանջում_հաստատում կեղծ

Պահել և դուրս գալ (Ctrl+X), Y, մուտքագրել:

sudo touch passwd Սա ստեղծում է գաղտնաբառի ֆայլ և հետևյալ հրահանգները ավելացնում են անուններ և գաղտնաբառեր:

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd loungelight loungelightPW

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd NodeRed NodeRedPW

sudo /etc/init.d/mosquitto վերագործարկել

Նկատի ունեցեք, նոր սարք ավելացնելիս դուք պետք է կամ մուտքագրեք օգտվողին և գաղտնաբառին սերիական նավահանգստի միջոցով և դրանք ավելացնեք գաղտնաբառի ֆայլում, կամ ժամանակավորապես փոխեք մոծակների կազմաձևման ֆայլը և մեկնաբանեք (տողի սկզբում ավելացրեք #) տողերը «թույլատրել_անանուն կեղծ» "և" password_file /etc/mosquitto/conf.d/passwd "և այնուհետև վերականգնել դրանք, երբ տվյալները ուղարկվել են սարքին և գաղտնաբառի ֆայլում ավելացվել են վերևում:

Մենք sonoff անունը փոխել ենք loungelight- ով և այդպիսով թարմացնել mqtt ելքային հանգույցը (միացված է անջատիչին) ՝ cmnd/loungelight/POWER թեման օգտագործելու համար:

Կտտացրեք Տեղակայել և ստուգեք mqtt հանգույցները ցույց են տալիս «կապված»:

Հաջորդը փորձեք անջատիչի կոճակը և փնտրեք վրիպազերծում, որտեղ Sonoff անջատիչը արձագանքում է: Դուք կնկատեք, որ սարքը ցույց է տալիս փոփոխությունը թեմայով ՝ stat/loungelight/POWER: Այսպիսով, այժմ փոխեք մուտքի հանգույցը, որը սահմանվել էր cmnd/sonoff/POWER- ի վրա stat/loungelight/POWER: Մենք կարող ենք օգտագործել այս ծածկույթը մեր ֆունկցիոնալության բացը: Սկզբնական կարգավորման համակարգը կհամաժամացվի բոլոր գրանցված օգտվողների հետ, բայց չի համաժամացվի Sonoff անջատիչի կոճակը սեղմելով կատարված անջատիչների փոփոխությունների հետ: Այսպիսով, այժմ stat/loungelight/POWER mqtt մուտքի հանգույցի ելքը միացրեք անջատիչի մուտքին (LHS): Այժմ կրկնակի կտտացրեք անջատիչին և հանեք «եթե msg- ը հասնում է մուտքի վրա, անցեք ելքի վրա» նշանին: Սա բերում է մի քանի նոր տարբերակներ. Ընտրեք «անջատիչի պատկերակը ցույց է տալիս մուտքի վիճակը»: Տեղակայել. Այսպիսով, այժմ մենք ունենք լավ հետադարձ կապ: Վահանակի անջատիչի դիրքը միշտ կփոխվի, երբ Sonoff անջատիչը փոխվի, անկախ այն բանից, թե որտեղ է տեղի ունեցել փոփոխությունը:

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

Քայլ 8. Ընդլայնման նախնական քայլեր

Ես ունեմ ևս մեկ հրահանգելի տնային ավտոմատացման Sonoff-Tasmota սենսորների LED- ների զարգացման տախտակ, որը ցույց է տալիս Sonoff-Tasmota որոնվածի հետագա հնարավորությունները.

Idityերմաստիճանի և խոնավության չափում

Ներխուժողների հայտնաբերում (անջատիչի մուտքագրում)

IR հեռակառավարիչ (հեռուստացույցների համար և այլն)

LED լարեր ՝ ինչպես RGB, այնպես էլ NeoPixel (անհատապես հասցեավորվող)

I2C տվիչներ

Վերոնշյալի համար ես օգտագործում եմ ESP12F և սովորական PCB: Հավասարապես կարող են օգտագործվել NodeMCU- ն և տախտակը: Սա հնարավորություն է տալիս այս լրացուցիչ գործառույթներին առանց Sonoff սարքի միացման, և, հետևաբար, շատ ավելի անվտանգ մոտեցում է: Theերմաստիճանի մուտքագրմամբ ես կարողացա ավարտել իմ էլեկտրական ծածկոցների ավտոմատացումը:

Երաժշտությունը և ինտերնետային ռադիոն հեշտությամբ կարող են ավելացվել: Սա հնարավորություն է տալիս որոշակի կայաններ կամ ալբոմներ միացնել սահմանված ժամերին կամ գուցե ի պատասխան այցելուի (հեռախոսի) հայտնաբերման: Այս առնչվող հրահանգը գտնվում է բարձրորակ երաժշտական նվագարկիչում և սմարթֆոնների վերահսկմամբ ինտերնետային ռադիոյով: Քանի որ սա նույնպես առաջնորդվում է Node-RED- ով, նույնիսկ պետք է հնարավոր լինի ունենալ մեկից ավելի ձայնային համակարգ և օգտագործել դրանք MQTT հաղորդակցության համար:

Ես նաև ուսումնասիրում էի Node-Red- ը ՝ ներառյալ նամակներ ուղարկելը և ձայնային ահազանգեր կատարելը: Կա նաև համակարգի ներուժը հայտնաբերելու ներուժի/ելքի ժամանակ `բջջային հեռախոսի IP հասցեով պինգ անելով: Node -Red- ը կարող է նաև մուտք գործել եղանակ և նորություններ, այնպես որ կարելի է ավելացնել տեղեկատվություն, ինչպես նաև կատարել ավտոմատացում:

Պետք է սովորել մի քանի հնարք, բայց դրանք երկրորդ անգամ հեշտությամբ դառնում են մեռած:

Մեկ այլ պողոտա ցուցափեղկին ցուցադրելու համար pi- ին ցուցադրում է ավելացնում: Սա «ընթացքի մեջ է», կամ այլ կերպ ասած, ես այնքան էլ գոհ չեմ: Ստացած էկրանը դժվար է պտտել դիմանկարային ռեժիմի, իսկ Chromium դիտարկիչը ցավոտ դանդաղ է: Այլընտրանք կլինի ebay- ում հին պլանշետ վերցնելը և օգտագործել այն: Ես կարող եմ փորձել Pi 2 -ով և տեսնել, թե արդյոք դա բավականաչափ բարելավում է բերում (B մոդելը օգտագործվում է այս զարգացման համար):

Հուսով եմ, որ սա ձեզ սկսում է սկսել և ձեր երևակայությունը բզզում է: Պոտենցիալ շրջանակը հսկայական է: Անհրաժեշտության դեպքում կարելի է նույնիսկ փոփոխել Sonoff ծածկագիրը այլ սենսորների համար:

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

Մայք

Քայլ 9. Լրացում - Բեռնում Raspbian Stretch Lite- ից

Այս տարբերակը խուսափում է bloatware- ից, որը գալիս է Raspbian Stretch- ի ամբողջական տարբերակով: Դրա մեծ մասը անհրաժեշտ չի լինի, երբ Pi- ն օգտագործում եք տան ավտոմատացման համար: Այնուամենայնիվ, Node-Red- ը պետք է տեղադրվի:

Շարունակեք ինչպես 1 -ին քայլում, բայց ավելի շուտ օգտագործելով Raspbian Stretch Lite- ը, քան Raspbian Stretch- ը:

Քայլ 2 -ի փոխարեն կատարեք հետևյալը.

sudo apt -y տեղադրել npm

npm -v- ը պետք է վերադառնա ՝ 1.4.21 կամ ավելի ուշ

sudo npm տեղադրել -g n

sudo n 8.9.0

Այժմ մենք կարող ենք օգտագործել հանգույցների փաթեթի կառավարիչ ՝ Node-Red- ը տեղադրելու համար.

sudo npm տեղադրել node-red-գլոբալ-unsafe-perm

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

Այժմ մենք ունենք Node-Red և դրա օժանդակ փաթեթները տեղադրված և կարող ենք անցնել Քայլ 3 ՝ բեռնելով մոծակների:

Անլար մրցույթ
Անլար մրցույթ
Անլար մրցույթ
Անլար մրցույթ

Երկրորդ տեղ զբաղեցրած անլար մրցույթում

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