Inhoudsopgave:

Pike - Rijd veiliger, rij slimmer, rijd een snoek! - Ajarnpa
Pike - Rijd veiliger, rij slimmer, rijd een snoek! - Ajarnpa

Video: Pike - Rijd veiliger, rij slimmer, rijd een snoek! - Ajarnpa

Video: Pike - Rijd veiliger, rij slimmer, rijd een snoek! - Ajarnpa
Video: HOE STEEK JE KRUISPUNTEN VEILIG OVER 2024, November
Anonim
Pike - Rij veiliger, rij slimmer, rijd op een snoek!
Pike - Rij veiliger, rij slimmer, rijd op een snoek!

Welkom bij mijn project genaamd Pike!

Dit is een project als onderdeel van mijn opleiding. Ik ben een student NMCT aan Howest in België. Het doel was om iets slims te maken door een Raspberry Pi te gebruiken. We hadden volledige vrijheid waarin we slim wilden maken.

Voor mij was het een makkelijke keuze om mijn fiets wat slimmer te maken. Ik woon op een plek waar fietsen me sneller naar mijn bestemming in de stad brengt.

Ook ben ik een keer met mijn fiets gevallen. Ik heb mijn elleboog gebroken. Ik viel omdat ik naar de bestuurder achter me wees dat ik naar rechts wilde. De weg was glad en ik verloor de macht over het stuur omdat ik maar één hand aan het stuur had. Daarom was mijn eerste idee om richtingaanwijzers op mijn fiets te bevestigen. Van daaruit begon ik na te denken over wat ik nog meer kon toevoegen, dus bedacht ik GPS-tracking zodat je later kunt zien welke route je hebt genomen.

Dus wat kan de Snoek doen?

De Pike houdt uw rijsessies bij. Het houdt bij welke route je hebt afgelegd, het berekent je gemiddelde snelheid en de afstand die je hebt gereden. Na elke sessie kun je vervolgens inloggen op de website om te zien waar en hoe je rit was. We zullen ook iets maken zodat je kunt kiezen wie op de fiets zal rijden, zodat meer mensen je snoek kunnen gebruiken als ze dat willen!

Stap 1: De onderdelen

De onderdelen
De onderdelen

Dus je moet natuurlijk weten wat je nodig hebt om mijn project opnieuw te maken. Voordat we beginnen zou ik willen zeggen dat dit project niet bepaald goedkoop was. Ook kocht ik draden bij een plaatselijke winkel die te duur waren. Je kunt ze online kopen voor een paar euro/dollars (wat ik je aanraad). Ik had geen tijd om te wachten. Daarom kocht ik ze voor een hoge prijs bij mijn plaatselijke winkel.

Het boodschappenlijstje

- Raspberry Pi

- Startkabels

- Powerbank zal het doen zolang het je Pi genoeg kracht geeft

- Maxxter Smartphone Houder (eigenlijk de goedkoopste die je kunt vinden…)

- Maxxter Smartphone Houder (de witte ronde zijn ook erg goedkoop om in mijn plastic buizen te passen)

- Kunststof buizen (er een gat in geboord voor de knoppen die in de smartphonehouder passen om op het stuur te bevestigen)

- Toetsen*

- 6x 220 Ω weerstanden

- 1x 5K weerstand

- LCD scherm

- DS18B20 Temperatuursensor met één draad

- Adafruit GPS-module Ultimate Breakout 66 Channel

- GPS-antenne - Externe actieve antenne - 3-5V 28db met 5 meter kabel SMA (om het GPS-signaal te versterken)

- uFLto SMA Adapter (om extra antenne aan te sluiten op de Adafruit GPS-module)

Opmerkingen:

* Degene die je op de foto's ziet zijn metalen, misschien niet de meest ideale, maar die hadden ze in mijn plaatselijke winkel. Je kunt volledig waterdichte knopen nemen, maar die waren 15 € per stuk waarvan ik dacht dat het veel te duur was voor een knop. Je zou elke knop kunnen kopen die je wilt, zolang het maar werkt met een optreksysteem, komt het goed.

Stap 2: Sluit alles aan

Sluit alles aan
Sluit alles aan
Sluit alles aan
Sluit alles aan

Het is niet zo moeilijk. Omdat de GPS-module is aangesloten via USB. Je kunt op de afbeelding hierboven zien dat je de kleuren kunt matchen met de kabels op de USB-adapter. De knoppen en LED's zijn aangesloten op 220 Ω. De DS18B20 temperatuursensor is aangesloten op een weerstand van 5K.

Stap 3: Laten we uw Raspberry Pi configureren

Laten we uw Raspberry Pi configureren!
Laten we uw Raspberry Pi configureren!

Eerst heb je Raspbian nodig die je hier kunt leren en daarna moet je de stappen in deze repository volgen.

Mijn databaseschema is minimaal. Het bevat 4 tabellen:

  1. tbluser

    1. Gebruikers-ID (tinyint, 2) AUTOMATISCHE INCREMENT, NIET ONDERTEKEND
    2. Gebruikersnaam (varchar, 175)
    3. Gebruikerslogin (varchar, 180)
    4. Gebruikerswachtwoord (varchar, 255)
    5. UserActive (tinyint, 1) NIET ONDERTEKEND
  2. tblsessie

    1. SessionID (int, 10) AUTOMATISCHE VERHOGING, NIET ONDERTEKEND
    2. SessieDatum (datum)
    3. Gebruikersnaam
  3. tblsensor

    1. SensorID (tinyint, 3) AUTOMATISCHE INCREMENT, NIET ONDERTEKEND
    2. Sensornaam (varchar, 150)
  4. geschiedenis

    1. HistoryID (bigint, 20) AUTOMATISCHE INCREMENT, NIET ONDERTEKEND
    2. Sensor-ID
    3. Sessie-ID
    4. GeschiedenisWaarde (varchar, 255)
    5. GeschiedenisTijd (tijd, 3)

Maar je kunt ook het.sql-dumpbestand bekijken

Stap 4: Laten we beginnen met coderen

Laten we beginnen met coderen
Laten we beginnen met coderen

Je kunt mijn code vinden om het project hier te laten werken.

GPS

Het is heel eenvoudig om met de GPS-module aan de slag te gaan. Het enige wat u hoeft te doen is het pakket gpsd-py3 in uw Python-omgeving te installeren. Dan kunt u deze bibliotheek gebruiken om uw leven gemakkelijker te maken. U kunt de coderingsvoorbeelden gebruiken om de gegevens zoals lengte, breedtegraad, snelheid, enz. Van uw GPS te krijgen.

LCD scherm

Om het LCD-scherm te laten werken, moet u de bibliotheek van Adafruit installeren. Codeervoorbeelden zijn hier te vinden.

DS18B20 Temperatuursensor met één draad

Om je eendraadssensor te vinden, moet je wat meer werk doen. Allereerst moeten we de eendraadsbus activeren. Volg hiervoor de stappen:

  1. sudo raspi-config
  2. Interface-opties
  3. 1-draads

Om de gegevens van de sensor te kunnen lezen, moeten we weten hoe onze ene draad heet. Typ hiervoor cd /sys/bus/w1/devices/

Je zult twee apparaten zien, de ene is de Raspberry Pi zelf en de andere zou er ongeveer uit moeten zien als 28-0… enz. Nou, die lange reeks cijfers en letters is hoe je gegevens in Python kunt lezen. Om gegevens in python te lezen, moet u deze als een bestand openen. Dus het pad om het bestand te openen zou er ongeveer zo uit moeten zien: /sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Knoppen en LED's

Dit zijn basisfuncties, je kunt mijn code bekijken in deze Classes-map.

SQL-statements

Bijna elke instructie zijn standaard SQL-instructies. Ik wil echter een beetje uitleg geven over hoe ik mijn sensoren hun waarden heb opgeslagen. Ik heb mijn sensoren handmatig toegevoegd aan mijn tblsensors. Dus ik wist welke sensor welke ID had. Zo houd ik Longtitude, Latitude en mijn Speed bij. Voor elke waarde heb ik een andere functie gemaakt. Ik zou gewoon 3 SQL-statements maken die hetzelfde zijn, maar afhankelijk van de waarde die ik wil opslaan, heb ik de WHERE-statement gewijzigd.

Aanbevolen: