Mündəricat:

Pike - Daha Təhlükəsiz Sürün, Daha Ağıllı Sürün, Bir Pike Sürün !: 5 Addım
Pike - Daha Təhlükəsiz Sürün, Daha Ağıllı Sürün, Bir Pike Sürün !: 5 Addım

Video: Pike - Daha Təhlükəsiz Sürün, Daha Ağıllı Sürün, Bir Pike Sürün !: 5 Addım

Video: Pike - Daha Təhlükəsiz Sürün, Daha Ağıllı Sürün, Bir Pike Sürün !: 5 Addım
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Noyabr
Anonim
Pike - Daha Təhlükəsiz Sürün, Daha Ağıllı Sürün, Bir Pike Sürün!
Pike - Daha Təhlükəsiz Sürün, Daha Ağıllı Sürün, Bir Pike Sürün!

Pike adlı layihəmə xoş gəldiniz!

Bu təhsilimin bir hissəsi olaraq bir layihədir. Mən Belçikadakı Howest NMCT tələbəsiyəm. Məqsəd, Raspberry Pi istifadə edərək ağıllı bir şey etmək idi. Ağıllı etmək istədiyimiz tam azadlığa sahib idik.

Mənim üçün velosipedimi bir qədər ağıllı etmək asan bir seçim idi. Velosiped sürməyimlə şəhərdəki təyinat yerinə daha sürətli getdiyim bir yerdə yaşayıram.

Həm də bir dəfə velosipedimlə yıxıldım. Elbəyimi sındırdım. Düz düşmək istədiyimi arxamdakı sürücüyə göstərdiyim üçün yıxıldım. Yol sürüşkən idi və sükan arxasında tək əlim olduğuna görə idarəetməni itirdim. Bu səbəbdən ilk fikrim velosipedimə istiqamətləndirici göstəricilər bağlamaq idi. Oradan başqa nə əlavə edə biləcəyimi düşünməyə başladım və GPS izləmə ilə gəldim ki, daha sonra hansı marşrutu seçdiyinizi görə biləsiniz.

Pike nə edə bilər?

Pike, sürücülük sessiyalarınızın qeydlərini saxlayacaq. Getdiyiniz marşrutu izləyəcək, orta sürətinizi və sürdüyünüz məsafəni hesablayacaq. Hər seansdan sonra gəzintinizin harada və necə olduğunu yoxlamaq üçün veb sayta daxil ola bilərsiniz. Velosipedə kimin minəcəyini seçə biləcəyiniz üçün bir şey də yaradacağıq ki, daha çox insan istəsə sizin Pike -dən istifadə edə bilər!

Addım 1: Parçalar

Parçalar
Parçalar

Layihəmi yenidən yaratmaq üçün nəyə ehtiyacınız olduğunu açıq şəkildə bilməlisiniz. Başlamazdan əvvəl demək istəyirəm ki, bu layihə heç də ucuz deyildi. Həm də yerli bir mağazada çox baha olan tellər aldım. Onları bir neçə avro/dollara onlayn satın ala bilərsiniz (bunu etmənizi məsləhət görürəm). Gözləməyə vaxtım yox idi. Buna görə də onları yerli mağazamdan baha qiymətə aldım.

Alış -veriş siyahısı

- Moruq Pi

- Jumper Kabelləri

- Powerbank, Pi -yə kifayət qədər güc verdikcə hər şeyi edəcək

- Maxxter Smartphone Tutucusu (əsasən tapa biləcəyiniz ən ucuz …)

- Maxxter Smartphone Tutucu (ağ dairəvi olanlar da plastik borulara uyğun çox ucuzdur)

- Plastik Borular (sükan çarxına bərkidilmək üçün smartfon yuvasına uyğun olan düymələrə uyğun bir delik açdı)

- Düymələr*

- 6x 220 Ω rezistorlar

- 1x 5K Ω rezistor

- LCD Ekran

- DS18B20 Bir Telli İstilik Sensoru

- Adafruit GPS-modulu Ultimate Breakout 66 Kanal

- GPS Antenası - Xarici Aktiv Anten - 5 metrlik SMA ilə 3-5V 28db (GPS siqnalını gücləndirmək üçün)

- uFLto SMA Adapteri (əlavə antenanı Adafruit GPS moduluna bağlamaq üçün)

Qeydlər:

* Şəkillərdə görə biləcəyiniz metallardır, bəlkə də ən idealları deyil, amma yerli mağazamda olanları idi. Tamamilə su keçirməyən düymələrə girə bilərsiniz, amma bunlar bir düymə üçün bahalı olduğunu düşündüyüm bir parça 15 avro idi. İstədiyiniz düyməni ala bilərsiniz, çəkmə sistemi ilə işlədiyi müddətcə yaxşı olacaqsınız.

Addım 2: Hər şeyi bağlayın

Hər şeyi tel edin
Hər şeyi tel edin
Hər şeyi tel edin
Hər şeyi tel edin

O qədər də çətin deyil. GPS modulu USB -yə qoşulduğundan. Yuxarıdakı şəkildə görə bilərsiniz ki, rəngləri USB adapterdəki kabellərlə uyğunlaşdıra bilərsiniz. Düymələr və LEDlər 220 Ω -ə qoşulur. DS18B20 Temperatur sensoru 5K Ω rezistora qədər bağlanmışdır.

Addım 3: Raspberry Pi -ni konfiqurasiya edək

Raspberry Pi'nizi Konfiqurasiya edək!
Raspberry Pi'nizi Konfiqurasiya edək!

Əvvəlcə burada öyrənə biləcəyiniz Raspbian -a ehtiyacınız olacaq və sonra bu depodakı addımları izləməlisiniz.

Database cədvəlim minimaldır. 4 cədvəldən ibarətdir:

  1. tbluser

    1. İstifadəçi kimliyi (kiçik rəqəm, 2) AUTO ARTIRMA, İMZASIZ
    2. İstifadəçi adı (varchar, 175)
    3. UserLogin (varchar, 180)
    4. İstifadəçi Şifrəsi (varchar, 255)
    5. UserActive (tinyint, 1) İMZASIZ
  2. tblsession

    1. SessionID (int, 10) AUTO ARTIRMA, İMZASIZ
    2. Sessiya Tarixi (tarix)
    3. İstifadəçi adı
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO ARTIRMA, İMZASIZ
    2. Sensor Adı (varchar, 150)
  4. tarix

    1. HistoryID (bigint, 20) AUTO ARTIRMA, İMZASIZ
    2. SensorID
    3. Sessiya ID
    4. HistoryValue (varchar, 255)
    5. HistoryTime (vaxt, 3)

Amma.sql dump faylına da baxa bilərsiniz

Addım 4: Kodlamağa başlayaq

Kodlamağa Başlayaq
Kodlamağa Başlayaq

Layihənin işləməsi üçün mənim kodumu burada tapa bilərsiniz.

GPS

GPS Modulu ilə işə başlamaq çox sadədir. Etməyiniz lazım olan şey, gpsd-py3 paketini Python Ətrafınıza yükləməkdir. Sonra həyatınızı asanlaşdırmaq üçün bu kitabxanadan istifadə edə bilərsiniz. Uzun müddətli, enlem, sürət və s. Kimi məlumatları GPS -dən əldə etmək üçün kodlaşdırma nümunələrindən istifadə edə bilərsiniz.

LCD ekran

LCD Ekranın işləməsi üçün kitabxananı Adafruit -dən quraşdırmalısınız. Kodlaşdırma nümunələrini burada tapa bilərsiniz.

DS18B20 Bir Telli İstilik Sensoru

Bir telli sensorunuzu tapmaq üçün bir az daha çox iş görməli olacaqsınız. İlk növbədə bir telli avtobusu aktivləşdirməliyik. Bunu etmək üçün addımları izləyin:

  1. sudo raspi-config
  2. İnterfeys Seçimləri
  3. 1-Tel

Sensordan verilənləri oxumağa başlamaq üçün bir telimizin necə adlandırıldığını bilmək lazımdır. Bu tip cd/sys/bus/w1/devices/

İki cihazı görəcəksiniz, biri Raspberry Pi-nin özü, digəri isə 28-0 kimi bir şeyə bənzəməlidir … və s. Pythonda məlumatları necə oxuya biləcəyinizdir. Pythonda məlumatları oxumaq üçün onu bir fayl olaraq açmalısınız. Beləliklə, faylı açmağın yolu belə görünməlidir:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Düymələr və LEDlər

Bunlar əsas funksiyalardır, bu Dərslər qovluğunda koduma baxa bilərsiniz.

SQL bəyanatları

Demək olar ki, hər bir ifadə əsas SQL ifadələridir. Bununla birlikdə sensorlarımın dəyərlərini necə xilas etdiyimi izah etmək istərdim. Sensorlarımı tblsensorlara əl ilə əlavə etdim. Hansı sensorun kimliyinin olduğunu bildim. Uzunluq, Enlem və Sürətimi izləyirəm. Hər bir dəyər üçün fərqli bir funksiya hazırladım. Sadəcə eyni olan 3 sql bəyanat verərdim, amma hansı dəyərə sahib olmaq istədiyimdən asılı olaraq WHERE ifadəsini dəyişdim.

Tövsiyə: