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, Lipanj
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 projekt u sklopu mog obrazovanja. Student sam 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 bicikl malo pametnijim. Živim na mjestu gdje me vožnja biciklom brže dovodi do odredišta u gradu.

Također sam jednom pao s biciklom. Slomila sam lakat. Pao sam jer sam pokazao vozaču iza sebe da želim ići desno. Cesta je bila skliska i izgubio sam kontrolu jer sam imao samo jednu ruku na upravljaču. Zato mi je prva ideja bila pričvrstiti pokazivače smjera na svoj bicikl. 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 bilježiti vaše vožnje. Pratit će koju ste rutu prošli, izračunati će vam prosječnu brzinu i udaljenost koju ste prešli. Nakon svake sesije možete se prijaviti na web stranicu kako biste provjerili gdje je i kako je bila vaša vožnja. Također ćemo stvoriti nešto tako da možete izabrati tko će voziti bicikl kako bi više ljudi moglo koristiti vašu Pike ako to žele!

Korak 1: Dijelovi

Dijelovi
Dijelovi

Dakle, očito morate znati što 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 visokim cijenama kupila u lokalnoj trgovini.

Popis za kupovinu

- Malina Pi

- Kablovi za skakače

- Powerbank će učiniti 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 uklopili gumbi koji se u držač pametnog telefona mogu pričvrstiti na upravljač)

- Gumbi*

- 6x 220 Ω otpornika

- 1x 5K Ω otpornik

- LCD zaslon

- Jednožilni temperaturni osjetnik DS18B20

- Adapruit GPS-modul Ultimate Breakout 66 Channel

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

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

Bilješke:

* 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 otići u potpuno vodootporne gumbe, ali to je bilo 15 € po komadu za koji sam mislio da je preskupo za gumb. Mogli ste kupiti bilo koji gumb koji želite sve dok radi s pull up sustavom i 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 s kabelima na USB adapteru. Gumbi i LED diode spojeni su 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.

Raspored Moje baze podataka zatvoren je minimalno. Sadrži 4 tablice:

  1. tbluser

    1. Korisnički ID (tinyint, 2) AUTO POVEZIVANJE, 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) AUTO POVEĆANJE, NEPOTPISAN
    2. SessionDate (datum)
    3. Korisnički ID
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO POVEĆANJE, NEPOTPISAN
    2. SensorName (varchar, 150)
  4. tblhistory

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

No, možete pogledati i.sql datoteku ispisa

Korak 4: Počnimo kodirati

Počnimo kodirati
Počnimo kodirati

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

GPS

Za početak je jednostavno koristiti GPS modul. Sve što trebate učiniti je instalirati paket gpsd-py3 u svoje okruženje Python. Tada možete koristiti ovu knjižnicu kako biste si olakšali život. Pomoću primjera kodiranja možete iz GPS -a dobiti podatke poput dužine, širine, brzine itd.

LCD zaslon

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

DS18B20 Jednožilni osjetnik temperature

Da biste pronašli svoj jednožilni senzor, morat ćete učiniti još malo posla. Prije svega moramo aktivirati jednožilnu sabirnicu. Da biste to učinili, slijedite korake:

  1. sudo raspi-config
  2. Opcije sučelja
  3. 1-žica

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

Vidjet ćete dva uređaja, jedan je sam Raspberry Pi, a drugi bi trebao izgledati poput 28-0 … itd. Pa taj dugi niz brojeva i slova je način na koji ćete moći čitati podatke u Pythonu. Za čitanje podataka u pythonu morate ih otvoriti kao datoteku. Dakle, put za otvaranje datoteke trebao bi izgledati otprilike ovako:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Gumbi i LED diode

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

SQL-izrazi

Gotovo svaki izraz su osnovni SQL izrazi. Međutim, želio bih dati malo objašnjenja o tome kako sam svojim senzorima spasio njihove vrijednosti. Ručno sam dodao svoje senzore svojim tblsenzorima. Tako 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čeni: