İçindekiler:

Raspberry Pi Kullanan Akıllı Otopark: 5 Adım
Raspberry Pi Kullanan Akıllı Otopark: 5 Adım

Video: Raspberry Pi Kullanan Akıllı Otopark: 5 Adım

Video: Raspberry Pi Kullanan Akıllı Otopark: 5 Adım
Video: AKILLI CİHAZLARINIZI TEK YERDEN YÖNETİN | Home Assistant (Hassio) kurulumu 2024, Kasım
Anonim
Raspberry Pi Kullanan Akıllı Otopark
Raspberry Pi Kullanan Akıllı Otopark

Bu talimatta, bir web arayüzüne bağlı tam otomatik bir park sistemi oluşturacağız. Hangi noktanın alındığını görebilecek, kimin girip kimin çıkacağına karar verebilecek ve otomatik aydınlatma sistemi ile donatılmış olacak.

Gereçler

Donanım

  • 2x Ultrasonik sensörler
  • 1x servo motor
  • 4x beyaz LED'ler
  • 1x Işığa bağlı direnç
  • 1x2*16 LCD Ekran

Bilgi işlem

  • 1x Ahududu Pi 3 B+
  • 1x SD kart (8-16GB seçim sizin)
  • 1x Adafruit I2S 3W D Sınıfı Amplifikatör Breakout - MAX98357A
  • 1x MCP3008
  • 1x Direnç 2.2K Ohm
  • 9x Dirençler 1K Ohm

Çeşitli

  • Atlama telleri
  • ekmek tahtası
  • UTP kablosu
  • Ahududu pi'niz için adaptör
  • Bir adet multipleks (kasa için istediğiniz malzemeyi kullanabilirsiniz)
  • Bir tutkal tabancası

Yazılım

  • Macun
  • Kodu düzenlemek için yazılım (desteklediği sürece istediğinizi kullanabilirsiniz: Python, HTML, CSS ve java scripti)
  • Win32 Disk Görüntüleyici
  • Raspbian OS görüntüsü
  • VNC Görüntüleyici (isteğe bağlı)

1. Adım: RPI'yi Ayarlayın

Donanımı kablolamaya başlamadan önce, yazılımı ve kasayı yapmak için PI'nizi kurmamız gerekecek gerekli yazılım ile projeyi çalıştırmanız gerekecek.

SD kartınıza koymak ve SD kart Win32 Disk Imager'a yazmak için bir Raspbian görüntüsüne ihtiyacınız olacak. Her ikisinin de linklerini aşağıda bulabilirsiniz.

- Win32 Disk Görüntüleyici:

- Raspbian resmi:

Montaj

  1. Win32 Disk Imager'ı açın

    1. Az önce indirdiğiniz resmi klasör simgesi aracılığıyla seçin
    2. Açılır menüden SD kartınızı seçin
    3. Yaz'a tıklayın
    4. İşlem bittiğinde bilgisayarınız muhtemelen size SD kartı biçimlendirmek isteyip istemediğinizi soracaktır, bunu yapmayın.

Bu adımları tamamladığınızda, PI'nizin yazılımına erişebilmek için bazı ekstra şeyler yapmanız gerekecektir.

  1. Gezgininizde SD kartı açın
  2. “cmdline.txt” dosyasını açın
  3. Sonunda uzun bir metin satırı göreceksiniz: ip=169.254.10.1
  4. Dosya 'yı kaydet
  5. Uzantısı olmayan ssh adında bir dosya oluşturun (bunu nasıl yapacağınızı bilmiyorsanız, sadece yeni dosyaya tıklayın, yeni metin dosyasını seçin, uzantıyı silin ve adını ssh olarak adlandırın)
  6. Bu bölümün son adımı, SD kartı güvenli bir şekilde çıkarmak ve Raspberry PI'ye koymaktır.

Bağlanıyor

Önceki adımları tamamladığınızda, pi'nize ilk kez bağlanmanın zamanı geldi. Öncelikle UTP kablonuzu, bir ucu bilgisayarınıza, diğer ucu pi'nize takmanız gerekecek (LAN kablosunu takmadan önce takmanız önemlidir).

  1. Putty'yi yükleyin:
  2. Kurduktan sonra açın ve IP kutusuna 169.254.10.1 yazın.
  3. SSH'yi seçin ve 22 numaralı bağlantı noktasını doldurun
  4. Aç'ı tıklayın
  5. Kullanıcı adını girin: pi ve şifre ahududu Bu, yepyeni bir görüntüde standart giriştir

Raspi-yapılandırma

Devam etmeden önce, raspi-config menüsündeki birkaç ayarı değiştirmeniz gerekecek, bunu kullanarak açın:

sudo raspi yapılandırması

1. Seçenekler altında, arayüzler kategorisi altında I2C ve SPI'yi etkinleştirin

2. Yerelleştirme kategorisi aracılığıyla WIFI ülkenizi seçin

3. Önyükleme seçenekleri kategorisindeki Masaüstü/CLI ayarını Masaüstü Otomatik Oturum Açma olarak ayarlayın.

4. Gelişmiş seçenekler altında A1 Genişlet Dosya Sistemi'ni seçin (bu, tüm SD kartın alanını kullanmanızı sağlar)

5. Şimdi çıkın ve sudo yeniden başlatın

Wifi

Şimdi wifi bağlantınızı kurmanın zamanı geldi, tabii ki wifi'nizin kimlik bilgilerine ihtiyacınız olacak.

İlk önce bu komutu çalıştırarak root moduna geçin

Sudo -i

Artık bu komutları çalıştırmak için gerekli haklara sahipsiniz:

SSID'yi wifi adınıza ve ŞİFRE'yi wifi şifrenize değiştirdiğinizden emin olun.

Wpa_passphrase “SSID” “ŞİFRE” >> /etc/wpa_supplicant/wpa_supplicant.conf

Bu komutu çalıştırarak WPA İstemcisine girin:

wpa_cli

arayüzü seçin

arayüz wlan0

Yapılandırmayı yeniden yükleyin

yeniden yapılandır

Son fakat en az değil, çalışıp çalışmadığını kontrol edin. Bunu girerek yapabilirsiniz:

ip bir

Burada, sudo yeniden başlatma (asla başarısız olmaz (:) değilse), WLAN0 arayüzleri altında bir ipiniz olup olmadığını kontrol edebilirsiniz.

Bunu komut satırından yapmakta rahat değilseniz, her zaman biraz daha kullanıcı dostu olan Raspbian GUI'si aracılığıyla yapabilirsiniz.

  1. VNC-viewer'ı buradan yükleyin:
  2. Dosyaya, yeni bağlantıya tıklayın ve IP adresi çubuğuna 169.254.10.1 girin ve istediğiniz adı seçin
  3. Kullanıcı adını girin: pi ve şifre ahududu
  4. Wifi simgesine tıklayın ve bu şekilde bağlanın

Paketler

Artık internete bağlı olduğumuza göre tüm kodları çalıştırmak için ihtiyacımız olan paketleri kurabiliriz.

Öncelikle, aşağıdakileri çalıştırarak paket listesini en sonuncusuna yenilememiz gerekecek:

sudo uygun güncelleme

sudo uygun yükseltme

Apache Web sunucusu

Web uygulamamızı çalıştırmak için bir web sunucusuna ihtiyacımız olacak. Bunu, şu komutu çalıştırarak apache web sunucusunu kurarak başarabiliriz:

sudo apt apach2 -y yükleyin

Python paketleri

Her şeyin işe yaraması için birkaç pakete ihtiyacımız olacak. Bunlar ihtiyacımız olacak olanlar.

  • şişe
  • Şişe-Kors
  • Flask-Uzantısı
  • Flask-MySQL
  • Şişe-SoketIO
  • Python-socketio

Bu komutu çalıştırarak bunları yükleyebilirsiniz:

pip yükleme Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

2. Adım: Veritabanı

Veri tabanı
Veri tabanı

MariaDB

MariaDB'yi kurmak için aşağıdaki komutu çalıştırın, bu, sensörlerin okuduğu tüm verileri takip etmek için gereken veritabanı sistemidir.

sudo apt mariadb sunucusunu kurun

Şimdi kurulumumuzu güvenli hale getirmemiz gerekecek

Mysql_secure_installation

Komutu çalıştırdığınızda, bizden bir kök şifre isteyecek, henüz bir şifremiz yok, bu yüzden sadece enter tuşuna basın.

Şimdi size güvenlik nedeniyle isteyip istemediğinizi soracak, bu yüzden klavyenizde Y tuşuna basın ve istediğiniz şifreyi seçin.

Şimdi size birkaç soru daha sormaya devam edecek hepsine Y cevabını verin

Bu noktaya geldiğimize göre artık SQL kabuğuna girmemiz gerekiyor.

Bunu yapmak için önce bu komutu tekrar girerek bize ayrıcalıkları vermek için tekrar root olmalıyız:

sudo -i

Şimdi mysql kabuğunu girin

mysql

Şimdi @ işaretinden önceki tırnak işaretleri arasına istediğiniz ismi ve ile tanımladıktan sonra istediğiniz şifreyi koyan bir kullanıcı oluşturacağız.

Şimdi bu komutu çalıştırarak izinler tablosunu temizlememiz gerekiyor:

FLUSH AYRICALIKLARI;

Bu adımları tamamladıktan sonra yukarıdaki resimden db şemasını yeniden oluşturabilirsiniz. Maalesef bazı yazılım hataları yaşadığım için size veritabanının bir dökümünü veremem.

Adım 3: Kablolama

kablolama
kablolama
kablolama
kablolama
kablolama
kablolama

Şimdi projenin kablolarını yapma zamanı. Önce fritzing adlı bir programda bir şema yaparak süreci biraz daha kolaylaştırmak için. Fritzing, kablolamanızı gerçek hayatta yeniden oluşturmayı kolaylaştırır ve yaptığınız şeyin net bir resmini elde etmenizi sağlar.

Adım 4: Konut

Konut
Konut
Konut
Konut
Konut
Konut

İlk adım ahşabı çizimde görülen şekillerde kesmektir. Lazer kesim ile yaptım ama normal bir testere de işe yarayacak. Bundan sonra asfalt rengini elde etmek için ahşabı siyaha boyamak isteyeceksiniz. Boya kuruduğunda, park yeri hissini elde etmek için beyaz çizgileri boyayabilirsiniz. Çit için, direk gibi görünmesi için boyalı pipetler püskürtüyorum. Eskrimin kendisi için direklere bazı keçiler ekledim. Bariyer, daha sonra spreyle boyadığım paer maché'den yapılmıştır.

Adım 5: Kodlama

kodlama
kodlama
kodlama
kodlama
kodlama
kodlama

Backend: Projenin backend kısmı Python ve TSQL ile yazılmıştır. Sensörlerin tüm verilerini okur ve biraz önce oluşturduğumuz veritabanına yazar. Ayrıca önyüzümüzü ona bağlayabilmemiz için bir web sunucusu çalıştırır. Arka uç için gereken kodu pycharm'da yazdım ama tabii ki istediğinizi kullanabilirsiniz.

Arka uç kodunu burada bulabilirsiniz:

Ön Uç: Ön uç HTML, CSS ve Javascript ile yazılmıştır. Kodu yazmak için görsel stüdyo kodu ve phpstorm kombinasyonunu kullandım. Kod temel olarak tüm web sitesini yazar ve javascript dosyalarında arka uçtan veri almak için gereken kodu bulabilirsiniz.

Ön uç kodunu burada bulabilirsiniz:

Önerilen: