Obsah:

Pike - Jezděte bezpečněji, jeďte chytřeji, jezděte štiky!: 5 kroků
Pike - Jezděte bezpečněji, jeďte chytřeji, jezděte štiky!: 5 kroků

Video: Pike - Jezděte bezpečněji, jeďte chytřeji, jezděte štiky!: 5 kroků

Video: Pike - Jezděte bezpečněji, jeďte chytřeji, jezděte štiky!: 5 kroků
Video: Jak opravit korozi na vašem autě bez sváření (A speciálních nástrojů) 2024, Listopad
Anonim
Pike - Jezděte bezpečněji, jeďte chytřeji, jezděte štiky!
Pike - Jezděte bezpečněji, jeďte chytřeji, jezděte štiky!

Vítejte v mém projektu s názvem Pike!

Toto je projekt jako součást mého vzdělávání. Jsem studentem NMCT na Howest v Belgii. Cílem bylo udělat něco chytrého pomocí Raspberry Pi. Měli jsme úplnou svobodu, ve které jsme chtěli být chytří.

Pro mě to byla snadná volba, jak udělat kolo chytřejším. Žiji v místě, kde mě jízda na kole dostane rychleji do cíle ve městě.

Také jsem jednou spadl s kolem. Zlomil jsem si loket. Spadl jsem dolů, protože jsem ukazoval na řidiče za mnou, že chci jet vpravo. Cesta byla kluzká a já jsem ztratil kontrolu, protože jsem měl na volantu jen jednu ruku. Proto byl můj první nápad připevnit na kolo směrovky. Odtud jsem začal přemýšlet, co bych ještě mohl přidat, a tak jsem vymyslel GPS-tracking, abyste se později mohli podívat, jakou cestou jste jeli.

Co tedy Štika dokáže?

Pike bude uchovávat záznamy o vašich jízdách. Bude sledovat, jakou cestou jste jeli, vypočítá vaši průměrnou rychlost a vzdálenost, kterou jste ujeli. Po každé relaci se pak můžete přihlásit na web a zkontrolovat, kde a jak vaše jízda probíhala. Vytvoříme také něco, abyste si mohli vybrat, kdo bude na kole jezdit, aby vaši Pike mohlo používat více lidí, pokud chtějí!

Krok 1: Díly

Části
Části

Zjevně tedy potřebujete vědět, co potřebujete k obnovení mého projektu. Než začneme, chtěl bych říci, že tento projekt nebyl zrovna levný. Také jsem koupil dráty v místním obchodě, které byly předražené. Můžete si je koupit online za pár eur/dolarů (což vám doporučuji). Neměl jsem čas čekat. Proto jsem je koupil v místním obchodě za vysokou cenu.

Nákupní seznam

- Raspberry Pi

- Propojovací kabely

- Powerbank bude fungovat tak dlouho, dokud poskytne vašemu Pi dostatek energie

- Maxxter Smartphone Holder (v podstatě nejlevnější, který najdete …)

- Držák smartphonu Maxxter (bílé kruhové také velmi levné, aby se vešly do mých plastových trubek)

- plastové trubky

- Tlačítka*

- 6x 220 Ω odpory

- 1x odpor 5K Ω

- LCD displej

- Jednodrátový snímač teploty DS18B20

- GPS modul Adafruit Ultimate Breakout 66 kanálů

- GPS anténa - Externí aktivní anténa - 3-5 V 28 dB s 5 metrovým kabelem SMA (pro zesílení signálu GPS)

- Adaptér uFLto SMA (pro připojení další antény k modulu Adafruit GPS)

Poznámky:

* Ty, které uvidíte na obrázcích, jsou kovové, možná ne ty nejideálnější, ale byly to ty, které měli v mém místním obchodě. Můžete jít plně vodotěsná tlačítka, ale to bylo 15 EUR za kus, o kterém jsem si myslel, že je pro tlačítko drahé. Můžete si koupit jakékoli tlačítko, které chcete, pokud funguje s vytahovacím systémem, budete v pořádku.

Krok 2: Zapojte vše

Zapojte vše
Zapojte vše
Zapojte vše
Zapojte vše

Není to tak těžké. Protože modul GPS je připojen k USB. Na obrázku výše vidíte, že barvy můžete sladit s kabely na USB adaptéru. Tlačítka a LED diody jsou připojeny k 220 Ω. Teplotní senzor DS18B20 je připojen k odporu 5K Ω.

Krok 3: Pojďme nakonfigurovat váš Raspberry Pi

Pojďme nakonfigurovat váš Raspberry Pi!
Pojďme nakonfigurovat váš Raspberry Pi!

Nejprve budete potřebovat Raspbian, který se zde můžete naučit, a poté musíte postupovat podle kroků v tomto úložišti.

Můj plán databáze je ukončen minimální. Obsahuje 4 tabulky:

  1. tbluser

    1. UserID (tinyint, 2) AUTO INCREMENT, UNSIGNED
    2. Uživatelské jméno (varchar, 175)
    3. UserLogin (varchar, 180)
    4. Uživatelské heslo (varchar, 255)
    5. UserActive (tinyint, 1) UNSIGNED
  2. tblsession

    1. SessionID (int, 10) AUTO INCREMENT, NEPŘIHLÁŠENO
    2. Datum relace (datum)
    3. Uživatelské ID
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, NEPŘIHLÁŠENO
    2. Název senzoru (varchar, 150)
  4. tblhistory

    1. HistoryID (bigint, 20) AUTO INCREMENT, NEPŘIHLÁŠENO
    2. SensorID
    3. SessionID
    4. HistoryValue (varchar, 255)
    5. HistoryTime (čas, 3)

Můžete se ale také podívat na soubor s výpisem.sql

Krok 4: Začněme s kódováním

Začněme s kódováním
Začněme s kódováním

Zde najdete můj kód, aby projekt fungoval.

GPS

Začít s modulem GPS je opravdu jednoduché. Vše, co musíte udělat, je nainstalovat balíček gpsd-py3 do vašeho prostředí Python. Pak si můžete pomocí této knihovny usnadnit život. Příklady kódování můžete použít k získání dat, jako je longtitued, zeměpisná šířka, rychlost atd. Z vašeho GPS.

LCD displej

Aby LCD displej fungoval, musíte nainstalovat knihovnu od Adafruit. Příklady kódování najdete zde.

Jednodrátový snímač teploty DS18B20

Abyste našli svůj jeden drátový senzor, budete muset udělat trochu víc práce. Nejprve musíme aktivovat jednožilovou sběrnici. Postupujte takto:

  1. sudo raspi-config
  2. Možnosti rozhraní
  3. 1-Wire

Abychom mohli začít číst data ze senzoru, musíme vědět, jak se nazývá náš jeden vodič. K tomuto typu v cd/sys/bus/w1/zařízení/

Uvidíte dvě zařízení, jedno je samotný Raspberry Pi a druhé by mělo vypadat něco jako 28-0 … atd. No, dlouhý řetězec čísel a písmen je způsob, jak budete moci číst data v Pythonu. Chcete -li číst data v pythonu, musíte je otevřít jako soubor. Cesta k otevření souboru by tedy měla vypadat nějak takto:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Tlačítka a LED diody

Toto jsou základní funkce, můžete se podívat na můj kód v této složce Classes.

Příkazy SQL

Téměř každý příkaz je základní příkazy SQL. Rád bych však poskytl trochu vysvětlení, jak jsem svým senzorům uložil jejich hodnoty. Ručně jsem přidal senzory ke svým tblsensorům. Takže jsem věděl, který senzor má jaké ID. Sleduji tedy délku, šířku a rychlost. Pro každou hodnotu jsem vytvořil jinou funkci. Jen bych udělal 3 sql příkazy, které jsou stejné, ale v závislosti na hodnotě, kterou bych chtěl uložit, jsem změnil příkaz WHERE.

Doporučuje: