Kazalo:

Pike - Vozite varneje, vozite pametneje, vozite ščuko !: 5 korakov
Pike - Vozite varneje, vozite pametneje, vozite ščuko !: 5 korakov

Video: Pike - Vozite varneje, vozite pametneje, vozite ščuko !: 5 korakov

Video: Pike - Vozite varneje, vozite pametneje, vozite ščuko !: 5 korakov
Video: Вокруг неё все умирают ► 1 Прохождение A Plague Tale: innocence 2024, December
Anonim
Pike - Vozite varneje, vozite pametneje, vozite ščuko!
Pike - Vozite varneje, vozite pametneje, vozite ščuko!

Dobrodošli v mojem projektu Pike!

To je projekt, ki je del mojega izobraževanja. Sem študentka NMCT na Howest v Belgiji. Cilj je bil narediti nekaj pametnega z uporabo Raspberry Pi. Imeli smo popolno svobodo, v kateri smo se želeli narediti pametni.

Zame je bila enostavna izbira, da sem naredil kolo nekoliko pametnejše. Živim v kraju, kjer me vožnja s kolesom hitreje pripelje do cilja v mestu.

Tudi jaz sem enkrat padel s kolesom. Zlomil sem si komolec. Padel sem, ker sem kazal vozniku za mano, da želim iti desno. Cesta je bila spolzka in izgubil sem nadzor, ker sem imel samo eno roko na volanu. Zato je bila moja prva ideja, da na kolo pritrdim smerne kazalce. Od tam sem začel razmišljati, kaj bi še lahko dodal, zato sem prišel s sledenjem GPS, da boste pozneje lahko videli, po kateri poti ste se ubrali.

Kaj torej lahko Pike naredi?

Pike bo zapisoval vaše vožnje. Sledil bo, na katero pot ste se ubrali, izračunal bo vašo povprečno hitrost in prevoženo razdaljo. Po vsaki seji se lahko prijavite na spletno mesto in preverite, kje in kako je bila vaša vožnja. Ustvarili bomo tudi nekaj, da boste lahko izbrali, kdo bo vozil kolo, da bo vaš Pike uporabljalo več ljudi, če bodo želeli!

1. korak: Deli

Deli
Deli

Očitno morate vedeti, kaj potrebujete, da znova ustvarite moj projekt. Preden začnemo, bi rad povedal, da ta projekt ni bil ravno poceni. Prav tako sem kupil žice v lokalni trgovini, ki so bile predrage. Lahko jih kupite na spletu za nekaj evrov/dolarjev (kar vam priporočam). Nisem imel časa čakati. Zato sem jih kupil v lokalni trgovini po visoki ceni.

Nakupovalni seznam

- malina Pi

- Mostični kabli

- Powerbank bo vse naredil, dokler bo vašemu Pi dal dovolj moči

- Nosilec za pametni telefon Maxxter (v bistvu najcenejši, ki ga najdete …)

- držalo za pametni telefon Maxxter (bela okrogla, tudi zelo poceni, da se prilegajo mojim plastičnim cevkam)

- Plastične cevi (v njej je izvrtana luknja za namestitev gumbov v nosilcu pametnega telefona za pritrditev na volan)

- Gumbi*

- 6x 220 Ω uporov

- 1x 5K Ω upor

- LCD zaslon

- enožični temperaturni senzor DS18B20

- Adapruit GPS-modul Ultimate Breakout 66 Channel

- GPS antena - zunanja aktivna antena - 3-5V 28db s 5 -metrskim kablom SMA (za ojačanje signala GPS)

- uFLto SMA adapter (za priključitev dodatne antene na modul Adafruit GPS)

Opombe:

* Na slikah boste videli kovinske, morda ne najbolj idealne, ampak tiste, ki so jih imeli v moji lokalni trgovini. Lahko uporabite popolnoma vodotesne gumbe, vendar so bili tisti 15 € za kos, za katerega sem mislil, da je za gumb drago. Lahko bi kupili poljuben gumb, dokler deluje s sistemom pull up, boste v redu.

Korak: Ožičite vse

Ožičite vse
Ožičite vse
Ožičite vse
Ožičite vse

Ni tako težko. Ker je modul GPS povezan z USB. Na zgornji sliki lahko vidite, da lahko barve ujemate s kabli na adapterju USB. Gumbi in LED diode so priključeni na 220 Ω. Temperaturni senzor DS18B20 je povezan z uporom 5K Ω.

3. korak: Konfigurirajmo vaš Raspberry Pi

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

Najprej boste potrebovali Raspbian, ki se ga lahko naučite tukaj, nato pa sledite korakom v tem skladišču.

Urnik My Database je minimalen. Vsebuje 4 tabele:

  1. tbluser

    1. ID uporabnika (tinyint, 2) AUTO POVEZAVA, NEPODPISAN
    2. Uporabniško ime (varchar, 175)
    3. UserLogin (varchar, 180)
    4. Uporabniško geslo (varchar, 255)
    5. UserActive (tinyint, 1) NEPODPISAN
  2. tblsession

    1. SessionID (int, 10) AUTO POVEZAVA, NEPODPISANO
    2. SessionDate (datum)
    3. Uporabniško ime
  3. tblsenzor

    1. SensorID (tinyint, 3) AUTO INCREMENT, NEPODPISAN
    2. Ime senzorja (varchar, 150)
  4. tblhistory

    1. ZgodovinaID (bigint, 20) AUTO POVEZAVA, NEPODPISAN
    2. SensorID
    3. ID seje
    4. HistoryValue (varchar, 255)
    5. HistoryTime (čas, 3)

Lahko pa si ogledate tudi datoteko dump.sql

4. korak: Začnimo s kodiranjem

Začnimo s kodiranjem
Začnimo s kodiranjem

Tukaj lahko najdete mojo kodo za izvedbo projekta.

GPS

Začetek uporabe modula GPS je zelo preprost. Vse kar morate storiti je, da v svoje okolje Python namestite paket gpsd-py3. Potem lahko s to knjižnico olajšate svoje življenje. Uporabite lahko primere kodiranja, da dobite podatke, kot so dolžine, zemljepisne širine, hitrosti itd. Iz vašega GPS -a.

LCD-zaslon

Če želite, da LCD zaslon deluje, morate knjižnico namestiti iz podjetja Adafruit. Primeri kodiranja najdete tukaj.

DS18B20 Enožični temperaturni senzor

Če želite najti enožični senzor, boste morali narediti še nekaj dela. Najprej moramo aktivirati enožično vodilo. Če želite to narediti, sledite tem korakom:

  1. sudo raspi-config
  2. Možnosti vmesnika
  3. 1-žica

Za začetek branja podatkov s senzorja moramo vedeti, kako se imenuje naša ena žica. V to vrsto v cd/sys/bus/w1/devices/

Videli boste dve napravi, ena je sama Raspberry Pi, druga pa bi morala izgledati kot 28-0… itd. No, tako dolg niz številk in črk boste lahko brali podatke v Pythonu. Če želite brati podatke v pythonu, jih morate odpreti kot datoteko. Tako bi morala biti pot do odpiranja datoteke videti nekako takole:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Gumbi in LED diode

To so osnovne funkcije, mojo kodo si lahko ogledate v tej mapi Razredi.

Stavki SQL

Skoraj vsak stavek je osnovni stavek SQL. Vseeno bi rad razložil, kako sem svojim senzorjem shranil njihove vrednosti. Ročno sem svoje senzorje dodal svojim tblsenzorjem. Tako sem vedel, kateri senzor ima kateri ID. Tako spremljam dolžino, širino in svojo hitrost. Za vsako vrednost sem naredil drugačno funkcijo. Naredil bi samo 3 izjave sql, ki so enake, vendar sem glede na to, katero vrednost bi rad shranil, spremenil stavek WHERE.

Priporočena: