Mündəricat:

Switch-it, Realtime Cari Ölçmə ilə Avtomatik Çıxış: 6 Addım
Switch-it, Realtime Cari Ölçmə ilə Avtomatik Çıxış: 6 Addım

Video: Switch-it, Realtime Cari Ölçmə ilə Avtomatik Çıxış: 6 Addım

Video: Switch-it, Realtime Cari Ölçmə ilə Avtomatik Çıxış: 6 Addım
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Noyabr
Anonim
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış
Real vaxt cərəyanının ölçülməsi ilə Switch-it, avtomatik çıxış

Avtomatlaşdırmanı, bir şeyin nə vaxt baş verəcəyini idarə etməyi çox sevirəm. Məni bu fikri ortaya qoyan da budur: öz -özünə hazırlanan, avtomatik bir çıxış. İşıqların nə vaxt yandırılması lazım olduğunu, telefonların doldurulmasını və ya ekrana güc verilməsini planlaşdırmaq üçün istifadə edilə bilər. Bütün bunlara əlavə olaraq, çıxışdan nə qədər cərəyan axdığını görmək qabiliyyətiniz var.

Bu layihə üçün lazım olan komponentlər:

Təchizat

Başlamazdan əvvəl bunlar mənim kimi bir Switch-IT qutusu qurmaq üçün mütləq lazım olacaq şeylərdir. Bu təchizat bölgənizə və mövcud qiymətlərə görə təxminən 50 ilə 100 avroya başa gələcək.

Avadanlıq

Elektronika

  • Moruq pi 4
  • 16 gb (və ya daha çox) Micro SD Kart
  • Arduino Uno
  • 5V-3.3V Səviyyə dəyişdiricisi
  • 5V röle modulu
  • ACS712 20A - cari modul
  • 1838 IR-Alıcı 37.9 kHz modulu
  • IR uzaqdan idarəetmə cihazı (Elegoo istifadə edirəm)
  • ümumi katod RGB
  • 3 * 330Ω rezistorlar
  • düyməni basmaq
  • RFID-RC522
  • LCD 1602A-1
  • Niko divar prizi
  • 10K Ω potmetr
  • 230 - 5V - 7A enerji təchizatı

Kabellər

  • USB-B-USB-A kabeli
  • USB-C elektrik kabeli
  • Ethernet kabeli

Müxtəlif

  • Kişi-Qadın Jumper telləri
  • Kişi-Kişi Jumper telləri
  • Lehim qalay
  • Büzülən boru

Davanın xüsusi hissələri (İSTEĞE BAĞLI)

  • 50 * fındıq və qalın
  • metal qutu 40x40x5 sm qapaqlı
  • iki tərəfli lent
  • 6 * 1 sm yüksəklikdə aralıqlar
  • led tutucu
  • Velcro lent
  • kabel bələdçiləri

Proqram təminatı

  • balenaEtcher:
  • PuTTy
  • rasbiyan
  • Visual Studio kodu
  • Arduino IDE

Addım 1: Rasbian qurun

Rasbian qurmaq
Rasbian qurmaq
Rasbian qurmaq
Rasbian qurmaq

Hər şeydən əvvəl Rasbianı SD Karta bağlayacağıq. Bunu balenaEtcher istifadə edərək edəcəyik.

  1. BalenaEtcher açın
  2. Rasbian Şəklini seçin
  3. SD kartınızı seçin
  4. Yanıp sönənə qədər Flash düyməsini bir neçə dəqiqə gözləyin

Açılış qovluğuna APIPA əlavə etmək: RPI -də proqramlaşdırmaq və konfiqurasiya etmək üçün bir APIPA ünvanı istifadə edəcəyik. Bunu etmək:

  1. SD kartdakı açılış qovluğuna daxil olun
  2. "Cmdline.txt" açın
  3. Sənədin sonuna "169.254.10.1" əlavə edin və qeyd edin
  4. Yükləmə qovluğuna "ssh" adlı bir fayl əlavə edin (BU DOSYAYA GENİŞLƏNDİRMƏYİN)
  5. Bunu etdikdən sonra SD Kartı PC -dən çıxara bilərsiniz.

PuTTy istifadə edərək RPI -yə daxil olur

İndi SD kartı RPI -ə qoşa bilərik, bir Ethernet kabeli istifadə edərək RPI -ni kompüterinizə qoşa bilərik.

RPI-yə qoşulmaq üçün PuTTy-dən APIPA-ünvanımızla istifadə edəcəyik.

  1. PuTTy açın
  2. Host adı olaraq APIPA ünvanımızı doldurun (169.254.10.1)
  3. Limanın 22 olduğundan və SSH -nin seçildiyindən əmin olun
  4. İndi əlaqəni aça bilərsiniz
  5. Varsayılan istifadəçi adı: pi
  6. Varsayılan parol ilə: moruq

raspi-config parametrləri

Raspi konfiqurasiyasını istifadə edərək açın:

sudo raspi-config

  • İstifadəçi parolunu dəyişdirin
  • Yerləşdirmə seçimlərində vaxt qurşağınızı seçin
  • Şəbəkə seçimlərindən istifadə edərək WiFi qurun, sonra SSID və Şifrənizi daxil etməli olduğunuz Wi-Fi seçimi.

Python 3 quraşdırın

Python istifadə etdiyimiz bu layihədə, aşağıdakı əmrləri istifadə edərək, Python2 -in Python3 insteatını təyin edəcəyik.

update-alternatives-install/usr/bin/python python /usr/bin/python2.7 1

update-alternatives-install/usr/bin/python python/usr/bin/python3 2

Python paketləri

Hər şeyin düzgün işləməsi üçün bir neçə paketə ehtiyacımız olacaq, əsasən Flask paketləri və DataBase ilə əlaqə qurmaq üçün. Bu paketləri aşağıdakı əmrlərdən istifadə edərək quraşdıra bilərik:

pip Flask quraşdırın

pip quraşdırma Flask_cors pip quraşdır Flask_socketio pip quraşdır Python-mysql-connecton

Verilənlər bazası

Bundan sonra verilənlər bazası idarəetmə sistemimizi (MariaDB) quraşdıracağıq:

sudo apt install mariadb-server

Davam etmək üçün "Y" yazın və daxil edin. Bir neçə saniyədən sonra quraşdırma prosesi başa çatır və MariaDB demək olar ki, istifadəyə hazırdır.

Verilənlər bazasına bir parol təyin etmək üçün əmrdən istifadə edin:

sudo mysql_secure_installation

Mövcud parol boş olduğu üçün Enter düyməsini basın. Sonra bir parol təyin etmək üçün "Y" düyməsini basın, indi istədiyiniz hər hansı bir şifrəni doldura bilərsiniz, yadda saxladığınızdan əmin olun, çünki arxa və ön uç arasında düzgün bir əlaqə qurmağımız lazımdır.

İndi "Y" düyməsini 3 dəfə basın: anonim istifadəçiləri silmək, kök girişinə uzaqdan icazə verməmək və test verilənlər bazasını silmək. Nəhayət, imtiyazları yenidən yükləmək üçün yenidən "Y" düyməsini basın.

İndi MariaDB və lazım olan bütün paketlər uğurla quraşdırılmışdır.

Addım 2: Kodu götürün və qurun

Kodu götürmək və qurmaq
Kodu götürmək və qurmaq
Kodu götürmək və qurmaq
Kodu götürmək və qurmaq

İndi bütün paketləri quraşdırdıqdan sonra kodu götürə bilərik.

Kod Github -da mövcuddur, buna görə də klonlaşdıra bilərsiniz:

git klonu

Bu ön cəbhədir

git klonu

Bu arxa tərəfdir

Verilənlər bazasının özünün quraşdırılması

Verilənlər bazasını qurmaq üçün aşağıdakı əmrləri istifadə edərək arxa qovluqda olan.sql faylına gedin (onu öz yolunuza qoyduğunuzdan əmin olun.

mysql

verilənlər bazası açarı yaratmaq mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

Apache quraşdırılır

İndi bütün kodu və verilənlər bazası qurduğumuza görə Apache-ni quraşdıra bilərik və arxa planımızı işə sala bilərik. Bunu istifadə edərək edəcəyik:

apt -get apache2 -y quraşdırın

Sonra/var/ww/html fayllarını ön qovluqdakı qovluqdakılarla əvəz edin.

Hər şey yaxşı gedirsə, brauzerinizdə 169.254.10.1: APIPA ünvanından istifadə edərək veb saytınıza qoşula bilərsiniz.

Addım 3: Arduino Əlaqəsi

Arduino Əlaqəsi
Arduino Əlaqəsi

Mövcud sensorumuzu və RFID sensorumuzu oxumaq üçün bir arduino istifadə edirik, bunun üçün aşağıda verilən arduino kodunu istifadə edin. USB-A-dan USB-B kabelinə və arduino IDE proqramından istifadə edərək yükləyin. Yükləndikdə arduino hissəsi hazırdır.

İndi PI -də serial cihaz adını tapmalıyıq. Bunu etmək üçün /boot/config.txt "enable_uart = 1" in düzgün qurulduğundan əmin olun. Ayrıca "console = serial0, 115200" cmdline.txt -dən silindiyinə əmin olun.

Sonra istifadə olunan portları yoxlayın

ls -l /dev

Sonra serial adlarından biri Arduino olmalıdır. Bu adı app.py -də arduinocom funksiyasına daxil edin

ser = serial. Serial ('/dev/ttyS0', 9600)

Yalnız serial əlaqəsi işləmədiyi təqdirdə bunu edin.

Addım 4: Switch-it-in bağlanması

Keçid-keçid
Keçid-keçid
Keçid-keçid
Keçid-keçid

Hər şeyi bağlamaq olduqca sadədir, baxmayaraq ki, aşağıdakıları nəzərə almalısınız:

  • Elektrik prizində diqqətli olun, 230 volt ölümcül ola bilər.
  • RPI və Arduino arasındakı əlaqə üçün bir səviyyə çeviricisindən istifadə etdiyinizə əmin olun.
  • RGB -ni lehimləmədən əvvəl, Qırmızı və Yaşıl pin istifadə etdiyinizə əmin olun. Bunu əvvəlcədən sınayın!
  • Dövrəyə enerji verməzdən əvvəl heç bir şeyin qısa qapanmadığını yoxlayın.

Addım 5: Kodun işə salınması

İndi hər şey düzgün bağlıdır, proqramımızı işlədə bilərik.

Başlanğıcda avtomatik işləməsini təmin etmək üçün aşağıdakılardan istifadə edərək bir fayl yaradın:

sudo nano myscript.service

Sonra yapışdırın (öz app.py kataloqunuzdan istifadə etdiyinizə əmin olun:

[Unit] Description = After Switchit = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // app.py qovluğuna keçid // StandardOutput = miras StandartError = Yenidən Başlat = həmişə İstifadəçi = pi [Quraşdır] WantedBy = multi-user.target

Sonra "ctrl + X" düymələrini basın və/etc/systemd/system -ə kopyalayın.

Sonra avtomatik olaraq işləməsini təmin etmək üçün aşağıdakı əmri verin:

sudo systemctl myscript.service imkan verir

Bu barədə daha çox məlumatı RaspBerry Pi saytında tapa bilərsiniz.

Yenidən başladın və bitdi

İndi istifadə edərək PI -ni yenidən başladın:

sudo yenidən başladın -h indi

Switch-iti belə hazırlayırsınız!

İzlədiyiniz üçün təşəkkürlər, ümid edirəm bu faydalı oldu. Hər hansı bir məsləhət və ya rəyiniz varsa, şərh yazmaqdan çəkinməyin.

Addım 6: (İSTEĞE BAĞLI) Mənzil

(İSTEĞE BAĞLI) Mənzil
(İSTEĞE BAĞLI) Mənzil
(İSTEĞE BAĞLI) Mənzil
(İSTEĞE BAĞLI) Mənzil
(İSTEĞE BAĞLI) Mənzil
(İSTEĞE BAĞLI) Mənzil
(İSTEĞE BAĞLI) Mənzil
(İSTEĞE BAĞLI) Mənzil

Mənzili tamamilə öz zövqünüzə görə tikə bilərsiniz. Qapaqlı 40x40x5 sm ölçülü bir metal korpusdan istifadə etdim. Metaldan istifadə etdiyim üçün hər şeyi yerdən çıxarmaq üçün deliklər qazmalı və boşluqlar istifadə etməliyəm. 5V, 3.3V və gnd -in mövcud olduğu mərkəzi bir nöqtədən istifadə etməyi seçdim. Hər bir elektrik bağlantısı, üstünə bir büzülmə borusu ilə lehimlənir. Kabel idarəçiliyini etmək üçün daşıyıcı kəmərli yastıqlardan istifadə etdim.

Tövsiyə: