Բովանդակություն:
- Քայլ 1: Սարքավորումներ և միացումներ
- Քայլ 2: PI- ի կարգավորում
- Քայլ 3: Ներբեռնեք և կազմեք ծածկագիրը
- Քայլ 4: Օգտագործելով այն
- Քայլ 5: Ինչպես է գործում ծածկագիրը
- Քայլ 6: Անհատականացում և ընկերական անուններ
Video: Alexa Raspberry Pi ռելեի վերահսկիչ ՝ 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Ես ստեղծեցի այս Instructable- ը `կիսելու իմ փորձը IOT սարքերը Amazon- ի Alexa- ի հետ:
Այս նախագիծը թույլ է տալիս ազնվամորի պիին միացված ռելեային տախտակին կառավարել smarthome վերահսկիչից:
Այն փորձարկվել է Alexa- ի հետ, բայց, կարծես, լավ է աշխատում նաև Samsung Smartthings- ի և կառավարման այլ միջերեսների հետ, քանի որ այն ընդօրինակում է Belkin Wemo վարդակների մի շարք:
Կան բազմաթիվ օրինակներ, որոնք հիմնված են FAUXMO հիանալի ծածկագրի վրա, բայց դա նշանակում էր պիթոն սովորել և ինձ չտրամադրեց իմ սարքերի համար անհրաժեշտ մանրամասն վերահսկողությունը, ուստի որոշեցի զրոյից նորից ստեղծել մեկը ՝ օգտագործելով C- ն ՝ որպես իմ հիմնական կոդավորման լեզու:
Ես նաև չէի ուզում գնալ Amazon.com- ի lambda ծածկագրի խորքերը, ուստի այն իսկապես պարզ պահեցի:
Ես տեղադրել եմ աղբյուրը և գրառումները Github- ում.
github.com/Switchdoctorstu/StuPiMo
Ուսումնական ձեռնարկը, իրոք, պետք է լուսաբանի, թե ինչպես այն սկսել աշխատել և հրապարակել իմ գրառումները, եթե դա օգնի ուրիշներին:
Քայլ 1: Սարքավորումներ և միացումներ
Ձեզ անհրաժեշտ բաները մատչելի են Amazon / EBay- ում.
- Ազնվամորի PI *
- Pi էներգիայի մատակարարում
- Dupont միակցիչներ
- Ռելեային տախտակ
- Հին միկրո USB միակցիչ (ռելեի քարտի հզորությունը կիսով չափ կրճատելու համար)
Raանկացած ազնվամորի Pi կաշխատի, ես դա փորձարկել եմ B և Zero մոդելների վրա:
*Pi Zero- ից օգտվելու դեպքում ձեզ հարկավոր կլինի OTG ցանցի ադապտեր (եթե չեք գնում «W» տարբերակը WiFi- ի միջոցով)
Դուք պետք է միացնեք Pi ցանցին:
Օգտագործեք dupont connetors- ը `ռելեի քարտը Pi- ին միացնելու համար:
Ուշադրություն դարձրեք, որ ռելեի քարտը պետք է օգտագործի արտաքին էներգիա (հեռացրեք հղումը և միացեք արտաքին 5 վ -ին): Այն կաշխատի PI- ից սնուցվող, սակայն խորհուրդ չի տրվում արտադրել այն:
Իմ տեղադրման համար ես օգտագործեցի արտաքին սնուցման USB HUB: Սա ուժ է տալիս PI- ին:
Ես նաև կտրեցի հին USB մալուխի ծայրը և ռելեները սնուցեցի 2 -րդ USB միացումից դեպի հանգույց `ապահով մնալու համար: Իմ «արտադրության» տարբերակը օգտագործում է փոքր 5V 5A անջատիչ ռեժիմի սնուցման աղբյուր: Կրկին ես կիսով չափ USB միակցիչ կտրեցի ՝ Pi- ն Micro-USB- ի միջոցով սնուցելու համար և կտրեցի երկու dupont միակցիչները `ռելեի տախտակը սնուցելու համար: USB լարում կա 4 լար, որոնցից շատերն օգտագործում են կարմիր/սև ՝ 5 վ լարման հաղորդումը նշելու համար, բայց եթե կասկածի դեպքում օգտագործում են մետր ՝ համոզվելու համար, որ ճիշտ լարերը ստացել եք:
Գրատախտակին տեղադրված ռելեի կապերը միացված են PI վերնագրի համապատասխան GPIO կապերին:
Կոդը թույլ է տալիս ընտրել GPIO կապում, բայց կանխադրվածը, որն օգտագործել եմ, հետևյալն էր.
- Էստաֆետա 1 - գետնին
- Էստաֆետա 2 - Ռելե 1 - GPIO 0
- Էստաֆետա 3 - Ռելե 2 - GPIO 1
- Էստաֆետա 4 - Ռելե 3 - GPIO 2
- Էստաֆետա 5 - Ռելե 4 - GPIO 3
- Էստաֆետա 6 - Ռելե 5 - GPIO 4
- Էստաֆետա 7 - Ռելե 6 - GPIO 5
- Էստաֆետա 8 - Ռելե 7 - GPIO 6
- Էստաֆետա 9 - Ռելե 8 - GPIO 7
- Ռելեի Pin 10 - +5v տրամաբանության համար
Քայլ 2: PI- ի կարգավորում
Ես չեմ պատրաստվում նորից ստեղծել ձեռնարկ, թե ինչպես կարելի է գործարկել ձեր PI- ն և միանալ ցանցին:
Կան բազմաթիվ ուղեցույցներ, ներառյալ հիանալի ուսուցանվող ՝
www.instructables.com/id/Ultimate-Raspberr…
Ձեզ հարկավոր է հասնել այն կետին, երբ PI- ն տեսանելի է ցանցում և կարող եք միանալ դրան:
Կարևոր չէ ՝ դա Ethernet- ով է, թե անլար:
Այս նախագիծը կարող է ավարտվել միայն Raspberry PI- ով ՝ օգտագործելով Geany Programmers Editor- ը, բայց ես անձամբ ավելի հեշտ եմ համարում համակարգչում կոդերի պատրաստումը Visual Studio- ի կամ Eclipse- ի (կամ նույնիսկ Notepad ++) միջոցով, այնուհետև այն վերբեռնել PI ՝ կարգաբերման միջոցով: VNC միացում: Կրկին ես չեմ պատրաստվում դա լուսաբանել այստեղ, քանի որ կան շատ հիանալի հրահանգներ VPC- ի վրա RPi- ի տեղադրման վերաբերյալ:
Ձեզ անհրաժեշտ է միայն հասնել այն կետին, որտեղ կարող եք վերբեռնել և կազմել ծածկագիրը:
Կարևոր է նշել, որ քանի որ UPNP կարգավորիչը պահանջում է UDP մուլտիմաստավորում, օգտագործվող միջերեսները պետք է սահմանվեն «Անառարկելի» ռեժիմի:
Դա կարելի է անել հրամանի տողում.
pi@raspberrypi: if $ ifconfig eth0 promisc
և / կամ
pi@raspberrypi: if $ ifconfig wlan0 promisc
Սա պետք է մշտական դարձնել, այնպես որ ես խմբագրել եմ /etc/rc.local- ը
sudo nano / etc / rc.local
տողը ներառելու համար.
sudo ifconfig eth0 promisc
դրոշի # տողերի առաջին փաթեթից հետո `ապահովելու համար, որ միջերեսները տեղադրված են գործարկման ժամանակ:
Քայլ 3: Ներբեռնեք և կազմեք ծածկագիրը
Կոդն ինքնին տեղավորված է իմ Github repsoitory- ում.
github.com/Switchdoctorstu/StuPiMo/blob/ma…
մինչդեռ պահեստը կլոնավորելու «ճիշտ» եղանակներ կան: Ես ավելի հեշտ գտա պարզապես բացել Geany խմբագրիչը Pi աշխատասեղանին և տեղադրել կոդը:
Նմանապես, եթե դուք օգտագործում եք հրամանի տողը.
Ստեղծեք նոր գրացուցակ
mkdir Stu
Փոխել դրան
cd Ստու
Ստեղծեք նոր տեքստային ֆայլ
նանո StuPiMo.c
Պատճենեք ծածկագիրը Github- ից և տեղադրեք այն նոր ֆայլում
Պահել և դուրս գալ:
Երբ ֆայլը ունենաք C աղբյուրի կոդի օբյեկտ, կարող եք այն կազմել ՝ օգտագործելով
gcc -o StuPiMo StuPiMo.c -l wiringPi
նշեք, որ «-l wiringPi»-ն անհրաժեշտ է ապահովելու համար, որ կոմպիլյատորը կապի պահանջվող wiringPi գրադարանում:
Կոդն այնուհետև կարող է գործարկվել ՝ օգտագործելով
./StuPiMo
Կրկին, եթե ցանկանում եք, որ սա գործարկվի գործարկման ժամանակ, օգտագործեք հրամանը.
sudo nano /etc/rc.local
ավելացնել հետևյալ տողը
sudo/home/pi/Stu/StuPiMo &
ձեր /etc/rc.local ֆայլին: Մի մոռացեք պահել ձեր ֆայլը ելքի վրա:
Նկատի ունեցեք, որ «&»-ն էական նշանակություն ունի ՝ ենթածրագրի ստեղծման համար, որպեսզի ապահովվի, որ սցենարը այս պահին արգելափակված չէ:
Քայլ 4: Օգտագործելով այն
Երբ գործարկեք կոդը, խնդրեք alexa- ին «Բացահայտեք սարքերը», և նա պետք է գտնի վիրտուալ Wemo սարքերի բոլոր 8 -ը:
Այնուհետև դա ընդամենը մի դեպք է, երբ ասում են. «Alexa միացրեք վարդակից 1» կամ «Alexa անջատեք վարդակից 6» և այլն, և համապատասխան ռելեն կփոխվի:
Քայլ 5: Ինչպես է գործում ծածկագիրը
Կոդն աշխատում է ընդօրինակելով մի շարք Belkin Wemo վարդակների սարքեր:
Դրան հասնելու համար այն պետք է կատարի 2 հիմնական գործառույթ
- UPNP հայտնագործությունների հեռարձակման կառավարիչ
- «սարքի կառավարիչ» (մեկ վիրտուալ սարքի համար) ՝ սարքին ուղարկված հրամանները և պահանջվող պատասխանները կառավարելու համար:
«Բոնուս» գործառույթն այն է, որ այն նաև հրապարակում է վեբ էջ, որը թույլ է տալիս վերահսկել սարքերը:
UPNP կառավարիչ
UPNP կարգավորիչը բացում է վարդակ ՝ SSDP արձանագրության փաթեթները վերահսկելու համար 239.255.255.250 1900 նավահանգստում:
Այն պատասխանում է «M-SEARCH»-ի ցանկացած հարցմանը, որը գալիս է հայտնագործման պատասխան փաթեթով, որը հայտարարում է wemo- ի անհատական էմուլյատորներին բոլոր նրանց, ովքեր հարցնում են:
Սարքի կառավարիչ
Սարքի մշակողները (մեկը վիրտուալ սարքի համար) վերահսկում են մի շարք IP պորտեր և արձագանքում են հարցումների:
Այն կծառայի setup.xml- ի պատասխանի դեպքում
Հարցման դեպքում այն կծառայի իրադարձության նկարագրության ֆայլին
Այն կպատասխանի GETBINARYSTATE- ի հարցմանը
Այն կմշակի և կարձագանքի SETBINARYSTATE- ի հարցմանը
Վեբ սերվեր
Վեբ սերվերը պարզ ռեժիմ է, որը կառուցում է HTML ձև, որը պարունակում է մեկ ռելեի կոճակ:
Այն կարձագանքի սեղմված կոճակներին և համապատասխանաբար կփոխի ռելեի վիճակը:
Քայլ 6: Անհատականացում և ընկերական անուններ
Ես չեմ խելագարվել կոդի վրա `այն պարզ և խմբագրելի պահելու համար:
Հիմունքները կարող են հարմարեցվել ծածկագրի սկզբում սահմանումներով.
// գլոբալ սահմանումներ#սահմանել WEBPORT 5353 // պորտ ՝ վեբ սերվերը գործարկելու համար
#սահմանեք NUMDEVICES 8 // Ստեղծելու համար վիրտուալ սարքերի քանակը
#սահմանեք ՄՈORTՏՔԱՅԻՆ 43450 // բազային IP նավահանգիստ ՝ ավելացնելու համար
WEBPORT- ը նավահանգստի համարն է, որի վրա ներկառուցված վեբ սերվերն աշխատում է: Սա կարող է նստել 80 -ի վրա ՝ ամեն ինչ հեշտացնելու համար, բայց ես պարզեցի, որ այն հակասում է կատուների կամ տեղական ծառայությունների հետ:
NUMDEVICES- ը սահմանում է գործարկման ենթակա WEMO- ի առանձին էմուլյատորների քանակը: Եթե ունեք 2 պորտի ռելեի քարտ, ապա սահմանեք այն 2, 4 նավահանգիստ = 4 և այլն:
Սարքերի բարեկամական անունները սահմանվում են ռեժիմում, որը կոչվում է setup_names:
int setup_names (char char [NUMDEVICES] [NAMELEN]) {int i = 0;
// օգտագործել այս հանգույցը
համար (i = 0; i <NUMDEVICES; i ++) {
sprintf (ընկերական , «Socket %d», i + 1);
}
// կամ հետևյալ ձեռնարկի աղյուսակը `սարքերի անունները լրացնելու համար
/*
strcpy (ընկերական [0], «Ննջասենյակի հեռուստատեսություն»);
strcpy (ընկերական [1], «Էլեկտրական վերմակ»);
strcpy (ընկերական [2], «Ննջասենյակի լամպ»);
strcpy (ընկերական [3], «վարդակից 4»);
strcpy (ընկերական [4], «վարդակից 5»);
strcpy (ընկերական [5], «վարդակից 6»);
strcpy (ընկերական [6], «վարդակից 7»);
strcpy (ընկերական [7], «վարդակից 8»);
*/
վերադարձնել;
}
Ես օգտագործել եմ մի հանգույց ՝ սարքերից յուրաքանչյուրին «Socket n» կոչելու համար, բայց դուք կարող եք ջնջել այս օղակը և փոխարենը ավելացնել ձեր սեփական ընկերական անունները (պարզապես համոզվեք, որ ավելացնում եք նույն թիվը, ինչպես NUMDEVICES), եթե ջնջեք / * * /
Հիշեք, որ փոփոխություններ կատարելու դեպքում նորից կազմեք ծածկագիրը:
Խորհուրդ ենք տալիս:
Երկու կոճակ ռելեի անջատիչ `3 քայլ
Երկու կոճակ ռելեի անջատիչ. Այս հոդվածը ցույց է տալիս, թե ինչպես կարելի է միացնել և անջատել կոճակը: Այս միացումը կարող է կատարվել երկու անջատիչով: Սեղմում եք մեկ անջատիչի վրա և լամպը միանում է: Սեղմում եք մեկ այլ անջատիչի վրա, և լամպը անջատվում է: Այնուամենայնիվ, այս Ins
RFID Arduino Uno ռելեի անջատիչ, I2C էկրանով ՝ 4 քայլ
RFID Arduino Uno ռելե անջատիչ, I2C էկրանով
Arduino- ի վրա հիմնված ձայնով վերահսկվող IOT ռելեի անջատիչ (Google Home & Alexa Supported). 11 քայլ
Arduino- ի վրա հիմնված ձայնով վերահսկվող IOT ռելեի անջատիչ (Google Home & Alexa Supported). Այս նախագիծը նկարագրում է, թե ինչպես կատարել Arduino- ի վրա հիմնված, ձայնով կառավարվող, IOT ռելեի անջատիչ: Սա փոխանցում է, որը կարող եք միացնել և անջատել ՝ օգտագործելով iOS և Android հավելվածներ, ինչպես նաև այն կապել IFTTT- ին և վերահսկել այն ձեր ձայնով ՝ օգտագործելով Goog
Տնային ավտոմատացում WiFi լույսի անջատիչ ESP-01- ով և ռելեի մոդուլ `սեղմիչ կոճակով` 7 քայլ
Տնային ավտոմատացում WiFi լույսի անջատիչ ESP-01- ով և ռելեի մոդուլ `սեղմման կոճակով. Այսպիսով, Նախորդ ցուցումներում մենք ESP-01- ը ծրագրավորում էինք Tasmota- ով` օգտագործելով ESP Flasher- ը և միացնում ESP-01- ը մեր wifi ցանցերին: Այժմ մենք կարող ենք սկսել դրա ծրագրավորումը: միացնել/անջատել լույսի անջատիչը WiFi- ի կամ սեղմման կոճակի միջոցով: Էլեկտրական աշխատանքի համար
5V ռելեի մոդուլի մոդուլ ՝ Raspberry Pi- ի հետ աշխատելու համար. 4 քայլ
5V Relay Module Mod ՝ Raspberry Pi- ի հետ աշխատելու համար: Այս օրերին իրոք հեշտ է ձեռքը վերցնել ռելեի տախտակին, բայց շուտով կիմանաք, որ դրանցից շատերը նախատեսված են 5V- ի համար, ինչը կարող է խնդիր լինել աղքատ ազնվամորու pi- ի կամ որևէ այլի համար: միկրոկառավարիչ, որն աշխատում է 3.3 Վ լարման վրա, նրանք պարզապես չունեն վոլտա