İçindekiler:

Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış: 6 Adım
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış: 6 Adım

Video: Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış: 6 Adım

Video: Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış: 6 Adım
Video: IT de Network ve Sistem Alt Yapısını Oluşturan Cihazlar ve BAĞLANTILARI 2024, Temmuz
Anonim
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış
Switch-it, Gerçek Zamanlı Akım Ölçümlü Otomatik Çıkış

Otomatizasyonu, bir şeyin ne zaman olması gerektiğini kontrol etme yeteneğini gerçekten seviyorum. Bana bu fikri getiren şey buydu: kendi kendine yapılan, otomatik bir çıkış. Işıkların ne zaman açılması gerektiğini, telefonların ne zaman şarj edilmesi gerektiğini veya bir ekrana ne zaman güç verilmesi gerektiğini planlamak için kullanılabilir. Tüm bunlara ek olarak, çıkıştan ne kadar akım geçtiğini görme olanağına sahipsiniz.

Bu proje için gerekli bileşenler şunlardır:

Gereçler

Başlamadan önce, benimki gibi bir Switch-IT kutusu oluşturmak için kesinlikle ihtiyacınız olacak şeyler bunlar. Bu sarf malzemeleri, bölgenize ve mevcut fiyatlara bağlı olarak yaklaşık 50 ila 100 avroya mal olacak.

Donanım

Elektronik

  • Ahududu pi 4
  • 16 gb (veya daha fazla) Mikro SD Kart
  • Arduino Uno'su
  • 5V-3.3V Seviye değiştirici
  • 5V röle modülü
  • ACS712 20A - akım modülü
  • 1838 IR-Alıcı 37,9 kHz modülü
  • IR uzaktan kumanda (Bir Elegoo kullanıyorum)
  • ortak katot RGB
  • 3*330Ω dirençler
  • butona basınız
  • RFID-RC522
  • LCD 1602A-1
  • Niko duvar prizi
  • 10K Ω potmetre
  • 230 - 5V - 7A güç kaynağı

kablolar

  • USB-B'den USB-A'ya kablo
  • USB-C güç kablosu
  • Ethernet kablosu

Çeşitli

  • Erkek-Dişi Jumperwires
  • Erkek-Erkek Jumperwires
  • lehim kalay
  • küçülen tüp

Kasaya özel parçalar (İSTEĞE BAĞLI)

  • 50 * fındık ve kalın harfler
  • metal kasa 40x40x5 cm kapaklı
  • çift taraflı bant
  • 6*1 cm yüksek ara parçalar
  • led tutucu
  • cırt cırt Bant
  • kablo kılavuzları

Yazılım

  • balenaEtcher:
  • Macun
  • arapça
  • Visual Studio Kodu
  • Arduino IDE'si

Adım 1: Rasbian Kurulumu

Rasbian Kurulumu
Rasbian Kurulumu
Rasbian Kurulumu
Rasbian Kurulumu

Her şeyden önce Rasbian'ı SD-Karta aktaracağız. Bunu balenaEtcher kullanarak yapacağız.

  1. BalenaEtcher'ı açın
  2. Rasbian Resmini Seçin
  3. SD Kartınızı seçin
  4. Flash'a basın ve yanıp sönene kadar birkaç dakika bekleyin

APIPA'yı önyükleme dizinine ekleme: RPI'daki ayarları programlamak ve yapılandırmak için bir APIPA adresi kullanacağız. Bunu yapmak için:

  1. SD Karttaki önyükleme dizinine erişir
  2. "cmdline.txt" dosyasını açın
  3. Belgenin sonuna "169.254.10.1" ekleyin ve kaydedin
  4. Önyükleme dizinine "ssh" adlı bir dosya ekleyin (BU DOSYAYA UZANTI VERMEYİN)
  5. Bunu yaptıktan sonra SD Kartı PC'nizden çıkarabilirsiniz.

PuTTy kullanarak RPI'ye erişir

Artık SD kartı RPI'ımıza takabiliriz, RPI'yi bir ethernet kablosu kullanarak PC'nize bağlayabiliriz.

RPI'ye bağlanmak için APIPA adresimizle PuTTy kullanacağız.

  1. PuTTy'yi açın
  2. APIPA adresimizi ana bilgisayar adı olarak girin (169.254.10.1)
  3. Bağlantı noktasının 22 olduğundan ve SSH'nin seçildiğinden emin olun
  4. Şimdi bağlantıyı açabilirsiniz
  5. Varsayılan kullanıcı adı: pi
  6. Varsayılan şifre ile: ahududu

raspi yapılandırma ayarları

Raspi-config'i aşağıdakileri kullanarak açın:

sudo raspi yapılandırması

  • Kullanıcı şifresini değiştir
  • Yerelleştirme seçeneklerinde saat diliminizi seçin
  • Ağ seçeneklerini ve ardından SSID'nizi ve Parolanızı girmeniz gereken Wi-Fi seçeneğini kullanarak WiFi'yi kurun.

Python 3'ü yükleyin

Bu projede Python kullanıyoruz, bu nedenle aşağıdaki komutları kullanarak varsayılanı Python2 yerine Python3 olarak ayarlayacağız.

güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python2.7 1

güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python3 2

Python paketleri

Her şeyin düzgün çalışmasını sağlamak için birkaç pakete ihtiyacımız olacak, özellikle Flask paketleri ve bir tanesi Veritabanımızla bağlantı kurmak için. Bu paketleri aşağıdaki komutları kullanarak kurabiliriz:

pip yükleme Şişesi

pip Flask_cors kurulumu pip Flask_socketio kurulumu pip Python-mysql-connecton kurulumu

Veri tabanı

Sırada veritabanı yönetim sistemimizi (MariaDB) kuracağız, bunu kullanarak yapacağız:

sudo apt mariadb sunucusunu kurun

Devam etmek için “Y” yazın ve Enter'a basın. Birkaç saniye sonra kurulum işlemi tamamlanır ve MariaDB neredeyse kullanıma hazırdır.

Veritabanına bir parola vermek için şu komutu kullanın:

sudo mysql_secure_installation

Ardından, geçerli parola boş olduğundan Enter'a basın. Ardından bir şifre belirlemek için "Y" tuşuna basın, şimdi istediğiniz şifreyi girebilirsiniz, bunu hatırladığınızdan emin olun çünkü arka ve ön uç arasında doğru bir bağlantı kurmamız gerekiyor.

Şimdi, 3 kez "Y" tuşuna basarak: anonim kullanıcıları kaldırın, uzaktan root girişine izin vermeyin ve test veritabanını kaldırın. Son olarak, ayrıcalıkları yeniden yüklemek için tekrar “Y” tuşuna basın.

Şimdi MariaDB ve gerekli tüm paketler başarıyla kuruldu.

Adım 2: Kodu Almak ve Ayarlamak

Kodu Almak ve Ayarlamak
Kodu Almak ve Ayarlamak
Kodu Almak ve Ayarlamak
Kodu Almak ve Ayarlamak

Artık tüm paketleri yüklediğimize göre kodu alabiliriz.

Kod Github'da mevcuttur, böylece şunu kullanarak klonlayabilirsiniz:

git klon

Bu ön uç

git klon

Bu arka uç

Veritabanının kendisini yükleme

Veritabanını kurmak için aşağıdaki komutları kullanarak arka uç klasöründe bulunan.sql dosyasına gidin (kendi yolunuza ayarladığınızdan emin olun.

mysql

veritabanı anahtarı oluştur mysql'den çık -u root -p switchit < Your_Path_to_Backend_Repo/switchit.sql

Apache'yi Yükleme

Artık tüm koda ve veritabanı kurulumuna sahip olduğumuza göre Apache'yi kurabilir ve arka uçumuzu üzerinde çalıştırabiliriz. Bunu kullanarak yapacağız:

apt-get install apache2 -y

Ardından /var/ww/html içindeki dosyaları, ön uç klasöründeki klasördekilerle değiştirin.

Her şey yolunda giderse, tarayıcınızdaki APIPA adresini kullanarak web sitenize bağlanabilmeniz gerekir: 169.254.10.1.

Adım 3: Arduino İletişimi

Arduino İletişimi
Arduino İletişimi

Mevcut sensörümüzü ve RFID sensörümüzü okumak için bir arduino kullanıyoruz, bunu yapmak için aşağıda verilen arduino kodunu kullanın. Bir USB-A - USB-B kablosu ve arduino IDE yazılımı kullanarak yükleyin. Yüklendiğinde arduino kısmı yapılır.

Şimdi PI'de seri cihaz adını bulmalıyız. Bunu yapmak için /boot/config.txt dosyasında "enable_uart=1" öğesinin doğru ayarlandığından emin olun. Ayrıca "console=serial0, 115200" ifadesinin cmdline.txt dosyasından kaldırıldığından emin olun.

Ardından kullanarak bağlantı noktalarını kontrol edin.

ls -l /dev

O zaman seri adlarından biri Arduino olmalıdır. Bu adı app.py'deki arduinocom işlevinde doldurun

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

Bunu yalnızca seri iletişim çalışmıyorsa yapın.

Adım 4: Kablolama Değiştirin

Kablolama Anahtarı
Kablolama Anahtarı
Kablolama Anahtarı
Kablolama Anahtarı

Her şeyi kablolamak oldukça basittir, ancak aşağıdakileri aklınızda tutmanız gerekir:

  • Duvar prizine dikkat edin, 230 volt ölümcül olabilir.
  • RPI ve Arduino arasındaki iletişim için seviye dönüştürücü kullandığınızdan emin olun.
  • RGB'yi lehimlemeden önce Kırmızı ve Yeşil pimi kullandığınızdan emin olun. Bunu önceden test edin!
  • Devreye güç vermeden ÖNCE hiçbir şeyin kısa devre olup olmadığını test edin.

Adım 5: Kodu Çalıştırma

Artık her şey doğru bir şekilde bağlandı ve programımızı çalıştırabiliriz.

Başlangıçta otomatik olarak çalışmasını sağlamak için aşağıdakileri kullanarak bir dosya oluşturun:

sudo nano myscript.service

Ardından yapıştırın (kendi app.py dizininizi kullandığınızdan emin olun:

[Unit]Description=Sonra Geçiş Yap=network.target [Servis] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=//app.py dizinine geç// StandardOutput=StandardError'ı devral=Restart'ı devral=her zaman Kullanıcı= pi [Yükle] WantedBy=çok kullanıcılı.target

Ardından "ctrl + X" tuşlarına basın ve /etc/systemd/system dizinine kopyalayın.

Ardından, otomatik olarak çalışmasını sağlamak için aşağıdaki komut:

sudo systemctl myscript.service'i etkinleştir

Bununla ilgili daha fazla bilgiyi RaspBerry Pi sitesinde bulabilirsiniz.

Yeniden başlat ve bitti

Şimdi aşağıdakileri kullanarak PI'nizi yeniden başlatın:

sudo yeniden başlat -h şimdi

Switch-it'i bu şekilde yaparsınız!

Takip ettiğiniz için teşekkürler, umarım bu yardımcı olmuştur. Herhangi bir ipucunuz veya geri bildiriminiz varsa, yorum bırakmaktan çekinmeyin.

Adım 6: (İSTEĞE BAĞLI) Muhafaza

(İSTEĞE BAĞLI) Konut
(İSTEĞE BAĞLI) Konut
(İSTEĞE BAĞLI) Konut
(İSTEĞE BAĞLI) Konut
(İSTEĞE BAĞLI) Konut
(İSTEĞE BAĞLI) Konut
(İSTEĞE BAĞLI) Konut
(İSTEĞE BAĞLI) Konut

Konutu tamamen kendi zevkinize göre inşa edebilirsiniz. Ben 40x40x5 cm ebadında kapaklı metal bir kasa kullandım. Metal bir tane kullandığım için, her şeyi zemin plakasından çıkarmak için delikler açmam ve ara parçaları kullanmam gerekiyordu. 5V, 3.3V ve gnd'nin mevcut olduğu merkezi bir nokta kullanmayı seçtim. Her elektrik bağlantısı, üzerinde bir parça Shrink Tube ile lehimlenmiştir. Kablo yönetimini yapmak için taşıyıcı kayışlı pedler kullandım.

Önerilen: