Tartalomjegyzék:

Pike - Vezess biztonságosabban, vezess okosabban, vezess csukát !: 5 lépés
Pike - Vezess biztonságosabban, vezess okosabban, vezess csukát !: 5 lépés

Videó: Pike - Vezess biztonságosabban, vezess okosabban, vezess csukát !: 5 lépés

Videó: Pike - Vezess biztonságosabban, vezess okosabban, vezess csukát !: 5 lépés
Videó: Peugeot 208 T16 Pikes Peak with Sebastien Loeb 2024, December
Anonim
Pike - Vezess biztonságosabban, vezess okosabban, vezess csukát!
Pike - Vezess biztonságosabban, vezess okosabban, vezess csukát!

Üdvözöljük a Pike nevű projektemben!

Ez egy projekt az oktatásom részeként. NMCT hallgató vagyok a belgiumi Howest -en. A cél az volt, hogy valami okosat készítsenek egy Raspberry Pi használatával. Teljes szabadságot kaptunk, amelyben okoskodni akartunk.

Számomra könnyű választás volt, hogy kicsit okosabbá tegyem a kerékpárt. Olyan helyen lakom, ahol kerékpárral gyorsabban eljutok a városba.

Egyszer én is estem a biciklivel. Eltörtem a könyökömet. Leestem, mert a mögöttem lévő sofőrre mutattam, hogy jobbra akarok menni. Az út csúszós volt, és elvesztettem az irányítást, mert csak az egyik kezem volt a kormányon. Ezért az első ötletem az volt, hogy irányjelzőket rögzítsek a biciklimre. Innentől kezdve azon gondolkodtam, hogy mit tudok még hozzáfűzni, ezért kitaláltam a GPS-nyomkövetést, hogy később láthassa, melyik utat választotta.

Mit tehet tehát a Pike?

A Pike nyilvántartja vezetési üléseit. Ez nyomon követi, hogy melyik útvonalat választotta, kiszámítja az átlagos sebességet és a megtett távolságot. Minden foglalkozás után bejelentkezhet a webhelyre, hogy ellenőrizze, hol és hogyan haladt. Mi is létrehozunk valamit, így kiválaszthatja, ki fog biciklizni, hogy többen használhassák a Pike -ját, ha akarják!

1. lépés: Az alkatrészek

A részek
A részek

Tehát nyilvánvalóan tudnia kell, hogy mire van szüksége a projektem újraalkotásához. Mielőtt elkezdenénk, szeretném elmondani, hogy ez a projekt nem volt olcsó. Továbbá drótokat vettem egy helyi boltban, amelyek túl drágák voltak. Pár euró/dollárért megvásárolhatja őket az interneten (ezt javaslom). Nem volt időm várni. Ezért vettem őket a helyi boltomból magas áron.

A bevásárló lista

- Raspberry Pi

- Jumper kábelek

- A Powerbank bármelyike megteszi mindaddig, amíg elegendő energiát ad a Pi -nek

- Maxxter okostelefon tartó (alapvetően a legolcsóbb, amit talál …)

- Maxxter okostelefon -tartó (a fehér kör alakúak is nagyon olcsók, hogy illeszkedjenek a műanyag csöveimhez)

- Műanyag csövek (lyukat fúrtak bele, hogy illeszkedjenek az okostelefon tartójába illeszkedő gombokhoz, amelyek a kormánykerékre rögzíthetők)

- Gombok*

- 6x 220 Ω ellenállás

- 1x 5K Ω ellenállás

- LCD kijelzö

- DS18B20 egyvezetékes hőmérséklet -érzékelő

- Adafruit GPS modul Ultimate Breakout 66 Channel

- GPS antenna - Külső aktív antenna - 3-5V 28db 5 méteres SMA kábellel (a GPS jel erősítéséhez)

- uFLto SMA adapter (extra antenna csatlakoztatásához az Adafruit GPS-modulhoz)

Megjegyzések:

* A képeken látható fém fémek, talán nem a legideálisabbak, de azok voltak a helyi boltomban. Mehetsz teljesen vízálló gombokat, de ezek 15 euróba kerültek darabonként, ami szerintem nagyon drága volt egy gombért. Bármilyen gombot megvásárolhat, amíg felhúzó rendszerrel működik, rendben lesz.

2. lépés: kössön össze mindent

Vegyen fel mindent
Vegyen fel mindent
Vegyen fel mindent
Vegyen fel mindent

Nem olyan nehéz. Mivel a GPS modul USB -vel van csatlakoztatva. A fenti képen látható, hogy a színek illeszkednek az USB -adapter kábeleihez. A gombok és a LED -ek 220 Ω -ra vannak csatlakoztatva. A DS18B20 hőmérséklet -érzékelő 5K Ω ellenálláshoz van kötve.

3. lépés: Konfiguráljuk a Raspberry Pi -t

Konfiguráljuk a Raspberry Pi -t!
Konfiguráljuk a Raspberry Pi -t!

Először szüksége lesz a Raspbian nyelvre, amelyet itt tanulhat meg, majd kövesse az ebben a tárban található lépéseket.

Az adatbázisom ütemezése minimális. 4 táblázatot tartalmaz:

  1. tbluser

    1. UserID (tinyint, 2) AUTO INCREMENT, UNSIGNED
    2. Felhasználónév (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 (dátum)
    3. Felhasználói azonosító
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, UNSIGNED
    2. SensorName (varchar, 150)
  4. tblhistory

    1. HistoryID (bigint, 20) AUTO INCREMENT, UNSIGNED
    2. SensorID
    3. Munkamenet azonosító
    4. HistoryValue (varchar, 255)
    5. HistoryTime (idő, 3)

De megnézheti a.sql dump fájlt is

4. lépés: Kezdjük el a kódolást

Kezdjük el a kódolást
Kezdjük el a kódolást

A projekt működéséhez szükséges kódomat itt találja.

GPS

A GPS -modul használatba vétele nagyon egyszerű. Mindössze annyit kell tennie, hogy telepíti a gpsd-py3 csomagot a Python környezetébe. Akkor használhatja ezt a könyvtárat, hogy megkönnyítse az életét. A kódolási példák segítségével lekérheti a GPS -ből az olyan adatokat, mint a hosszú távú helyzet, a szélesség, a sebesség stb.

LCD kijelzö

Az LCD kijelző működéséhez telepítenie kell az Adafruit könyvtárát. A kódolási példák itt találhatók.

DS18B20 egy huzalos hőmérséklet -érzékelő

Az egyhuzalos érzékelő megtalálásához kicsit többet kell dolgoznia. Először is aktiválnunk kell az egy vezetékes buszt. Ehhez kövesse az alábbi lépéseket:

  1. sudo raspi-config
  2. Interfész opciók
  3. 1-vezetékes

Ahhoz, hogy elkezdjük olvasni az adatokat az érzékelőből, tudnunk kell, hogyan hívják az egy vezetékünket. Ehhez a típushoz a cd/sys/bus/w1/devices/

Látni fog két eszközt, az egyik a Raspberry Pi, a másik pedig valahogy 28-0-nak fog kinézni. Az adatok pythonban történő olvasásához fájlként kell megnyitnia. Tehát a fájl megnyitásának útvonalának valahogy így kell kinéznie:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Gombok és LED -ek

Ezek alapvető funkciók, megtekintheti a kódomat ebben az Osztályok mappában.

SQL-állítások

Szinte minden utasítás alapvető SQL utasítás. Szeretnék azonban egy kis magyarázatot adni arra, hogyan mentettem el az érzékelőim értékeit. Manuálisan hozzáadtam az érzékelőimet a tblsenzorokhoz. Tehát tudtam, hogy melyik érzékelő melyik azonosítóval rendelkezik. Tehát nyomon követem a hosszúsági fokot, a szélességet és a sebességet. Minden értékhez más függvényt készítettem. Csak 3 sql kijelentést tennék, amelyek azonosak, de attól függően, hogy melyik értéket szeretném tárolni, megváltoztattam a WHERE utasítást.

Ajánlott: