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

Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով `6 քայլ
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով `6 քայլ

Video: Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով `6 քայլ

Video: Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով `6 քայլ
Video: Aqara S1 ZNCJMB14LM - ինտերակտիվ սենսորային վահանակ և եռագիծ անջատիչ խելացի տան համար 2024, Սեպտեմբեր
Anonim
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով

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

Այս նախագծի համար անհրաժեշտ բաղադրիչներն են.

Պարագաներ

Նախքան սկսելը, սա այն բաներն են, որոնք ձեզ անպայման անհրաժեշտ կլինեն իմ նման Switch-IT տուփ կառուցելու համար: Այս մատակարարումները կարժենան մոտ 50-100 եվրո `կախված ձեր տարածաշրջանից և ընթացիկ գներից:

Սարքավորումներ

Էլեկտրոնիկա

  • Ազնվամորի պի 4
  • 16 գբ (կամ ավելի) Micro SD- քարտ
  • Արդուինո Ունո
  • 5V-3.3V մակարդակի փոխարկիչ
  • 5V ռելեի մոդուլ
  • ACS712 20A - ընթացիկ մոդուլ
  • 1838 IR-Receiver 37.9 կՀց մոդուլ
  • IR հեռակառավարիչ (ես օգտագործում եմ Elegoo մեկը)
  • սովորական կաթոդ RGB
  • 3 * 330Ω ռեզիստորներ
  • սեղմել կոճակը
  • RFID-RC522
  • LCD 1602A-1
  • Niko պատի վարդակից
  • 10K Ω չափիչ
  • 230 -ից 5V - 7A սնուցման աղբյուր

Մալուխներ

  • USB-B- ից USB-A մալուխ
  • USB-C հոսանքի մալուխ
  • Ethernet մալուխ

Բազմազան

  • Արական-իգական Jumperwires
  • Արական-արական Jumperwires
  • Oldոդման անագ
  • Նեղացող խողովակ

Գործի սպեցիֆիկ մասեր (ԸՆՏՐՈԹՅՈՆ)

  • 50 * ընկույզ և համարձակ
  • մետաղյա պատյան 40x40x5 սմ կափարիչով
  • երկկողմանի ժապավեն
  • 6 * 1 սմ բարձրությամբ բացատներ
  • led-holder
  • Velcro ժապավեն
  • մալուխային ուղեցույցներ

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

  • balenaEtcher:
  • PuTTy
  • ռասբյան
  • Visual Studio կոդ
  • Arduino IDE

Քայլ 1: Կարգավորեք Rasbian- ը

Կարգավորել Rasbian- ը
Կարգավորել Rasbian- ը
Կարգավորել Rasbian- ը
Կարգավորել Rasbian- ը

Առաջին հերթին մենք Rasbian- ը կթափենք SD- քարտի վրա: Մենք դա կանենք ՝ օգտագործելով balenaEtcher:

  1. Բացեք balenaEtcher- ը
  2. Ընտրեք Rasbian Image- ը
  3. Ընտրեք ձեր SD քարտը
  4. Սեղմեք Flash և սպասեք մի քանի րոպե, մինչև այն բռնկվի

Բեռնման գրացուցակում APIPA- ի ավելացում. Մենք APIPA հասցեով կօգտագործենք RPI- ի կարգավորումները ծրագրավորելու և կազմաձևելու համար: Անել դա:

  1. Մուտք է գործում SD քարտի բեռնախցիկի գրացուցակում
  2. Բացեք «cmdline.txt»
  3. Փաստաթղթի վերջում ավելացրեք «169.254.10.1» և պահեք այն
  4. Բեռնման գրացուցակում ավելացրեք «ssh» անունով ֆայլ (ՄԻ ՏԱԼ ԱՅՍ ՖԱՅԼԻ ԼՐԱՈՈԹՅՈՆ)
  5. Դա անելուց հետո կարող եք SD քարտը հեռացնել ձեր համակարգչից:

Միանում է RPI- ին ՝ օգտագործելով PuTTy

Այժմ մենք կարող ենք միացնել SD քարտը մեր RPI- ին, միացնել RPI- ն ձեր համակարգչին `օգտագործելով Ethernet մալուխ:

RPI- ին միանալու համար մենք PuTTy- ն կօգտագործենք մեր APIPA հասցեով:

  1. Բացեք PuTTy- ն
  2. Լրացրեք մեր APIPA- հասցեն որպես հյուրընկալողի անուն (169.254.10.1)
  3. Համոզվեք, որ նավահանգիստը 22 է և ընտրված է SSH
  4. Այժմ կարող եք բացել կապը
  5. Կանխադրված օգտվողի անունն է ՝ pi
  6. Լռելյայն գաղտնաբառով `ազնվամորի

raspi-config կարգավորումները

Բացեք raspi-config- ը ՝ օգտագործելով.

sudo raspi-config

  • Փոխել օգտվողի գաղտնաբառը
  • Տեղայնացման ընտրանքներում ընտրեք ձեր ժամային գոտին
  • Կարգավորեք WiFi- ն ՝ օգտագործելով ցանցային ընտրանքներ, այնուհետև Wi-Fi տարբերակ, որտեղ դուք պետք է լրացնեք ձեր SSID- ը և գաղտնաբառը:

Տեղադրեք Python 3

Այս նախագծում մենք օգտագործում ենք Python, հետևաբար մենք կանխադրվածը կդարձնենք Python3- ի Python2 insteat ՝ օգտագործելով հետևյալ հրամանները

Update-alternatives-Տեղադրեք/usr/bin/python python /usr/bin/python2.7 1

թարմացում-այլընտրանքներ-տեղադրեք/usr/bin/python python/usr/bin/python3 2

Python փաթեթներ

Մեզ պետք կգա մի քանի փաթեթ `ամեն ինչ ճիշտ աշխատեցնելու համար, հիմնականում` Ֆլասկի փաթեթները և մեկը `մեր DataBase- ի հետ կապ հաստատելու համար: Մենք կարող ենք տեղադրել այդ փաթեթները ՝ օգտագործելով հետևյալ հրամանները.

pip տեղադրել Flask

pip տեղադրել Flask_cors pip install Flask_socketio pip տեղադրել Python-mysql-connecton

Տվյալների շտեմարան

Հաջորդը մենք տեղադրելու ենք մեր տվյալների բազայի կառավարման համակարգը (MariaDB), որը մենք կանենք ՝ օգտագործելով.

sudo apt տեղադրել mariadb-server

Շարունակելու համար մուտքագրեք «Y» և մուտքագրեք: Մի քանի վայրկյան անց տեղադրման գործընթացը ավարտված է, և MariaDB- ն գրեթե պատրաստ է օգտագործման համար:

Տվյալների բազային գաղտնաբառ տալու համար օգտագործեք հրամանը.

sudo mysql_secure_installation

Այնուհետև սեղմեք Enter, քանի որ ընթացիկ գաղտնաբառը դատարկ է: Այնուհետև գաղտնաբառ սահմանելու համար կտտացրեք «Y»- ին, այժմ կարող եք լրացնել ձեր ուզած ցանկացած գաղտնաբառ, համոզվեք, որ այն հիշեք, քանի որ այն մեզ անհրաժեշտ է ՝ հետևի և առջևի հատվածի միջև ճիշտ կապ հաստատելու համար:

Այժմ, 3 անգամ սեղմեք «Y» ՝ անանուն օգտվողներին հեռացնելու, հեռակա կարգով արմատային մուտքն արգելելու և թեստային տվյալների բազան հեռացնելու համար: Ի վերջո, կրկին սեղմեք «Y» ՝ արտոնությունները վերբեռնելու համար:

Այժմ MariaDB- ն և անհրաժեշտ բոլոր փաթեթները հաջողությամբ տեղադրված են:

Քայլ 2: Գրավեք օրենսգիրքը և կարգավորեք այն

Բռնել օրենսգիրքը և կարգավորել այն
Բռնել օրենսգիրքը և կարգավորել այն
Բռնել օրենսգիրքը և կարգավորել այն
Բռնել օրենսգիրքը և կարգավորել այն

Այժմ, երբ մենք ունենք բոլոր փաթեթները տեղադրված, կարող ենք գրավել ծածկագիրը:

Կոդը հասանելի է Github- ում, այնպես որ կարող եք այն կլոնավորել ՝ օգտագործելով.

git կլոն

Սա առջևի կողմն է

git կլոն

Սա հետնապահն է

Տեղադրելով տվյալների բազան ինքնին

Տվյալների բազան տեղադրելու համար անցեք.sql ֆայլը, որը գտնվում է հետնապահ թղթապանակում ՝ օգտագործելով հետևյալ հրամանները (համոզվեք, որ այն սահմանեք ձեր սեփական ուղու վրա:

mysql

ստեղծել տվյալների բազա

Apache- ի տեղադրում

Այժմ, երբ մենք ունենք ամբողջ ծածկագիրը և տվյալների բազայի կարգավորումը, մենք կարող ենք տեղադրել Apache- ը և դրա վրա գործարկել մեր հետնապահը: Մենք դա կանենք ՝ օգտագործելով.

apt -get տեղադրել apache2 -y

Այնուհետև/var/ww/html ֆայլերը փոխարինեք առջևի թղթապանակի թղթապանակով:

Եթե ամեն ինչ լավ է ընթանում, դուք պետք է կարողանաք միանալ ձեր վեբ կայքին ՝ օգտագործելով APIPA հասցեն ՝ 169.254.10.1 ձեր դիտարկիչում:

Քայլ 3. Arduino հաղորդակցություն

Arduino Communication
Arduino Communication

Մեր ընթացիկ սենսորը և մեր RFID սենսորը կարդալու համար մենք օգտագործում ենք arduino, դրա համար օգտագործեք ստորև տրված arduino կոդը: Վերբեռնեք այն USB-A- ից USB-B մալուխի և arduino IDE ծրագրակազմի միջոցով: Բեռնվելիս arduino- ի մասն ավարտված է:

Այժմ մենք պետք է գտնենք սերիական սարքի անունը PI- ում: Դա անելու համար համոզվեք, որ /boot/config.txt- ում «enable_uart = 1» -ը ճիշտ է դրված: Նաև համոզվեք, որ «console = serial0, 115200» -ը հեռացված է cmdline.txt- ից:

Այնուհետեւ ստուգեք նավահանգիստները `օգտագործելով

ls -l /dev

Հետո սերիական անուններից մեկը պետք է լինի Arduino- ն: Այս անունը լրացրեք arduinocom գործառույթում app.py- ում

ser = սերիա: Սերիալ ('/dev/ttyS0', 9600)

Դա արեք միայն այն դեպքում, եթե սերիական հաղորդակցությունը չի աշխատում:

Քայլ 4: Միացում միացրեք-փոխեք

Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it

Ամեն ինչ միացնելը բավականին պարզ է, չնայած որ պետք է հիշել հետևյալը.

  • Carefulգույշ եղեք պատի վարդակից, 230 վոլտը կարող է մահացու լինել:
  • Համոզվեք, որ օգտագործեք մակարդակի փոխարկիչ RPI- ի և Arduino- ի միջև հաղորդակցության համար:
  • RGB- ը զոդելուց առաջ համոզվեք, որ օգտագործում եք Կարմիր և Կանաչ քորոցը: Փորձեք սա նախօրոք:
  • Ստուգեք, եթե ոչինչ կարճ միացված չէ, նախքան միացումը միացնելը:

Քայլ 5: Գործարկել ծածկագիրը

Այժմ ամեն ինչ ճիշտ է կապված, մենք կարող ենք գործարկել մեր ծրագիրը:

Գործարկման ժամանակ այն ինքնաբերաբար գործարկելու համար ստեղծեք ֆայլ ՝ օգտագործելով.

sudo nano myscript.service

Այնուհետև տեղադրեք (համոզվեք, որ օգտագործեք ձեր սեփական app.py գրացուցակը ՝

[Unit] Description = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // փոխել app.py գրացուցակին // StandardOutput = ժառանգել StandardError = ժառանգել Վերագործարկում = միշտ User = pi [Տեղադրեք] WantedBy = multi-user.target

Այնուհետև կտտացրեք «ctrl + X» և պատճենեք այն/etc/systemd/system- ում:

Այնուհետև հետևյալ հրամանը ՝ այն ինքնաբերաբար գործարկելու համար.

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

Այս մասին լրացուցիչ տեղեկություններ կարող եք գտնել RaspBerry Pi կայքում:

Վերագործարկեք և արեք:

Այժմ վերագործարկեք ձեր PI- ն ՝ օգտագործելով.

sudo reboot -h հիմա

Ահա թե ինչպես եք պատրաստում Switch-it!

Շնորհակալություն հետևելու համար, հուսով եմ սա օգտակար էր: Եթե ունեք որևէ խորհուրդ կամ կարծիք, մի հապաղեք մեկնաբանություն թողնել:

Քայլ 6. (Tանկության դեպքում) Բնակարանային ապահովում

(TԱՆԿԱՈ) բնակարանաշինություն
(TԱՆԿԱՈ) բնակարանաշինություն
(TԱՆԿԱՈ) բնակարանաշինություն
(TԱՆԿԱՈ) բնակարանաշինություն
(TԱՆԿԱՈ) բնակարանաշինություն
(TԱՆԿԱՈ) բնակարանաշինություն
(TԱՆԿԱՈ) բնակարանաշինություն
(TԱՆԿԱՈ) բնակարանաշինություն

Դուք կարող եք բնակարան կառուցել ամբողջովին ձեր սեփական ցանկությամբ: Ես օգտագործել եմ մետաղյա պատյան, որը 40x40x5 սմ է ՝ կափարիչով: Քանի որ ես մետաղական էի օգտագործում, ես ստիպված էի անցքեր բացել և բացատների միջոցով ամեն ինչ գետնից հանելու համար: Ես ընտրեցի օգտագործել կենտրոնական կետը, որտեղ առկա են 5V, 3.3V և gnd: Electricalանկացած էլեկտրական միացում կպցվում է դրա վերևում գտնվող «Փոքրացող խողովակի» կտորով: Մալուխի կառավարումը կատարելու համար ես օգտագործեցի բարձիկներ ՝ կրող ժապավեններով:

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