Obsah:

Pike - Jazdite bezpečnejšie, jazdite múdrejšie a šoférujte!: 5 krokov
Pike - Jazdite bezpečnejšie, jazdite múdrejšie a šoférujte!: 5 krokov

Video: Pike - Jazdite bezpečnejšie, jazdite múdrejšie a šoférujte!: 5 krokov

Video: Pike - Jazdite bezpečnejšie, jazdite múdrejšie a šoférujte!: 5 krokov
Video: Минус рука друга и всякие шалости ► 6 Прохождение Days Gone (Жизнь После) 2024, November
Anonim
Pike - Jazdite bezpečnejšie, jazdite múdrejšie, riadte šťuku!
Pike - Jazdite bezpečnejšie, jazdite múdrejšie, riadte šťuku!

Vitajte v mojom projekte s názvom Pike!

Toto je projekt ako súčasť môjho vzdelávania. Som študentom NMCT na Howest v Belgicku. Cieľom bolo urobiť niečo múdre pomocou Raspberry Pi. Mali sme úplnú slobodu, v ktorej sme chceli byť múdri.

Pre mňa to bola jednoduchá voľba, aby bol môj bicykel o niečo múdrejší. Bývam na mieste, kde ma jazda na bicykli dostane rýchlejšie do cieľa v meste.

Tiež som raz spadol s bicyklom. Zlomil som si lakeť. Spadol som dole, pretože som ukazoval na vodiča za mnou, že chcem ísť vpravo. Cesta bola klzká a ja som stratil kontrolu, pretože som mal iba jednu ruku na volante. Preto bol môj prvý nápad pripevniť na bicykel smerové svetlá. Odtiaľ som začal premýšľať, čo by som ešte mohol pridať, a tak som vymyslel sledovanie GPS, aby ste neskôr videli, ktorou cestou ste sa vydali.

Čo teda Pike dokáže?

Pike bude viesť záznamy o vašich jazdných reláciách. Bude zaznamenávať, ktorou cestou ste sa vybrali, vypočíta priemernú rýchlosť a vzdialenosť, ktorú ste prešli. Po každom sedení sa potom môžete prihlásiť na webovú stránku a zistiť, kde a ako sa jazdilo. Tiež niečo vytvoríme, aby ste si mohli vybrať, kto bude jazdiť na bicykli, aby vašu šťuku mohlo používať viac ľudí, ak chcú!

Krok 1: Diely

Časti
Časti

Očividne teda musíte vedieť, čo potrebujete na obnovu môjho projektu. Skôr ako začneme, chcel by som povedať, že tento projekt nebol úplne lacný. Tiež som kúpil drôty v miestnom obchode, ktoré boli predražené. Môžete si ich kúpiť online za pár eur/dolárov (čo vám odporúčam). Nemal som čas čakať. Preto som ich kúpil v miestnom obchode za vysokú cenu.

Nákupný zoznam

- Malinový koláč

- prepojovacie káble

- Powerbank bude fungovať tak dlho, ako bude poskytovať vášmu Pi dostatok energie

- Držiak smartfónu Maxxter (v zásade najlacnejší, aký nájdete …)

- Držiak smartfónu Maxxter (biele kruhové sú veľmi lacné aj pre plastové rúrky)

- Plastové trubice (vyvŕtaný otvor, do ktorého sa zmestia tlačidlá, ktoré sa zmestia do držiaka smartfónu a pripevnia sa na volant)

- Tlačidlá*

- 6x 220 Ω odpory

- 1x odpor 5K Ω

- Displej LCD

- Jednodrátový snímač teploty DS18B20

- GPS modul Adafruit Ultimate Breakout 66 kanálov

- GPS anténa - Externá aktívna anténa - 3-5 V 28 dB s 5 -metrovým káblom SMA (na zosilnenie signálu GPS)

- Adaptér uFLto SMA (na pripojenie ďalšej antény k modulu GPS Adafruit)

Poznámky:

* Tie, ktoré uvidíte na obrázkoch, sú kovové, možno nie najideálnejšie, ale boli to tie, ktoré mali v mojom miestnom obchode. Môžete ísť aj úplne vodotesné gombíky, ale stálo to 15 EUR za kus, čo som si myslel, že je tlačidlo veľmi drahé. Môžete si kúpiť akékoľvek tlačidlo, ktoré chcete, pokiaľ funguje so systémom pull up, budete v poriadku.

Krok 2: Zapojte všetko

Zapojte všetko
Zapojte všetko
Zapojte všetko
Zapojte všetko

Nie je to také ťažké. Pretože modul GPS je pripojený k USB. Na obrázku vyššie vidíte, že farby môžete zladiť s káblami na USB adaptéri. Tlačidlá a LED diódy sú pripojené k 220 Ω. Snímač teploty DS18B20 je zapojený až do odporu 5K Ω.

Krok 3: Konfigurujme váš Raspberry Pi

Poďme nakonfigurovať váš Raspberry Pi!
Poďme nakonfigurovať váš Raspberry Pi!

Najprv budete potrebovať Raspbian, ktorý sa môžete naučiť tu a potom musíte postupovať podľa krokov v tomto úložisku.

Môj rozvrh databázy je ukončený minimálne. Obsahuje 4 tabuľky:

  1. tbluser

    1. UserID (tinyint, 2) AUTOMATICKÝ INCREMENT, NEPODPISOVANÝ
    2. Používateľské meno (varchar, 175)
    3. UserLogin (varchar, 180)
    4. Používateľské heslo (varchar, 255)
    5. UserActive (tinyint, 1) NEPODPISOVANÝ
  2. tblsession

    1. SessionID (int, 10) AUTOMATICKÉ INCREMENT, NEPODPISOVANÉ
    2. SessionDate (dátum)
    3. ID používateľa
  3. tblsensor

    1. SensorID (tinyint, 3) AUTOMATICKÉ INCREMENT, NEPODPISOVANÉ
    2. SensorName (varchar, 150)
  4. história
    1. HistoryID (bigint, 20) AUTOMATICKÉ INCREMENTY, NEPODPISOVANÉ
    2. SensorID
    3. SessionID
    4. HistoryValue (varchar, 255)
    5. HistoryTime (čas, 3)

Môžete sa však tiež pozrieť na súbor s príponou.sql

Krok 4: Začnime s kódovaním

Začnime s kódovaním
Začnime s kódovaním

Môj kód, aby projekt fungoval, nájdete tu.

GPS

Začať s modulom GPS je skutočne jednoduché. Všetko, čo musíte urobiť, je nainštalovať balík gpsd-py3 do vášho prostredia Python. Potom si môžete pomocou tejto knižnice uľahčiť život. Príklady kódovania môžete použiť na získanie údajov, ako je napríklad dlhá doba, zemepisná šírka, rýchlosť atď., Z vášho systému GPS.

Displej LCD

Aby LCD displej fungoval, musíte nainštalovať knižnicu od spoločnosti Adafruit. Príklady kódovania nájdete tu.

Jednodrátový snímač teploty DS18B20

Ak chcete nájsť svoj jeden drôtový senzor, budete musieť urobiť viac práce. Najprv musíme aktivovať jednovodičovú zbernicu. Postupujte podľa týchto krokov:

  1. sudo raspi-config
  2. Možnosti rozhrania
  3. 1-drôt

Aby sme mohli začať čítať údaje zo senzora, musíme vedieť, ako sa volá náš jeden vodič. K tomuto typu v cd/sys/bus/w1/zariadenia/

Uvidíte dve zariadenia, jedno je samotný Raspberry Pi a druhé by malo vyzerať napríklad ako 28-0 … atď. Vďaka dlhému reťazcu číslic a písmen budete môcť čítať údaje v Pythone. Na čítanie údajov v pythone ich musíte otvoriť ako súbor. Cesta k otvoreniu súboru by teda mala vyzerať asi takto:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Tlačidlá a LED diódy

Toto sú základné funkcie, môžete sa pozrieť na môj kód v tomto priečinku Classes.

Príkazy SQL

Takmer každý príkaz je základným príkazom SQL. Rád by som však trochu vysvetlil, ako som svojim hodnotám uložil senzory. Ručne som pridal svoje senzory k svojim snímačom tbls. Takže som vedel, ktorý snímač má ktoré ID. Sledujem teda zemepisnú dĺžku, šírku a svoju rýchlosť. Pre každú hodnotu som urobil inú funkciu. Urobil by som len 3 sql príkazy, ktoré sú rovnaké, ale v závislosti od toho, akú hodnotu by som chcel uložiť, som zmenil príkaz WHERE.

Odporúča: