Innehållsförteckning:

Gädda - kör säkrare, kör smartare, kör en gädda !: 5 steg
Gädda - kör säkrare, kör smartare, kör en gädda !: 5 steg

Video: Gädda - kör säkrare, kör smartare, kör en gädda !: 5 steg

Video: Gädda - kör säkrare, kör smartare, kör en gädda !: 5 steg
Video: POV: Din bästa vän vinner Let’s Dance 2024, November
Anonim
Gädda - kör säkrare, kör smartare, kör gädda!
Gädda - kör säkrare, kör smartare, kör gädda!

Välkommen till mitt projekt som heter Pike!

Detta är ett projekt som en del av min utbildning. Jag är student NMCT på Howest i Belgien. Målet var att göra något smart med en Raspberry Pi. Vi hade fullständig frihet där vi ville göra smart.

För mig var det lätt att göra min cykel lite smartare. Jag bor på ett ställe där cykling tar mig snabbare till min destination i staden.

Jag föll också med min cykel en gång. Jag bröt min ellbåge. Jag föll ner för att jag pekade på föraren bakom mig att jag ville åka rätt. Vägen var hal och jag tappade kontrollen eftersom jag bara hade en hand på ratten. Det var därför min första idé var att fästa riktningsindikatorer på min cykel. Därifrån började jag tänka på vad mer jag kunde lägga till så jag kom med GPS-spårning så att du senare kan se vilken rutt du tog.

Så vad kan gäddorna göra?

Gäddorna kommer att hålla reda på dina körpass. Den kommer att hålla reda på vilken rutt du tog, den beräknar din genomsnittliga hastighet och den sträcka du har kört. Efter varje session kan du sedan logga in på webbplatsen för att kontrollera var och hur din resa var. Vi kommer också att skapa något så att du kan välja vem som ska cykla så att fler kan använda din gädda om de vill!

Steg 1: Delarna

Delarna
Delarna

Så självklart behöver du veta vad du behöver för att återskapa mitt projekt. Innan vi börjar vill jag säga att det här projektet inte var riktigt billigt. Jag köpte också ledningar i en lokal butik som var för dyra. Du kan köpa dem online för ett par euro/dollar (vilket jag rekommenderar att du gör). Jag hade inte tid att vänta. Det är därför jag köpte dem från min lokala butik till ett högt pris.

Inköpslistan

- Raspberry Pi

- Startkablar

- Powerbank någon kommer att göra så länge det ger din Pi tillräckligt med kraft

- Maxxter Smartphone Hållare (i princip den billigaste du kan hitta …)

- Maxxter Smartphone Hållare (de vita cirkulära också mycket billiga att passa mina plaströr)

- Plaströr (borrade ett hål i det för att passa knapparna som passar i smartphonehållaren för att fästa på ratten)

- Knappar*

- 6x 220 Ω motstånd

- 1x 5K Ω motstånd

- LCD skärm

- DS18B20 One Wire Temperature Sensor

- Adafruit GPS-modul Ultimate Breakout 66 Channel

- GPS -antenn - Extern aktiv antenn - 3-5V 28db med 5 meter kabel SMA (för att förstärka GPS -signalen)

- uFLto SMA-adapter (för att ansluta extra antenn till Adafruit GPS-modul)

Anmärkningar:

* De du ser på bilderna är metall, kanske inte de mest idealiska men de var de som de hade i min lokala butik. Du kan gå helt vattentäta knappar men de var 15 € per bit som jag tyckte var för dyr för en knapp. Du kan köpa vilken knapp du vill så länge det fungerar med ett uppdragssystem kommer du att må bra.

Steg 2: Koppla upp allt

Koppla upp allt
Koppla upp allt
Koppla upp allt
Koppla upp allt

Det är inte så svårt. Eftersom GPS -modulen är ansluten med USB. Du kan se på bilden ovan att du kan matcha färgerna med kablarna på USB -adaptern. Knapparna och lysdioderna är anslutna till 220 Ω. DS18B20 temperatursensor är ansluten till ett 5K Ω motstånd.

Steg 3: Låt oss konfigurera din Raspberry Pi

Låt oss konfigurera din Raspberry Pi!
Låt oss konfigurera din Raspberry Pi!

Först behöver du Raspbian som du kan lära dig här och sedan måste du följa stegen i det här förvaret.

Mitt databasschema är minimalt. Den innehåller 4 tabeller:

  1. tbluser

    1. UserID (tinyint, 2) AUTO INCREMENT, UNSIGNED
    2. Användarnamn (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. SessionDate (datum)
    3. Användar ID
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, UNSIGNED
    2. Sensornamn (varchar, 150)
  4. tblhistoria
    1. HistoryID (bigint, 20) AUTO INCREMENT, UNSIGNED
    2. SensorID
    3. SessionID
    4. HistoryValue (varchar, 255)
    5. HistoryTime (tid, 3)

Men du kan också ta en titt på.sql -dumpfilen

Steg 4: Låt oss börja kodning

Låt oss börja koda
Låt oss börja koda

Du hittar min kod för att få projektet att fungera här.

GPS

Det är verkligen enkelt att komma igång med GPS -modulen. Allt du behöver göra är att installera paketet gpsd-py3 i din Python-miljö. Sedan kan du använda det här biblioteket för att göra ditt liv enklare. Du kan använda kodningsexemplen för att få data som longtitued, latitude, speed, etc. från din GPS.

LCD skärm

För att få LCD -skärmen att fungera måste du installera biblioteket från Adafruit. Kodningsexempel hittar du här.

DS18B20 En tråds temperatursensor

För att hitta din entrådssensor måste du göra lite mer arbete. Först och främst måste vi aktivera entrådsbussen. Gör så här:

  1. sudo raspi-config
  2. Gränssnittsalternativ
  3. 1-tråd

För att kunna läsa data från sensorn måste vi veta hur vår ena tråd kallas. Till den här typen i cd/sys/bus/w1/devices/

Du kommer att se två enheter, den ena är Raspberry Pi själv och den andra ska se ut ungefär 28-0 … etc. Den långa strängen av siffror och bokstäver är hur du kommer att kunna läsa data i Python. För att läsa data i python måste du öppna den som en fil. Så sökvägen för att öppna filen ska se ut ungefär så här:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Knappar och lysdioder

Detta är grundläggande funktioner, du kan titta på min kod i den här mappen Klasser.

SQL-uttalanden

Nästan varje påstående är grundläggande SQL -satser. Men jag skulle vilja ge lite förklaring om hur jag sparade mina sensorer deras värden. Jag lade till mina sensorer manuellt i mina tblsensorer. Så jag visste vilken sensor som hade vilket ID. Så jag håller koll på longitud, latitud och min hastighet. För varje värde gjorde jag en annan funktion. Jag skulle bara göra 3 sql -uttalanden som är desamma men beroende på vilket värde jag skulle vilja lagra ändrade jag WHERE -satsen.

Rekommenderad: