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

Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով. 11 քայլ (նկարներով)
Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով. 11 քայլ (նկարներով)

Video: Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով. 11 քայլ (նկարներով)

Video: Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով. 11 քայլ (նկարներով)
Video: Ինչ տեղի կունենա 10 րոպե անց, եթե տանը դափնու տերև վառես… 2024, Նոյեմբեր
Anonim
Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով
Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով
Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով
Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով
Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով
Էժան և արդյունավետ տան ավտոմատացում Raspberry Pi- ով

Ես միշտ ցանկացել եմ, որ կարողանամ անլար կառավարել լույսերը, բայց առևտրային տարբերակները սովորաբար թանկ են: Philips Hue- ի լույսերը կարժենան մոտ 70 դոլար, իսկ WiFi- ով միացված լույսերը նույնպես թանկ են: Այս ձեռնարկը ձեզ կասի, թե ինչպես կառավարել մինչև հինգ լույս/լամպ/Սուրբ Christmasննդյան լուսամփոփներ մոտ 50 դոլարով և կարող է ընդլայնվել ՝ ներառելով նաև ավելի շատ լույսեր:

Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի

Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա

Նյութեր:

Raspberry Pi Zero W (անլար թողարկում)

Micro SD քարտ (առնվազն 4 գբ)

Մինի HDMI- ից HDMI մալուխ/փոխարկիչ (կա տարբերություն մինի և միկրոյի միջև, համոզվեք, որ ձեռք բերեք ճիշտը):

Միկրո USB USB մալուխ/փոխարկիչ

USB ստեղնաշար

Նշում. Ես Amazon- ից ստացել եմ Raspberry Pi Zero W մեկնարկային հավաքածու, որն ուղեկցվել է Raspberry Pi Zero W- ով, SD քարտով, պատյանով, հոսանքի մալուխով, HDMI փոխարկիչով և USB փոխարկիչով: Ընդամենը 30 դոլարով դա բավականին լավ տարբերակ է (հղում)

Դուք կարող եք օգտագործել Raspberry Pi- ի այլ մոդել, սակայն Raspberry Pi- ն պետք է ունենա ինտերնետ կապի որևէ ձև, իսկ Pi Zero W- ն ամենաէժան տարբերակն է:

Հեռակա վարդակներ - ես դրանք օգտագործել եմ

ՌԴ հաղորդիչ և ընդունիչ (Նշում. Հաղորդիչի/ստացողի հաճախականությունը պետք է համապատասխանի հեռավոր վարդակների հաճախականությանը) - ես դրանք օգտագործել եմ

Հաղորդալար ալեհավաքի համար (ես օգտագործել եմ 22 չափիչ պինդ միջուկի պղնձե մետաղալար, այլ մետաղալարերը կարող են աշխատել)

Breadboard, Jumper մետաղալարեր, 40 պին տղամարդ-արու վերնագիր

Softwareրագրային ապահովում:

Raspberry Pi OS (Ներբեռնեք Raspbian Desktop)

Etcher սկավառակի պատկերիչ (Pi OS- ն SD քարտին գրելու համար)

Գործիքներ:

Sոդման երկաթ

Համակարգիչ Pi OS և Etcher բեռնելու համար

Քայլ 2: Կարգավորեք վարդակները

Ստեղծեք վարդակներ
Ստեղծեք վարդակներ
Ստեղծեք վարդակներ
Ստեղծեք վարդակներ

Սկսեք վարդակները միացնելով վարդակից: Հետևեք ներառված հրահանգներին `դրանք կարգավորելու համար և միացրեք լույսերը/սարքերը: Համոզվեք, որ ձեր հեռակառավարիչը ճիշտ է զուգակցված և վերահսկում է վարդակները:

Քայլ 3: Ստեղծեք PubNub հաշիվ

PubNub- ը անվճար ինտերնետ սերվեր է, որը թույլ է տալիս շփվել սարքերի միջև ՝ աշխարհի ցանկացած վայրում: Պիթոնի սցենարը հաղորդագրություններ է ստանում վեբ էջից և օգտագործում է հաղորդագրության մեջ եղած տեղեկությունները ՝ լույսերը միացնելու կամ անջատելու համար: Դուք կարող եք գրանցվել ձեր անվճար հաշվի համար այստեղ: Գրանցվելուց հետո մուտք գործեք ձեր հաշիվ: Սա ձեզ կբերի հավելվածների կառավարման էջ: Կտտացրեք «Ստեղծել նոր ծրագիր»: Appրագրին տվեք անուն, այնուհետև ընտրեք այն ծրագրերի ցանկից (Եթե սա ձեր առաջին ծրագիրն է, այն միակը կլինի) Սա ձեզ կբերի ծրագրի բանալիների էջ: Կտտացրեք «Դեմո ստեղնաշարի» վրա և կտեսնեք երեք տարբեր բանալիներ: Շարունակեք այս էջը, ավելի ուշ ձեզ հարկավոր կլինեն այս բանալիները: Այժմ, երբ ունեք ձեր PubNub հաշիվը, կարող եք կարգավորել ձեր ազնվամորու pi- ն:

Քայլ 4: Պատրաստեք ազնվամորի Պի

Ներբեռնեք Etcher- ը և Raspberry Pi OS- ն ձեր համակարգչին (հղումները մասերի ցանկում)

Տեղադրեք Etcher ձեր համակարգչի վրա և բացեք (անհրաժեշտության դեպքում) Raspberry Pi OS- ն: Տեղադրեք ձեր Micro SD քարտը ձեր համակարգչի մեջ և բացեք Etcher: Կտտացրեք «Ընտրել պատկեր» և նավարկեք դեպի չբեռնված Raspberry Pi OS ֆայլ: Ընտրեք այն, այնուհետև կտտացրեք «Ընտրել սկավառակ» և ընտրեք ձեր միկրո SD քարտը ցուցակից: Կտտացրեք «Flash» և սպասեք Etcher- ի ավարտին: Etcher- ի ավարտից հետո հեռացրեք ձեր SD քարտը ձեր համակարգչից (Etcher- ն ինքնաբերաբար դուրս է հանում այն) և տեղադրեք այն ձեր Raspberry Pi- ի մեջ: Այս պահին ձեզ հարկավոր կլինի ձեր Raspberry Pi- ն միացնել մոնիտորին HDMI փոխարկիչով: Միացրեք ստեղնաշարը (և մկնիկը, եթե ունեք մի քանի USB հանգույց) և միացրեք հոսանքի մալուխը: Կան երկու միկրո USB պորտեր: Մեկը էներգիայի համար է, մյուսը `իրական USB պորտ: Pi- ի ծայրին ամենամոտը էներգիան է, իսկ կեսին `USB- ը: Ձեր ազնվամորի pi- ն այժմ կսկսի բեռնվել: Այն կարող է մի քանի անգամ վերագործարկվել առաջին բեռնման ընթացքում, բայց դա նորմալ է: Երբ ձեր ազնվամորի pi- ն սկսվի, միացրեք այն ձեր WiFi- ին: Այն WiFi- ին միացնելուց հետո կարող եք օգտագործել SSH սերվեր, բայց ինձ համար այժմ ավելի հեշտ է օգտագործել GUI- ն: Բացեք տերմինալի պատուհան և մուտքագրեք հետևյալ հրամանները.

sudo pip3 տեղադրել 'pubnub == 3.9.0'

cd git clone git: //git.drogon.net/wiringPi git clone

sudo git կլոն

sudo chown root.root/var/www/rfoutlet/codesend sudo chmod 4755/var/www/rfoutlet/codesend

cd էլեկտրագծեր

./ կառուցել

Այժմ, բացեք Raspberry Pi ֆայլերի դիտարկիչը և կտեսնեք pi-home-automation թղթապանակը: Կրկնակի սեղմեք դրա վրա, և դուք պետք է տեսնեք մի ֆայլ, որը կոչվում է RFControl.py: Պատճենեք այն (հակառակ կտտոցով և ընտրեք «Պատճենել»), այնուհետև վերադարձեք pi թղթապանակ և տեղադրեք այնտեղ:

Անջատեք ձեր ազնվամորու pi- ն (կա՛մ ընտրացանկից, կա՛մ հրամանի տողից sudo poweroff- ով գործարկելով) և անջատեք այն, երբ կանաչ լույսը դադարի բռնկվել:

Քայլ 5: Շղթայի ստեղծում

Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում

Այժմ ժամանակն է ստեղծել միացում: Ես օգտագործեցի տախտակ, բայց դուք կարող եք դա անել, ինչպես ցանկանում եք:

Նախ, մենք պետք է ալեհավաք ստեղծենք ՌԴ հաղորդիչի համար: Այս ուսանելի ձեռնարկը պատմում է, թե ինչպես պատրաստել ալեհավաք ՌԴ հաղորդիչի համար: Հետևեք հրահանգներին, այնուհետև այն կպցրեք հաղորդիչի ալեհավաքի քորոցին (այն, ինչ ես օգտագործել էի, պիտակավորված էր ANT), հաղորդիչին ամենամոտ կարճ կողմով

Լարել հաղորդիչը

Հաղորդիչը օգտագործում է հետևյալ կապերը.

ՏՎՅԱԼՆԵՐ. GPIO 17, Ֆիզիկական փին 11

VCC: Ազնվամորի Pi 5v, Ֆիզիկական քորոց 2

GND: Ազնվամորի Pi GND, ֆիզիկական քորոց 6

Լարել ընդունիչը

Ստացողը օգտագործում է այս կապերը.

GND: Ազնվամորի Pi GND, ֆիզիկական կապ 9

VCC: Ազնվամորի Pi 5v, Ֆիզիկական քորոց 4

ՏՎՅԱԼՆԵՐ. GPIO 27, Ֆիզիկական կապ 13 (Իմ օգտագործած ընդունիչի վրա երկու տվյալների կապ կա, և ես օգտագործել եմ VCC- ին ամենամոտ մեկը)

Քայլ 6: Ստացեք ձեր ՌԴ կոդերը

Ստացեք ձեր ՌԴ կոդերը
Ստացեք ձեր ՌԴ կոդերը

Շղթան ձեր Raspberry Pi- ին ամրացնելուց հետո երկու անգամ ստուգեք այն `համոզվելու համար, որ ամեն ինչ տեղում է, այնուհետև նորից միացրեք այն: Միացնելուց հետո բացեք տերմինալը և մուտքագրեք

sudo/var/www/rfoutlet/RFSniffer

Հաջորդը, բացեք RFControl ծրագիրը: Տերմինալի պատուհանը և ծրագրի պատուհանը կողք կողքի դնելը կարող է օգտակար լինել հաջորդ քայլին:

Այժմ ձեզ հարկավոր կլինի հեռակառավարման վահանակը, որը ներառված էր վարդակից: Պահեք այն ընդունիչին մոտ և սեղմեք յուրաքանչյուր առանձին կոճակ: Երբ սեղմում եք կոճակը, կտեսնեք էկրանին տպված երկու թվեր: Դրանցից մեկը կլինի վեց կամ յոթանիշ կոդ, իսկ մյուսը ՝ եռանիշ կոդ: Willրագրում պետք է խմբագրեք ծածկագրերի բառարանը: Enterրագրում համապատասխան անջատիչի տեղը մուտքագրեք 7 նիշանոց կոդը, և միացման/անջատման յուրաքանչյուր կոճակի համար տեղադրեք եռանիշ կոդը (սա երկարությունն է) ծրագրի համապատասխան անջատիչի len- ում:

Օրինակ, եթե միացված 1 -ը ունի 1234567 կոդ, անջատված կոդ ՝ 7654321 և երկարություն ՝ 890, ծածկագիրն այսպիսի տեսք կունենա.

ծածկագրեր = {

'switch1': {'on': 1234567, #Սա անջատիչ 1 -ն է 'off': 7654321, #սա անջատիչն է 1 անջատված 'len': 890, #սա անջատիչի 1 կոդի երկարությունն է}, 'switch2': {… },…}

Կրկնեք սա յուրաքանչյուր կոճակի համար: Մինչ խմբագրում եք այս ֆայլը, փոխեք «YOUR-SUB-KEY» տողերը ձեր PubNub բաժանորդագրման բանալին, իսկ «YOUR-PUB-KEY»-ը ՝ ձեր հրապարակման բանալին:

Յուրաքանչյուր կոճակ գրանցվելուց հետո կարող եք անցնել հաջորդ բաժին:

Քայլ 7: ningրագրի գործարկում

Runրագրի վարում
Runրագրի վարում

Այժմ, երբ դուք ունեք ձեր բոլոր ծածկագրերը, գնացեք այս GitHub էջին (ձեր համակարգչում, այլ ոչ թե ազնվամորու pi) և կտտացրեք կանաչ կոճակին, որն ասում է «Clone or download», այնուհետև կտտացրեք «Ներբեռնել ZIP»: Այս ֆայլը ներբեռնելուց հետո բացեք այն և բացեք թղթապանակը: Բացեք main.js. անունով ֆայլը: Willրագրում պետք է մուտքագրեք ձեր բաժանորդագրման և հրապարակման բանալիները ՝ փոխարինելով «YOUR-PUB-KEY»-ը ձեր հրապարակման բանալիով և «YOUR-SUB-KEY»-ը ՝ ձեր բաժանորդագրության բանալիով:

Հաջորդը, վերադարձեք ձեր Raspberry Pi և մուտքագրեք

python3 RFControl.py

Երբ այն տպում է «Պատրաստ է», վերադառնաք ձեր համակարգիչ և բացեք index.html ֆայլը վեբ դիտարկիչում ՝ հակառակ սեղմումով, ընտրեք «Բացել» և ընտրեք ձեր նախընտրած դիտարկիչը: Դուք պետք է տեսնեք 5 կոճակի 2 սյունակ, որոնց միջև կան անջատիչների անուններ: Սեղմեք ցանկացած կոճակ: Եթե այն ճիշտ է վերահսկում վարդակը, հիանալի է: Եթե ոչ, ահա փորձելու մի քանի բան.

  1. Համոզվեք, որ Raspberry Pi- ն հաղորդագրություններ է ստանում: Այն պետք է տպվի էկրանին, երբ այն ստանում է հաղորդագրություն վեբ էջից: Եթե ոչ, համոզվեք, որ ձեր բաժանորդագրության/հրապարակման բանալիները ճիշտ են:
  2. Եթե Raspberry Pi- ն հաղորդագրություններ է ստանում, համոզվեք, որ ձեր ՌԴ կոդերը ճիշտ են: Համոզվեք, որ ձեր վարդակները զուգորդված են ձեր հեռակառավարման վահանակի հետ, ձեր հեռակառավարման վահանակը կարող է դրանք կառավարել, և որ ծրագրում մուտքագրված կոդերը ճիշտ են:
  3. Եթե ՌԴ կոդերը ճիշտ են, համոզվեք, որ ձեր Raspberry Pi- ն գտնվում է վարդակների տիրույթում: Եթե նրանք սկսում են աշխատել այն ավելի մոտեցնելուց հետո, գուցե անհրաժեշտ լինի նորից կատարել ձեր ալեհավաքը:
  4. Եթե նրանք դեռ չեն աշխատում, խնդրում եմ ասեք ձեր խնդիրը մեկնաբանություններում, և ես կփորձեմ օգնել դրան:

Քայլ 8: Գործարկում գործարկման ժամանակ

Ձեր python ծրագիրը գործարկման սկզբում գործարկելու համար մուտքագրեք սա ձեր ազնվամորի pi տերմինալի մեջ.

crontab -e

Հաջորդը, գնացեք ֆայլի ներքևում և մուտքագրեք սա.

@reboot python3 /home/pi/RFControl.py &

Սա կստիպի ձեր Python սցենարը գործարկել ամեն անգամ գործարկման ժամանակ: Այժմ վերագործարկեք ձեր Raspberry Pi- ը:

Քայլ 9: Ավելի շատ անջատիչների ավելացում

Լրացուցիչ անջատիչների ավելացում
Լրացուցիչ անջատիչների ավելացում

Եթե ցանկանում եք ավելացնել ավելի շատ վարդակներ, հետևեք այս հրահանգներին.

Բացեք RFControl.py ձեր Raspberry Pi- ի վրա և նոր անջատիչ ավելացրեք անջատիչների բառարանին:

Օրինակ:

անջատիչներ = {

… Այլ անջատիչներ… 'NAME-OF-SWITCH': {'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz,},}

Հաջորդը, ձեր վեբ հավելվածում ավելացրեք նոր կոճակ ՝ ձեր համակարգչում խմբագրելով անջատիչների փոփոխականը main.js- ում:

Օրինակ:

var անջատիչներ = [… Հին անջատիչներ… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

Փոխարինեք NAME-TO-DISPLAY- ը այն անունով, որը կցանկանայիք, որ այն ցուցադրվեր վեբ էջում, և NAME-OF-SWITCH երկու ֆայլերի վրա `ինչ որ ձեզ դուր եկավ: Այնուամենայնիվ, այն պետք է յուրահատուկ լինի մյուսներից:

Քայլ 10: Դա ավելի առաջ տանելը

Հետագա տանել
Հետագա տանել

PubNub- ն աջակցվում է բազմաթիվ տարբեր հարթակներում, ինչը նշանակում է, որ կարող եք հաղորդագրություններ ուղարկել գրեթե ցանկացած սարքից: Ես օգտագործել եմ Raspberry Pi AIY Voice հավաքածուն և PubNub- ը ՝ ձայնով հրամաններ ուղարկելու համար, բայց դա կարող է լինել ավելի ուշ հրահանգի թեման: Շնորհակալություն իմ Instructable- ը կարդալու համար: Հուսով եմ, որ այն օգտակար էր:

Քայլ 11: Վարկեր

Շնորհակալություն Թիմ Լելանդին ՌԴ հաղորդիչ ստեղծելու ձեռնարկի համար. Ձեռնարկ

Շնորհակալություն diy_bloke- ին ալեհավաք ստեղծելու ձեռնարկի համար. Ձեռնարկ

Շնորհակալ եմ նաև այն բոլոր մյուսներին, ովքեր տեղադրեցին ձեռնարկներ առցանց, որոնք ես դիտեցի օգնության համար:

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