Sadržaj:

Pike - Vozite sigurnije, vozite pametnije, vozite štuku !: 5 koraka
Pike - Vozite sigurnije, vozite pametnije, vozite štuku !: 5 koraka

Video: Pike - Vozite sigurnije, vozite pametnije, vozite štuku !: 5 koraka

Video: Pike - Vozite sigurnije, vozite pametnije, vozite štuku !: 5 koraka
Video: Cyberpunk 2077 (Киберпанк 2077 без цензуры) #3 Прохождение (Ультра, 2К) ► Пошёл ты, Джонни! 2024, Jun
Anonim
Pike - Vozite sigurnije, vozite pametnije, vozite štuku!
Pike - Vozite sigurnije, vozite pametnije, vozite štuku!

Dobrodošli u moj projekt koji se zove Pike!

Ovo je projekat koji je dio mog obrazovanja. Ja sam student NMCT -a na Howest -u u Belgiji. Cilj je bio napraviti nešto pametno pomoću Raspberry Pi. Imali smo potpunu slobodu u kojoj smo htjeli postati pametni.

Za mene je to bio lak izbor učiniti moj bicikl malo pametnijim. Živim na mjestu gdje me vožnja biciklom brže dovodi do odredišta u gradu.

Takođe sam jednom pao s biciklom. Slomio sam lakat. Pao sam jer sam pokazao vozaču iza sebe da želim ići desno. Put je bio klizav i izgubio sam kontrolu jer sam imao samo jednu ruku na upravljaču. Zato je moja prva ideja bila da na bicikl pričvrstim pokazivače smjera. Od tada sam počeo razmišljati što bih još mogao dodati pa sam smislio GPS praćenje kako biste kasnije mogli vidjeti kojom ste rutom krenuli.

Pa što Pike može učiniti?

Pike će voditi evidenciju o vašim vožnjama. Pratit će koju ste rutu prešli, izračunati će vašu prosječnu brzinu i udaljenost koju ste prešli. Nakon svake sesije, možete se prijaviti na web stranicu kako biste provjerili gdje i kako ste vozili. Također ćemo stvoriti nešto tako da možete izabrati tko će voziti bicikl kako bi više ljudi moglo koristiti vaš Pike ako to žele!

Korak 1: Dijelovi

The Parts
The Parts

Očigledno je da morate znati šta vam je potrebno za ponovno stvaranje mog projekta. Prije nego što počnemo, želio bih reći da ovaj projekt nije bio baš jeftin. Također sam kupio žice u lokalnoj trgovini koje su bile preskupe. Možete ih kupiti na internetu za par eura/dolara (što vam preporučujem). Nisam imala vremena čekati. Zato sam ih po lokalnoj trgovini kupio po visokoj cijeni.

Lista za kupovinu

- Raspberry Pi

- Premosni kablovi

- Powerbank će raditi sve dok vašem Pi -u daje dovoljno snage

- Maxxter držač za pametni telefon (u osnovi najjeftiniji koji možete pronaći …)

- Maxxter držač za pametni telefon (bijeli kružni, također vrlo jeftini za postavljanje u moje plastične cijevi)

- Plastične cijevi (izbušila rupu u nju kako bi se uklopile tipke koje stanu u držač pametnog telefona za pričvršćivanje na upravljač)

- Dugmad*

- 6x 220 Ω otpornika

- 1x 5K Ω otpornik

- LCD ekran

- DS18B20 Jednožilni temperaturni osjetnik

- Adafruit GPS-modul Ultimate Breakout 66 Channel

- GPS antena - Vanjska aktivna antena - 3-5V 28db sa 5 -metarskim kablom SMA (za pojačavanje GPS signala)

- uFLto SMA adapter (za povezivanje dodatne antene na Adafruit GPS-modul)

Napomene:

* One koje ćete vidjeti na slikama su metalne, možda i ne najidealnije, ali to su bile one koje su imali u mojoj lokalnoj trgovini. Možete koristiti potpuno vodootporna dugmad, ali to je bilo 15 € po komadu za koje sam mislio da je preskupo za dugme. Mogli biste kupiti koje god dugme želite dok god radi s pull up sistemom, bit ćete dobro.

Korak 2: Ožičite sve

Ožičite sve
Ožičite sve
Ožičite sve
Ožičite sve

Nije tako teško. Budući da je GPS modul povezan USB -om. Na gornjoj slici možete vidjeti da boje možete uskladiti pomoću kabela na USB adapteru. Dugmad i LED diode su povezani na 220 Ω. Senzor temperature DS18B20 ožičen je do otpornika od 5K Ω.

Korak 3: Konfigurirajmo vaš Raspberry Pi

Konfigurirajmo vaš Raspberry Pi!
Konfigurirajmo vaš Raspberry Pi!

Prvo će vam trebati Raspbian koji možete naučiti ovdje, a nakon toga morate slijediti korake u ovom spremištu.

Moj raspored baze podataka je zatvoren minimalno. Sadrži 4 tabele:

  1. tbluser

    1. UserID (tinyint, 2) AUTOMATSKI POVEZAVANJE, NEPOTPISAN
    2. Korisničko ime (varchar, 175)
    3. Korisnička prijava (varchar, 180)
    4. Korisnička lozinka (varchar, 255)
    5. UserActive (tinyint, 1) NEPOTPISAN
  2. tblsession

    1. SessionID (int, 10) AUTOMATSKI INKREMENT, NEPOTPISAN
    2. SessionDate (datum)
    3. Korisnički broj
  3. tblsensor

    1. SensorID (tinyint, 3) AUTOMATSKI PREUZIMANJE, NEPOTPISAN
    2. Ime senzora (varchar, 150)
  4. tblhistory

    1. HistoryID (bigint, 20) AUTO POKRETANJE, NEPOTPISAN
    2. SensorID
    3. SessionID
    4. Historijska vrijednost (varchar, 255)
    5. HistoryTime (vrijeme, 3)

Ali možete pogledati i.sql dump datoteku

Korak 4: Počnimo kodiranje

Započnimo kodiranje
Započnimo kodiranje

Ovdje možete pronaći moj kôd za uspješan rad projekta.

GPS

Započeti s GPS modulom je vrlo jednostavno. Sve što trebate učiniti je instalirati gpsd-py3 paket u svoje Python okruženje. Tada možete koristiti ovu biblioteku da si olakšate život. Pomoću primjera kodiranja možete iz GPS -a dobiti podatke kao što su dužina, širina, brzina itd.

LCD displej

Da bi LCD ekran funkcionirao, morate instalirati biblioteku s Adafruit -a. Primjere kodiranja možete pronaći ovdje.

DS18B20 Jednožilni temperaturni osjetnik

Da biste pronašli svoj jednožični senzor, morat ćete obaviti malo više posla. Prije svega moramo aktivirati jednožilnu sabirnicu. Da biste to učinili, slijedite korake:

  1. sudo raspi-config
  2. Opcije povezivanja
  3. 1-Wire

Za početak čitanja podataka sa senzora moramo znati kako se zove naša jedna žica. Za ovaj tip u cd/sys/bus/w1/devices/

Vidjet ćete dva uređaja, jedan je sam Raspberry Pi, a drugi bi trebao izgledati otprilike 28-0… itd. Pa taj dugački niz brojeva i slova će vam omogućiti čitanje podataka u Pythonu. Da biste čitali podatke u pythonu, morate ih otvoriti kao datoteku. Dakle, put do otvaranja datoteke trebao bi izgledati otprilike ovako:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Dugmad i LED diode

Ovo su osnovne funkcije, možete pogledati moj kôd u ovoj fascikli Classes.

SQL-izrazi

Skoro svaki izraz su osnovni SQL izrazi. Međutim, želio bih dati malo objašnjenja o tome kako sam svojim senzorima sačuvao njihove vrijednosti. Ručno sam dodao svoje senzore svojim tblsenzorima. Tako da sam znao koji senzor ima koji ID. Tako pratim dužinu, širinu i svoju brzinu. Za svaku sam vrijednost napravio drugu funkciju. Napravio bih samo 3 sql iskaza koji su isti, ali ovisno o vrijednosti koju želim pohraniti promijenio sam izraz WHERE.

Preporučuje se: