Mündəricat:

Raspberry Pi Motosiklet Tablosuna: 9 Addım (Şəkillərlə birlikdə)
Raspberry Pi Motosiklet Tablosuna: 9 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Motosiklet Tablosuna: 9 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Motosiklet Tablosuna: 9 Addım (Şəkillərlə birlikdə)
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu 2024, Noyabr
Anonim
Raspberry Pi Motosiklet Tablosuna
Raspberry Pi Motosiklet Tablosuna

Howest Kortrijk -də bir tələbə Multimedia və Kommunikasiya texnologiyası olaraq öz IoT layihəmi hazırlamalı oldum. Bu, ilk ildə izlənilən bütün modulları böyük bir layihədə birləşdirəcəkdir. Boş vaxtımda motosikletimi çox sürdüyüm üçün MCT -də əldə etdiyim bacarıqlardan istifadə edərək motosikletim üçün bir şey hazırlamağa qərar verdim: Ağıllı tablosuna.

MotoDash, fanatik motosikletçilər üçün hazırlanmış Raspberry Pi ilə işləyən bir paneldir, bu da sürücüyə performanslarını izləmək imkanı verir.

Bu tablonun xüsusiyyətləri nələrdir?

  • Cari əyilmə bucağına baxmaq
  • Cari sürətlənməyə baxılır
  • Yağ istiliyini izləmək imkanı
  • Qaranlıqda gəzərkən avtomatik olaraq qaranlıq temaya keçin
  • Gəzinti məlumatlarınızı qeyd edin və öz statistikanıza baxın

Təchizat

Əsas hesablama vahidi:

Raspberry Pi Bu sistemin əsas nəzarətçisidir

Elektronika:

  • 12V-5V motosiklet üçün USB şarj cihazı RPi üçün əsas güc təchizatı
  • RPi -nin güc dövrəsini açmaq/söndürmək üçün 4 Pinli Fuse Relay 12VSwitch
  • Atlama telləri olan çörək lövhəsi (isteğe bağlı) Test və prototip hazırlamaq üçün
  • Rezistorlar dəsti

    0,2 mm telin fərqli rəngləri

  • Breakout Pi plusBu, bütün komponentlərinizi lehimləyə biləcəyiniz bir prototip lövhəsidir. Birbaşa Raspberry Pi -nin üstünə oturmaq üçün hazırlanmışdır, buna görə də layihənin ölçüləri minimumda qalır.

Sensorlar və modullar:

  • Suya davamlı DS18B20 1 Telli Temperatur Sensoru Yağ temperaturu sensoru
  • 3 Axes Gyro Accelerometer MPU6050Tilt/accel sensoru
  • İşıqdan asılı rezistor (LDR)
  • MCP3008-SPI İnterfeysi olan 8 kanallı 10 bitlik ADC

    TFT SPI ekranı (və ya ehtiyaclarınıza uyğun olan hər hansı digər lcd ekran)

    RGB LED

Korpus:

  • Plastik qutu
  • Moruq pi çantası

Alətlər:

  • Lehimləmə dəmir və lehim
  • 2,5 mm vintlər və boşluqlar
  • Su keçirməyən kabel bağlayıcıları
  • Super yapışqan

Addım 1: Prototipləşdirmə

Prototipləşdirmə
Prototipləşdirmə
Prototipləşdirmə
Prototipləşdirmə

Hər şeyi daimi etməzdən əvvəl, layihəni bir çörək taxtasına yığacağıq. Səhv etməyəcəyinizə tam əminsinizsə bu addımı atlaya bilərsiniz. Elektrik/çörək taxtası sxemini aşağıdakı PDF -də tapa bilərsiniz. Dövrəni tam olaraq təsvir edildiyi kimi birləşdirin. RPi -də 5V pin deyil, yalnız 3.3V pin istifadə etdiyinizə əmin olun. Moruq Pi -ni işə salmadan əvvəl dövranınızı iki dəfə yoxlayın. Şort olmadığından əmin olun!

Addım 2: Raspberry Pi hazırlanması

Raspberry Pi hazırlanır
Raspberry Pi hazırlanır

Əvvəlcə Raspberry Pi qurmaq niyyətindəyik. Raspberry Pi, öz əməliyyat sistemini işlədə bilən mini kompüterdir. Bu layihə üçün sensordata emal etmək, veb saytı yerləşdirmək, arxa planı və verilənlər bazasını idarə etməkdən məsuldur …

1. Xüsusi Raspbian Şəkilini quraşdırın

Təqdim olunan görüntü artıq bu layihəyə başlamaq üçün lazım olan proqram paketlərini ehtiva edir:

  • Saytın ön hissəsi üçün apache
  • MariaDB verilənlər bazası üçün
  • Verilənlər bazasını idarə etmək üçün PhpMyAdmin
  • Problemlərin qarşısını almaq üçün xüsusi icazələr

Xüsusi şəkli buradan yükləyə bilərsiniz.

Şəkilləri quraşdırmaq üçün bir təlimatı burada tapa bilərsiniz:

Şəkil quraşdırıldıqdan sonra Raspberry Pi -ni kompüterinizə bir ethernet kabeli ilə qoşun. İndi 169.254.10.1 IP ünvanına qoşulmaq üçün bir SSH müştəri istifadə edə bilərsiniz

Passwd əmrindən istifadə edərək dərhal yeni bir parol təyin etmək yaxşı bir tətbiqdir

2. Simsiz AP -nin konfiqurasiyası

Layihə başa çatdıqda, WiFi vasitəsilə RPi -yə qoşulmaq istəyirik, buna görə onu simsiz bir AP -ə çevirin. Bunun üçün bir təlimatı burada tapa bilərsiniz.

Yalnız 7 -ci addıma qədər bu təlimatı izləməlisiniz. 8 -ci addım tələb olunmur, çünki internet bağlantısı bağlamağımıza ehtiyac yoxdur, ancaq müstəqil bir şəbəkə yaratmalıyıq.

3. İnterfeyslərin işə salınması

Raspi-config-ə keçin

sudo raspi-config

Arayüz seçimlərinə keçin və 1 telli, SPI və I2C-ni aktiv edin və Pi-ni yenidən başladın

3. Ekran üçün sürücülərin qurulması

Ekranın işə salınması

/Etc /modules faylını redaktə edin

sudo nano /etc /modulları

Aşağıdakı 2 sətir əlavə edin

spi-bcm2835fbtft_device

İndi /etc/modprobe.d/fbtft.conf redaktə edin

sudo nano /etc/modprobe.d/fbtft.conf

Aşağıdakı sətri əlavə edin

variantlar fbtft_device adı = tm022hdh26 gpios = sıfırlama: 25, dc: 24, led: 18 döndürmə = 90 sürət = 80000000 fps = 60

Pi'yi yenidən başladın. Ekranın arxa işığını görürsünüzsə, hər şey yaxşı gedir. Pi hər dəfə açıldıqda ekranı işə salacaq, ancaq indi yalnız qara bir ekran göstərəcək. Pi -nin məzmununu ekranda görmək üçün əsas ekranın məzmununu kiçik LCD -yə kopyalamalıyıq. Bunun üçün 'fbcp' adlı bir xidmətdən istifadə edəcəyik.

Fbcp xidmətinin quraşdırılması

sudo apt-get install cmake

git klonu

cd rpi-fbcp

mkdir qurmaq

cd qurmaq/

vallah..

etmək

sudo fbcp/usr/local/bin/fbcp qurun

İndi xidməti quraşdırdıq. Bununla birlikdə, Pi başsız istifadə etdiyimiz üçün məzmunu kopyalamaq üçün ekran yoxdur. Pi -ni ekran məzmununu çıxarmağa məcbur etmək üçün /boot/config.txt redaktə edin

sudo nano /boot/config.txt

Bu fayla aşağıdakı sətirləri tapın və şərh edin və ya əlavə edin:

hdmi_force_hotplug = 1

hdmi_cvt = 640 480 60 0 0 0 0

display_rotate = 0

hdmi_qrupu = 2

hdmi_mode = 87

RPi'yi yenidən başladın və konsola fbcp yazaraq fbcp xidmətini sınayın. İndi LCD -də ekranın məzmununu görməlisiniz.

Başlanğıcda fbcp işləyir

/Etc/rc.local redaktə edin və ip ünvanı ilə çıxış xətti arasına aşağıdakı xətti əlavə edin

fbcp &

İndi ekran hər dəfə RPi açıldıqda açılmalıdır

Addım 3: Verilənlər bazası

Verilənlər bazası
Verilənlər bazası

Sensordata daxil olmaq və saxlamaq üçün 4 cədvəldən ibarət öz verilənlər bazamı hazırlamışam. EER diaqramı yuxarıdakı şəkildə göstərilmişdir.

1. Cihazlar

Bu cədvəldə hər bir sensor var. Sensorun adını, təsvirini və ölçü vahidini təsvir edir. Bu cədvəl, masa hərəkətləri ilə birdən çox əlaqəyə malikdir, mənim vəziyyətimdə olduğu kimi, accelero sensoru fərqli vəzifələri yerinə yetirə bilər.

2. Fəaliyyətlər

Bu cədvəldə fərqli sensorlar üçün hərəkətlər saxlanılır. Bir hərəkət həmişə müəyyən bir sensora bağlıdır. Məsələn: 'TEMP' hərəkəti temperaturu ölçən cihaza bağlıdır. Bu 1 telli temperatur sensoru olardı.

3. Tarix

Bu cədvəldə bütün sensor qeydləri var. Hər bir qeyddə bir hərəkət id, bir dəyər, bir zaman damgası və bir rideid var

4. Gəzinti

Bu cədvəldə müxtəlif gəzintilər saxlanılır. İstifadəçi hər dəfə yeni bir səfərə başlayanda bu cədvələ yeni bir giriş daxil edilir

Bu məlumat bazasını Raspberry Pi -də əldə etmək üçün GitHub -a daxil olun və anbarı klonlayın/yükləyin. Verilənlər bazası altında 2.sql faylı tapa bilərsiniz. Bunları PhpMyAdmin və ya MySQL iş tezgahında işə salın. İndi verilənlər bazası RPi -də olmalıdır.

Addım 4: Arxa plan

Hələ etməmisinizsə, GitHub -a gedin və anbarı klonlayın/yükləyin. Arxa qovluq altında layihənin tam arxa tərəfini tapa bilərsiniz.

Qovluqda /köməkçilər altında sensorlar oxumaq üçün dərslər, /verilənlər bazası altında verilənlər bazası ilə ünsiyyət qurmaq üçün fayllar var və əsas tətbiq kökündə app.py adı altında yerləşir.

Python paketlərinin quraşdırılması

Hər hansı bir işə başlamazdan əvvəl əvvəlcə python üçün bəzi paketlər qurmalıyıq. RPi terminalınıza daxil olun və aşağıdakı əmrləri yazın:

pip3 mysql-connector-python qurun

pip3 flask-socketio qurun

pip3 flask-cors quraşdırın

pip3 gevent quraşdırın

pip3 gevent-websocket quraşdırın

Vacib Qeyd: Mariadb/Mysql şifrənizi dəyişdirmisinizsə, config.py -də şifrənizi dəyişdirin!

Arxa planı sınayın

Python3 tərcüməçisini (/usr/bin/python3) istifadə edərək app.py faylını işə salın. Səhv olmadığından əmin olun.

Çəkmədə arxa tərəfi işlətmək

MotoDash_backend.service -i redaktə edin və YOURFILEPATH -ı deponun saxlandığı yola dəyişin.

İndi bu faylı/etc/systemd/system/-ə kopyalayın

sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.

İndi RPi hər dəfə açıldıqda arxa tərəf avtomatik olaraq başlayacaq.

Addım 5: Ön tərəf

Cəbhə
Cəbhə
Cəbhə
Cəbhə

GitHub Repoya daxil olun. Frontend qovluğunun məzmununu/var/www/html -ə kopyalayın.

Cəbhənin işləməsi üçün etməli olduğunuz şey budur. Bu qovluqda veb interfeysi üçün bütün veb səhifələr, üslub və skriptlər var. Arxa tərəflə də əlaqə qurur. Hər şeyin lazım olduğu kimi işlədiyini yoxlamaq üçün RPi -yə qoşulduğunuzdan əmin olun və brauzerdə RPi -nin IP ünvanını yazın. Veb interfeysinin ana səhifəsini görməlisiniz.

Qeyd: Veb sayt cavab verir, buna görə də onu masaüstündə olduğu kimi mobil cihazlarda da istifadə edə bilərsiniz

Addım 6: Göstəricilər panelini ekranda göstərin

Göstərici panelini ekranda göstərmək
Göstərici panelini ekranda göstərmək

Ön tərəfin yalnız kiçik ekran üçün istifadə olunan öz gizli veb səhifəsi var. Pi veb saytını avtomatik olaraq tam ekran rejimində açacağıq.

Yükləmə seçimləri altında RPi-nin raspi-config-də masa üstü autologin-ə qurulduğundan əmin olun

sudo raspi-config

İndi gizli konfiqurasiya qovluğuna girin və orada yeni bir fayl yaradın

cd. konfiqurasiya

sudo mkdir -p lxsession/LXDE -pi

sudo nano lxsession/LXDE-pi/autostart

Bu fayla aşağıdakı sətirləri əlavə edin və qeyd edin

@xscreensaver -yoxdur

@xset söndürüldü

@xset -dpms

@xset s Noblank

@chromium-browser-noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognito

İndi Pi hər dəfə bu veb səhifəsinə başlamalıdır

Addım 7: Elektronikanın lehimlənməsi

Elektronikanın lehimlənməsi
Elektronikanın lehimlənməsi
Elektronikanın lehimlənməsi
Elektronikanın lehimlənməsi
Elektronikanın lehimlənməsi
Elektronikanın lehimlənməsi
Elektronikanın lehimlənməsi
Elektronikanın lehimlənməsi

Qırılma lövhəsini götürün və komponentlərinizi strukturlaşdırılmış şəkildə yerləşdirin. Üzərindəki komponentləri necə lehimlədiyimin planını müzakirə etməyəcəyəm, çünki çox pis iş görmüşəm. Lövhədə ayrı pin başlıqlarından istifadə etdim ki, yalnız sensorları və modulları sağ pinə bağlamalı olum. Hansı pinin nə üçün olduğunu bildiyinizə əmin olun!

Lehim edərkən bəzi məsləhətlər:

  • Daha böyük məsafələri keçərkən izolyasiya edilmiş tellərdən istifadə edin. İstədiyiniz son şey dövrənizdəki şortlardır
  • Bir komponenti və ya teli lehimlədikdən sonra onun davamlılığını multimetrlə yoxlayın. Qısaqapanmalar üçün də mütəmadi olaraq yoxlayın.
  • Çox və ya çox az lehim istifadə etməyin!
  • Lehimləməyi bilmirsinizsə, əvvəlcə başqa bir prototip lövhəsində tətbiq edin. Lehimləmə haqqında bir təlimatı burada tapa bilərsiniz.

İndi tellərə uzun müddət sensorlar bağlayın və hər şeyin qısaldılmadığından və təmiz olmadığından əmin olmaq üçün ətrafına büzülən sarğı qoyun.

Bitirdikdən sonra hər hansı bir şort və ya pis əlaqəni yoxlayın və düzgün bir əlaqə olub olmadığını elektrik sxemi ilə yoxlayın. Hər şeyin düzgün edildiyinə əmin olduqdan sonra davam edin və kəsmə lövhəsini RPi -yə qoyun, 2,5 mm vintlər və dayaqlar ilə sıxın. Sensorları sağ pinlərə bağlayın və hamısını veb saytdan istifadə edərək sınayın.

Addım 8: Enerji təchizatı

Raspberry Pi-ni gücləndirmək üçün 12V-5V USB adapterindən istifadə edəcəyik. Bu adapter motosikletin batareyasına qoşulacaq. Kontak açarı açıldıqda RPi -nin işə düşdüyündən əmin olmaq üçün bir röleyi istifadə edəcəyik. Röle, arxa fənərdən bir gərginlik algıladığında RPi güc dövrəsini bağlayacaq (alov açıldıqda arxa işıq həmişə yanır).

Bununla əlaqədar daha ətraflı bir dərs üçün bu səhifəyə baxın: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -nəzarətçilər.16921/

Addım 9: Mənzil

Mənzil
Mənzil
Mənzil
Mənzil
Mənzil
Mənzil

Ekran Korpusu

Ekran üçün özünüzə ekranın ölçüsündən bərk plastik qutu götürün. Ekranın böyüklüyündə bir kvadrat çuxur və ekranı vidalaşdırmaq üçün uyğun deliklər kəsin. Ön tərəfdə RGB LED və LDR üçün daha 2 delik açmalısınız.

Bu qutuyu bir bolt istifadə edərək bir smartfon tutacağının üstünə qoydum.

Temperatur Sensoru

Temperatur sensörünü yerləşdirmək üçün motosikletimə uyğun olan yağ ölçən 3D çap etdim.

Moruq Pi

Moruq Pi -ni motosikletin içərisində etibarlı bir yerə quraşdırın, bir neçə cırtdan kəmər istifadə edərək onu qanadlardan birinin altına qoydum. Bir korpus və bir az plastik istifadə edərək onu elementlərdən qorudu.

Akselerometr

Akselerometri etibarlı bir yerə, tercihen motosiklet çərçivəsinin özünə quraşdırın.

Qeyd:

Mənimlə eyni mənzilə ehtiyacınız yoxdur, istədiyiniz kimi bitirməkdə sərbəstsiniz. Yalnız elektron komponentlərin yağışdan və tozdan qorunduğundan əmin olun.

Tövsiyə: