Indholdsfortegnelse:

Gedde - Kør sikrere, kør smartere, kør en gedde !: 5 trin
Gedde - Kør sikrere, kør smartere, kør en gedde !: 5 trin

Video: Gedde - Kør sikrere, kør smartere, kør en gedde !: 5 trin

Video: Gedde - Kør sikrere, kør smartere, kør en gedde !: 5 trin
Video: historien om luk røven 2024, November
Anonim
Gedde - Kør sikrere, kør klogere, kør en gedde!
Gedde - Kør sikrere, kør klogere, kør en gedde!

Velkommen til mit projekt kaldet Pike!

Dette er et projekt som en del af min uddannelse. Jeg er studerende NMCT på Howest i Belgien. Målet var at gøre noget smart ved at bruge en Raspberry Pi. Vi havde fuldstændig frihed, hvor vi ville gøre smart.

For mig var det et let valg at gøre min cykel lidt smartere. Jeg bor et sted, hvor cykling får mig hurtigere til min destination i byen.

Jeg faldt også med min cykel en gang. Jeg brækkede min ellbue. Jeg faldt ned, fordi jeg pegede på chaufføren bag mig, at jeg ville gå til højre. Vejen var glat, og jeg mistede kontrollen, fordi jeg kun havde en hånd på rattet. Derfor var min første idé at fastgøre retningsvisere til min cykel. Derfra begyndte jeg at tænke på, hvad jeg ellers kunne tilføje, så jeg fandt på GPS-tracking, så du senere kan se, hvilken rute du tog.

Så hvad kan gedderne gøre?

Gedden registrerer dine kørselssessioner. Det vil holde styr på, hvilken rute du tog, det beregner din gennemsnitlige hastighed og den afstand, du har kørt. Efter hver session kan du derefter logge ind på webstedet for at kontrollere, hvor og hvordan din tur var. Vi vil også skabe noget, så du kan vælge, hvem der skal cykle, så flere mennesker kan bruge din gedde, hvis de vil!

Trin 1: Dele

Dele
Dele

Så selvfølgelig skal du vide, hvad du har brug for for at genskabe mit projekt. Inden vi begynder vil jeg gerne sige, at dette projekt ikke ligefrem var billigt. Jeg købte også ledninger i en lokal butik, som var for dyre. Du kan købe dem online for et par euro/dollars (hvilket jeg anbefaler dig at gøre). Jeg havde ikke tid til at vente. Derfor købte jeg dem fra min lokale butik til en høj pris.

Indkøbslisten

- Hindbær Pi

- Jumperkabler

- Powerbank vil gøre alt, så længe det giver din Pi nok strøm

- Maxxter Smartphone Holder (dybest set den billigste du kan finde …)

- Maxxter Smartphone Holder (de hvide cirkulære er også meget billige at passe til mine plastrør)

- Plastrør (boret et hul i det for at passe til knapperne, der passer i smartphoneholderen til at fastgøre på rattet)

- Knapper*

- 6x 220 Ω modstande

- 1x 5K Ω modstand

- LCD display

- DS18B20 One Wire Temperature Sensor

- Adafruit GPS-modul Ultimate Breakout 66 Channel

- GPS -antenne - Ekstern aktiv antenne - 3-5V 28db med 5 meter kabel SMA (til forstærkning af GPS -signal)

- uFLto SMA Adapter (til tilslutning af ekstra antenne til Adafruit GPS-modulet)

Bemærkninger:

* Dem, du ser på billederne, er metal, måske ikke de mest ideelle, men det var dem, de havde i min lokale butik. Du kan gå helt vandtætte knapper, men de var 15 € stykket, som jeg syntes var for dyrt for en knap. Du kan købe den knap, du vil have, så længe det fungerer med et pull up -system, vil du have det godt.

Trin 2: Tråd alt op

Tråd alt op
Tråd alt op
Tråd alt op
Tråd alt op

Det er ikke så svært. Da GPS -modulet er forbundet med USB. Du kan se på billedet ovenfor, at du kan matche farverne med kablerne på USB -adapteren. Knapperne og lysdioderne er tilsluttet 220 Ω. DS18B20 temperatursensoren er tilsluttet en 5K Ω modstand.

Trin 3: Lad os konfigurere din Raspberry Pi

Lad os konfigurere din Raspberry Pi!
Lad os konfigurere din Raspberry Pi!

Først skal du bruge Raspbian, som du kan lære her, og bagefter skal du følge trinene i dette lager.

Min Database -plan er minimal. Det indeholder 4 tabeller:

  1. tbluser

    1. UserID (tinyint, 2) AUTO INCREMENT, UNSIGNED
    2. Brugernavn (varchar, 175)
    3. UserLogin (varchar, 180)
    4. UserPassword (varchar, 255)
    5. UserActive (tinyint, 1) UNSIGNED
  2. tblsession

    1. SessionID (int, 10) AUTO INCREMENT, UNSIGNED
    2. Sessionsdato (dato)
    3. Bruger ID
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, UNSIGNED
    2. Sensornavn (varchar, 150)
  4. tblhistorie

    1. HistoryID (bigint, 20) AUTO INCREMENT, UNSIGNED
    2. SensorID
    3. Sessions ID
    4. HistoryValue (varchar, 255)
    5. HistoryTime (tid, 3)

Men du kan også tage et kig på.sql dump -filen

Trin 4: Lad os starte kodning

Lad os begynde at kode
Lad os begynde at kode

Du kan finde min kode til at få projektet til at fungere her.

GPS

Det er virkelig enkelt at komme i gang med GPS -modulet. Alt du skal gøre er at installere gpsd-py3-pakken i dit Python-miljø. Derefter kan du bruge dette bibliotek til at gøre dit liv lettere. Du kan bruge kodeeksemplerne til at hente data som f.eks. Længde, breddegrad, hastighed osv. Fra din GPS.

LCD-display

For at få LCD -skærmen til at fungere skal du installere biblioteket fra Adafruit. Kodningseksempler findes her.

DS18B20 One Wire Temperature Sensor

For at finde din entrådssensor skal du gøre lidt mere arbejde. Først og fremmest skal vi aktivere en -tråds -bussen. Følg trinene for at gøre dette:

  1. sudo raspi-config
  2. Grænsefladeindstillinger
  3. 1-Wire

For at begynde at læse dataene fra sensoren skal vi vide, hvordan vores ene ledning kaldes. Til denne type i cd/sys/bus/w1/devices/

Du vil se to enheder, den ene er selve Raspberry Pi, og den anden skal ligne 28-0 … osv. Godt at den lange række af tal og bogstaver er, hvordan du vil kunne læse data i Python. For at læse data i python skal du åbne dem som en fil. Så stien til at åbne filen skal se sådan ud:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Knapper og LED'er

Dette er grundlæggende funktioner, du kan se på min kode i denne klasse -mappe.

SQL-erklæringer

Næsten hver sætning er grundlæggende SQL -sætninger. Jeg vil dog gerne give lidt forklaring på, hvordan jeg gemte mine sensorer deres værdier. Jeg tilføjede mine sensorer manuelt til mine tblsensorer. Så jeg vidste, hvilken sensor der havde hvilket ID. Så jeg holder styr på længdegrad, breddegrad og min hastighed. For hver værdi lavede jeg en anden funktion. Jeg ville bare lave 3 sql -udsagn, der er de samme, men afhængigt af hvilken værdi jeg gerne vil gemme, ændrede jeg WHERE -sætningen.

Anbefalede: