İçindekiler:
- Gereçler
- Adım 1: Prototipleme
- Adım 2: Raspberry Pi'yi Hazırlama
- 3. Adım: Veritabanı
- 4. Adım: Arka uç
- Adım 5: Ön Uç
- Adım 6: Gösterge Tablosunu Ekranda Görüntüleme
- Adım 7: Elektroniği Lehimleme
- Adım 8: Güç Kaynağı
- Adım 9: Konut
Video: Raspberry Pi Motosiklet Panosu: 9 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Howest Kortrijk'te Multimedya ve İletişim teknolojisi öğrencisi olarak kendi IoT projemi yapmak zorunda kaldım. Bu, ilk yılda izlenen tüm modülleri tek bir büyük projede birleştirecektir. Boş zamanlarımda motosikletime çok bindiğim için MCT'de edindiğim becerileri motosikletim için bir şeyler inşa etmek için kullanmaya karar verdim: Akıllı bir gösterge paneli.
MotoDash, sürücüye performanslarını takip etme yeteneği veren fanatik motosikletçiler için tasarlanmış bir Raspberry Pi destekli gösterge panelidir.
Bu panonun özellikleri nelerdir?
- Geçerli eğim açısını görüntüleme
- Mevcut ivmeyi görüntüleme
- Yağ sıcaklığını izleme yeteneği
- Karanlıkta sürerken otomatik olarak karanlık temaya geç
- Sürüşlerinizin verilerini günlüğe kaydedin ve kendi istatistiklerinizi görüntüleyin
Gereçler
Ana bilgi işlem birimi:
Raspberry Pi Bu, sistemin ana denetleyicisidir
Elektronik:
- RPI için motosiklet 12V-5VMain güç kaynağı için USB şarj cihazı
- 4 Pin Sigortalı Röle 12VS, RPi'nin güç devresini açmak/kapatmak için anahtar
- Jumper kablolu ekmek tahtası (isteğe bağlı)Test ve prototipleme için
-
Breakout Pi plusBu, tüm bileşenlerinizi lehimleyebileceğiniz bir prototip panosudur. Doğrudan Raspberry Pi'nin üzerine oturacak şekilde yapılmıştır, bu nedenle projenin boyutları minimumda kalır.
Bir dizi direnç
0,2 mm telin farklı renkleri
Sensörler ve modüller:
- Su geçirmez DS18B20 1 Telli Sıcaklık sensörüYağ sıcaklık sensörü
- 3 Eksen Gyro İvmeölçer MPU6050Eğim/hızlanma sensörü
- Işığa bağlı direnç (LDR)
MCP3008 - SPI Arayüzü ile 8 kanallı 10-Bit ADC
TFT SPI ekranı (veya ihtiyaçlarınıza uyan diğer herhangi bir lcd ekran)
RGB LED'i
kasa:
- Plastik kutu
- Raspberry Pi kutuları
Aletler:
- Havya ve lehim
- 2.5 mm vidalar ve ara parçalar
- Su geçirmez kablo konektörleri
- Süper yapıştırıcı
- …
Adım 1: Prototipleme
Her şeyi kalıcı hale getirmeden önce projeyi bir breadboard üzerinde bir araya getireceğiz. Hata yapmayacağınızdan kesinlikle eminseniz bu adım atlanabilir. Elektrik/breadboard şeması aşağıdaki PDF'de bulunabilir. Devreyi tam olarak anlatıldığı gibi bir araya getirin. RPi'deki 5V pinini değil, yalnızca 3.3V pinini kullandığınızdan emin olun. Ayrıca ahududu Pi'yi açmadan önce devrenizi iki kez kontrol edin. Şort olmadığından emin olun!
Adım 2: Raspberry Pi'yi Hazırlama
Öncelikle Raspberry Pi'yi kuracağız. Raspberry Pi, kendi işletim sistemini çalıştırabilen mini bir bilgisayardır. Bu proje için sensör verilerinin işlenmesinden, web sitesinin barındırılmasından, arka uç ve veritabanının çalıştırılmasından, …
1. Özel Raspbian Image yükleyin
Sağlanan görüntü, bu projeyi hızlı bir şekilde başlatmak için gereken yazılım paketlerini zaten içeriyor:
- Web sitesi ön ucu için Apache
- Veritabanı için MariaDB
- Veritabanını işlemek için PhpMyAdmin
- Sorunları önlemek için özel izinler
Özel görüntü buradan indirilebilir.
Görüntüleri yüklemek için bir öğretici burada bulunabilir:
Image yüklendikten sonra Raspberry Pi'yi ethernet kablosu ile bilgisayarınıza bağlayın. Artık 169.254.10.1 IP adresinden bağlanmak için bir SSH istemcisi kullanabilirsiniz.
passwd komutunu kullanarak hemen yeni bir parola belirlemek iyi bir uygulamadır.
2. Kablosuz AP'yi yapılandırma
Proje bittiğinde wifi üzerinden RPi'ye bağlanabilmek istiyoruz, bu yüzden onu bir kablosuz AP'ye çevirelim. Bunun için bir öğretici burada bulunabilir.
Bu öğreticiyi yalnızca 7. adıma kadar izlemeniz gerekir. İnternet bağlantısını köprülememiz gerekmediğinden, bağımsız bir ağ oluşturmamız gerektiğinden 8. Adım gerekli değildir.
3. Arayüzleri etkinleştirme
Raspi-config'e girin
sudo raspi yapılandırması
Arabirim seçeneklerine gidin ve 1 kablolu, SPI ve I2C'yi etkinleştirin ve Pi'yi yeniden başlatın
3. Ekran için sürücülerin ayarlanması
Ekranı başlatma
/etc/modules dosyasını düzenleyin
sudo nano /etc/modüller
Aşağıdaki 2 satırı ekleyin
spi-bcm2835fbtft_device
Şimdi /etc/modprobe.d/fbtft.conf dosyasını düzenleyin
sudo nano /etc/modprobe.d/fbtft.conf
Aşağıdaki satırı ekleyin
seçenekler fbtft_cihaz adı=tm022hdh26 gpios=reset:25, dc:24, led:18 döndürme=90 hız=80000000 fps=60
Pi'yi yeniden başlatın. Ekranın arka ışığının yandığını görürseniz, her şey yolunda gitti. Bu, Pi her başlatıldığında ekranı başlatacak, ancak şimdi yalnızca siyah bir ekran görüntüleyecektir. Pi'nin içeriğini ekrana getirmek için ana ekranın içeriğini küçük LCD'ye kopyalamamız gerekiyor. Bunun için 'fbcp' adlı bir servis kullanacağız.
fbcp hizmetini yükleme
sudo apt-get install cmake
git klonu
cd rpi-fbcp
mkdir inşa
cd oluşturma/
cmake..
Yapmak
sudo kurulum fbcp /usr/local/bin/fbcp
Şimdi servisi kurduk. Ancak Pi başsız kullandığımız için içerik kopyalamak için uygun bir ekran yok. Pi'yi ekran içeriğini çıkarmaya zorlamak için /boot/config.txt dosyasını düzenleyin
sudo nano /boot/config.txt
Bu dosyaya aşağıdaki satırları bulun ve yorumunu kaldırın veya ekleyin:
hdmi_force_hotplug=1
hdmi_cvt=640 480 60 0 0 0 0
display_rotate=0
hdmi_group=2
hdmi_mode=87
RPi'yi yeniden başlatın ve konsola fbcp yazarak fbcp hizmetini test edin. Şimdi ekranın içeriğini LCD'de görmelisiniz.
Başlangıçta fbcp'yi çalıştırma
/etc/rc.local dosyasını düzenleyin ve ip adresi ile çıkış satırı arasına aşağıdaki satırı ekleyin
fbcp&
Şimdi, RPI her açıldığında ekran açılmalıdır.
3. Adım: Veritabanı
Sensör verilerini günlüğe kaydetmek ve saklamak için 4 tablo içeren kendi veritabanımı tasarladım. EER diyagramı yukarıdaki resimde gösterilmiştir.
1. Cihazlar
Bu tablo her sensörü içerir. Sensör adını, tanımını ve ölçüm birimini açıklar. Bu tablonun tablo eylemleriyle bire-çok ilişkisi vardır, benim durumumda olduğu gibi, ivme sensörü farklı görevleri gerçekleştirebilir.
2. Eylemler
Bu tablo, farklı sensörler için eylemleri saklar. Bir eylem her zaman belirli bir sensöre bağlıdır. Örneğin: 'TEMP' eylemi, sıcaklığı ölçen cihaza bağlıdır. Bu, 1 telli sıcaklık sensörü olacaktır.
3. Tarih
Bu tablo tüm sensör günlüklerini içerir. Her günlüğün bir eylem kimliği, bir değeri, bir zaman damgası ve bir gezinti kimliği vardır
4. Sürüşler
Bu tablo farklı sürüşleri saklar. Kullanıcı her yeni sürüşe başladığında bu tabloya yeni bir giriş yapılır.
Bu veritabanını Raspberry Pi'nize almak için GitHub'a gidin ve depoyu klonlayın/indirin. Veritabanının altında 2.sql dosyası bulacaksınız. Bunları PhpMyAdmin veya MySQL tezgahında çalıştırın. Şimdi veritabanı RPI'nizde olmalıdır.
4. Adım: Arka uç
Henüz yapmadıysanız, GitHub'ıma gidin ve depoyu klonlayın/indirin. Arka Uç klasörü altında, proje için tam arka ucu bulacaksınız.
Klasör, /helpers altındaki sensörleri okumak için sınıfları, /repositories altındaki veritabanıyla iletişim kurmak için dosyaları içerir ve ana uygulama kökte app.py adı altında bulunur.
Python paketlerini yükleme
Herhangi bir şeyi çalıştırmaya çalışmadan önce, önce python için bazı paketler kurmamız gerekiyor. RPI'nizin terminaline gidin ve aşağıdaki komutları yazın:
pip3 mysql-connector-python'u kurun
pip3 yükleme şişesi-socketio
pip3 flask-cors yükleyin
pip3 kurulum geventi
pip3 kurulum gevent-websocket
ÖNEMLİ NOT: Mariadb/Mysql parolanızı değiştirdiyseniz, parolayı config.py'de değiştirin!
Arka ucu test edin
python3 yorumlayıcısını (/usr/bin/python3) kullanarak app.py'yi çalıştırın. Hata olmadığından emin olun.
Arka ucu önyüklemede çalıştırma
motoDash_backend.service dosyasını düzenleyin ve YOURFILEPATH dosyasını deponun kaydedildiği yola değiştirin.
Şimdi bu dosyayı /etc/systemd/system/ dizinine kopyalayın
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Artık, RPi her önyüklendiğinde arka uç otomatik olarak başlayacaktır.
Adım 5: Ön Uç
GitHub Repo'ya gidin. Ön Uç dizininin içeriğini /var/www/html içine kopyalayın.
Ön ucun çalışmasını sağlamak için yapmanız gereken tek şey bu. Bu klasör, web arayüzü için tüm web sayfalarını, stilleri ve komut dosyalarını içerir. Ayrıca arka uç ile iletişim kurar. Her şeyin olması gerektiği gibi çalışıp çalışmadığını test etmek için RPi'nize bağlı olduğunuzdan emin olun ve RPi'nin IP adresini bir tarayıcıya yazın. Web arayüzünün ana sayfasını görmelisiniz.
Not: Web sitesi duyarlıdır, bu nedenle masaüstünde olduğu gibi mobilde de kullanabilirsiniz.
Adım 6: Gösterge Tablosunu Ekranda Görüntüleme
Ön uç, yalnızca küçük ekran için kullanılan kendi gizli web sayfasına sahiptir. Pi'yi bu web sitesine tam ekran modunda otomatik olarak başlatacağız.
Önyükleme seçenekleri altında raspi-config'de RPi'nin masaüstü otomatik oturum açmaya ayarlandığından emin olun
sudo raspi yapılandırması
Şimdi gizli yapılandırma klasörüne gidin ve orada yeni bir dosya oluşturun
cd.config
sudo mkdir -p lxsession/LXDE-pi
sudo nano lxsession/LXDE-pi/otomatik başlatma
Bu dosyaya aşağıdaki satırları ekleyin ve kaydedin
@xscreensaver -sıçrama yok
@xset kapalı
@xset -dpms
@xset s boş
@chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognitoŞimdi Pi her zaman bu web sayfasına önyükleme yapmalıdır
Adım 7: Elektroniği Lehimleme
Breakout board'u alın ve bileşenlerinizi yapılandırılmış bir şekilde üzerine yerleştirin. Üzerinde oldukça kötü bir iş yaptığım için bileşenleri nasıl lehimlediğimin düzenini tartışmayacağım. Kart üzerinde ayrı pin başlıkları kullandım, bu yüzden sadece sensörleri ve modülleri doğru pine bağlamam gerekiyordu. Hangi pinin ne için olduğunu bildiğinizden emin olun!
Lehimleme sırasında bazı ipuçları:
- Daha büyük mesafelerden geçerken yalıtımlı teller kullanın. İstediğiniz son şey devrenizdeki kısa devre
- Bir bileşeni veya teli lehimledikten sonra sürekliliğini bir multimetre ile kontrol edin. Ayrıca düzenli olarak kısa devre olup olmadığını kontrol edin.
- Çok fazla veya çok az lehim kullanmayın!
- Lehimlemeyi bilmiyorsanız, önce başka bir prototipleme panosunda alıştırma yapın. Lehimleme ile ilgili bir eğitim burada bulunabilir.
Şimdi telleri sensörlere yeterince uzun lehimleyin ve her şeyin kısa devre yapmadığından ve temiz olmadığından emin olmak için etrafına biraz küçülen sargı koyun.
Bitirdiğinizde, herhangi bir kısa devre veya kötü bağlantı olup olmadığını iki kez kontrol edin ve doğru bağlantı olup olmadığını elektrik şemasıyla olan her bağlantıyı kontrol edin. Her şeyin doğru yapıldığından emin olduktan sonra, devam edin ve devre kartını RPi'ye koyun, 2,5 mm'lik vidalar ve ayırıcılarla sıkıca vidalayın. Sensörleri doğru pimlere bağlayın ve web sitesini kullanarak hepsini test edin.
Adım 8: Güç Kaynağı
Raspberry Pi'ye güç sağlamak için bir 12V-5V usb adaptörü kullanacağız. Bu adaptör motosiklet aküsüne bağlanacaktır. Kontak açıldığında RPi'nin açıldığından emin olmak için bir röle kullanacağız. Röle, arka lambadan bir voltaj algıladığında RPi güç devresini kapatacaktır (kontak açıldığında arka lamba her zaman yanar).
Bununla ilgili daha ayrıntılı bir eğitim için şu sayfaya göz atın: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -kontrolörler.16921/
Adım 9: Konut
Ekran Muhafazası
Ekran için kendinize ekran boyutunda sert bir plastik kutu alın. Ekran kadar büyük bir kare delik açın ve ekranı vidalamak için uygun delikler açın. Önde RGB LED ve LDR için 2 delik daha açmanız gerekir.
Bu kutuyu bir cıvata kullanarak akıllı telefon tutucusunun üstüne monte ettim.
Sıcaklık sensörü
Sıcaklık sensörünü yerleştirmek için motosikletime uyan bir yağ göstergesini 3D Bastırdım.
Ahududu Pi
Ahududu Pi'yi motosikletin içinde güvenli bir yere monte edin, cırt bantlar kullanarak çamurluklardan birinin altına yerleştirdim. Ve bir mahfaza ve biraz plastik kullanarak onu elementlerden korudu.
ivmeölçer
İvmeölçeri güvenli bir yere, tercihen motosiklet çerçevesine monte edin.
Not:
Benimle aynı yuvaya sahip olmanıza gerek yok, istediğiniz gibi bitirmekte özgürsünüz. Sadece elektronik bileşenlerin yağmur ve tozdan korunduğundan emin olun.
Önerilen:
Kablosuz Duyuru Panosu (Bluetooth): 5 Adım (Resimlerle)
Kablosuz Bildiri Panosu (Bluetooth): Her şeyin dijitalleştiği bu modern dünyada, neden geleneksel Bildiri panosu yeni bir görünüm kazanmasın. Öyleyse, Bluetooth kontrollü bir Bildiri Panosu yapalım çok basit. Bu kurulum statik bildirim yerine kullanılabilir. kolejlerde olduğu gibi yönetim kurulu /
MXY Board - Düşük Bütçeli XY Plotter Çizim Robotu Panosu: 8 Adım (Resimlerle)
MXY Kartı - Düşük Bütçeli XY Plotter Çizim Robotu Kartı: Amacım, XY çizici çizim makinesini düşük bütçeli yapmak için mXY kartını tasarlamaktı. Ben de bu projeyi yapmak isteyenlerin işini kolaylaştıran bir pano tasarladım. Bir önceki projede 2 adet Nema17 step motor kullanılırken bu kart u
Dark Sky API Kullanarak Hava Durumu Panosu Oluşturun: 5 Adım (Resimlerle)
Dark Sky API'sini Kullanarak Bir Hava Durumu Panosu Oluşturun: Dark Sky, hava tahmini ve görselleştirme konusunda uzmanlaşmıştır. Dark Sky'ın en havalı yönü, dünyanın neredeyse her yerinden hava durumu verilerini almak için kullanabileceğimiz hava durumu API'sidir. Sadece hava yağmurlu veya güneşli değil, aynı zamanda sıcaklık
IoT RPi LED Mesaj Panosu: 3 Adım (Resimlerle)
IoT RPi LED Mesaj Panosu: Bu Instructable'da, bir Raspberry Pi (RPi) kullanarak wifi bağlantılı bir LED mesaj panosu yaptım. Kullanıcılar, 8x8 LED ekranda görünecek kısa mesajları göndermek için tarayıcılarını kullanarak Raspberry Pi'nin web sunucusuna bağlanacaklar. Arayüzden beri
Stranger Things'den Esinlenen Uygulama Kontrollü Alfabe Panosu: 7 Adım (Resimlerle)
Stranger Things'den Esinlenen Uygulama Kontrollü Alfabe Panosu: Tüm bunlar birkaç hafta önce dokuz yaşındaki yeğenime Noel için ne alacağımı bulmaya çalışırken başladı. Ağabeyim sonunda Stranger Things'in büyük bir hayranı olduğunu söyledi. Ona ne almak istediğimi anında biliyordum, öyle bir şey ki