Spisu treści:

Pike - jedź bezpieczniej, jedź mądrzej, jedź szczupakiem!: 5 kroków
Pike - jedź bezpieczniej, jedź mądrzej, jedź szczupakiem!: 5 kroków

Wideo: Pike - jedź bezpieczniej, jedź mądrzej, jedź szczupakiem!: 5 kroków

Wideo: Pike - jedź bezpieczniej, jedź mądrzej, jedź szczupakiem!: 5 kroków
Wideo: Jedź bezpiecznie odc. JB 901 (dramatyczne sytuacje na przejściach dla pieszych) 2024, Czerwiec
Anonim
Pike - jedź bezpieczniej, jedź mądrzej, jedź szczupakiem!
Pike - jedź bezpieczniej, jedź mądrzej, jedź szczupakiem!

Witam w moim projekcie o nazwie Pike!

To projekt w ramach mojej edukacji. Jestem studentem NMCT w Howest w Belgii. Celem było stworzenie czegoś inteligentnego za pomocą Raspberry Pi. Mieliśmy pełną swobodę, w której chcieliśmy być mądrzy.

Dla mnie było to łatwe, aby mój rower był nieco mądrzejszy. Mieszkam w miejscu, w którym jazda na rowerze szybciej dociera do celu w mieście.

Raz też upadłem z rowerem. Złamałem łokieć. Upadłem, bo wskazywałem na kierowcę za mną, że chcę jechać w prawo. Droga była śliska i straciłem kontrolę, ponieważ trzymałem tylko jedną rękę na kierownicy. Dlatego moim pierwszym pomysłem było przymocowanie do roweru kierunkowskazów. Od tego momentu zacząłem zastanawiać się, co jeszcze mógłbym dodać, więc wymyśliłem śledzenie GPS, abyś mógł później zobaczyć, którą trasą pojechałeś.

Co więc może zrobić szczupak?

Pike będzie rejestrować Twoje sesje jazdy. Będzie śledzić, którą przebyłeś trasę, obliczy Twoją średnią prędkość i przebytą odległość. Po każdej sesji możesz zalogować się na stronie, aby sprawdzić, gdzie i jak przebiegała Twoja jazda. Stworzymy również coś, abyś mógł wybrać, kto będzie jeździł na rowerze, aby więcej osób mogło korzystać z Twojego szczupaka, jeśli zechce!

Krok 1: Części

Części
Części

Więc oczywiście musisz wiedzieć, czego potrzebujesz, aby odtworzyć mój projekt. Zanim zaczniemy, chciałbym powiedzieć, że ten projekt nie był do końca tani. Kupiłem też przewody w lokalnym sklepie, które były za drogie. Możesz je kupić online za kilka euro/dolarów (co polecam). Nie miałem czasu czekać. Dlatego kupiłem je w moim lokalnym sklepie po wysokiej cenie.

Lista zakupów

- Malina Pi

- Kable rozruchowe

- Powerbank any będzie działał tak długo, jak długo zapewni Twojemu Pi wystarczającą moc

- Uchwyt do smartfona Maxxter (w zasadzie najtańszy, jaki można znaleźć…)

- Uchwyt do smartfona Maxxter (białe okrągłe, również bardzo tanie, pasują do moich plastikowych rurek)

- Plastikowe rurki (wywiercony w nich otwór na przyciski pasujące do uchwytu na smartfona do zamocowania na kierownicy)

- Guziki*

- rezystory 6x 220 Ω

- 1x rezystor 5K Ω

- Wyświetlacz LCD

- Jednoprzewodowy czujnik temperatury DS18B20

- Moduł GPS Adafruit Ultimate Breakout 66 Channel

- Antena GPS - Zewnętrzna antena aktywna - 3-5V 28db z 5-metrowym kablem SMA (do wzmocnienia sygnału GPS)

- Adapter uFLto SMA (do podłączenia dodatkowej anteny do modułu GPS Adafruit)

Uwagi:

* Te, które zobaczysz na zdjęciach to metalowe, może nie te idealne, ale takie, które mieli w moim lokalnym sklepie. Możesz iść w pełni wodoodpornymi guzikami, ale były to 15 € za sztukę, co moim zdaniem było zbyt drogie jak na guzik. Możesz kupić dowolny przycisk, o ile działa on z systemem podciągania, wszystko będzie w porządku.

Krok 2: Podłącz wszystko do góry

Podłącz wszystko do góry
Podłącz wszystko do góry
Podłącz wszystko do góry
Podłącz wszystko do góry

To nie takie trudne. Ponieważ moduł GPS jest podłączony przez USB. Na powyższym obrazku widać, że możesz dopasować kolory do kabli na adapterze USB. Przyciski i diody LED są podłączone do 220 Ω. Czujnik temperatury DS18B20 jest podłączony do rezystora 5K Ω.

Krok 3: Skonfigurujmy Twoje Raspberry Pi

Skonfigurujmy Twoje Raspberry Pi!
Skonfigurujmy Twoje Raspberry Pi!

Najpierw potrzebujesz Raspbiana, którego możesz się nauczyć tutaj, a następnie musisz wykonać kroki w tym repozytorium.

Mój harmonogram bazy danych jest minimalny. Zawiera 4 tabele:

  1. tbluser

    1. ID użytkownika (tinyint, 2) AUTOMATYCZNE WZROST, NIE PODPISANE
    2. Nazwa użytkownika (varchar, 175)
    3. Login użytkownika (varchar, 180)
    4. Hasło użytkownika (varchar, 255)
    5. UserActive (tinyint, 1) UNSIGNED
  2. sesja tbl

    1. SessionID (int, 10) AUTO INCREMENT, UNSIGNED
    2. SesjaData (data)
    3. Identyfikator użytkownika
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, UNSIGNED
    2. NazwaCzujnika (varchar, 150)
  4. tblhistoria
    1. HistoryID (bigint, 20) AUTOMATYCZNE WZROST, NIE PODPISANE
    2. ID czujnika
    3. Identyfikator sesji
    4. HistoryValue (varchar, 255)
    5. HistoryTime (czas, 3)

Ale możesz też spojrzeć na plik zrzutu.sql

Krok 4: Zacznijmy kodować

Zacznijmy kodować
Zacznijmy kodować

Tutaj znajdziesz mój kod, dzięki któremu projekt będzie działał.

GPS

Rozpoczęcie korzystania z modułu GPS jest naprawdę proste. Wszystko, co musisz zrobić, to zainstalować pakiet gpsd-py3 w swoim środowisku Pythona. Następnie możesz użyć tej biblioteki, aby ułatwić sobie życie. Możesz użyć przykładów kodowania, aby uzyskać dane, takie jak długość geograficzna, szerokość geograficzna, prędkość itp. Z GPS.

Wyświetlacz LCD

Aby wyświetlacz LCD działał, musisz zainstalować bibliotekę firmy Adafruit. Przykłady kodowania można znaleźć tutaj.

DS18B20 Jednoprzewodowy czujnik temperatury

Aby znaleźć czujnik z jednym przewodem, będziesz musiał wykonać trochę więcej pracy. Przede wszystkim musimy aktywować magistralę one wire. Aby to zrobić, wykonaj następujące czynności:

  1. sudo raspi-config
  2. Opcje interfejsu
  3. 1-przewodowy

Aby rozpocząć odczytywanie danych z czujnika, musimy wiedzieć, jak nazywa się nasz jeden przewód. Do tego typu w cd /sys/bus/w1/devices/

Zobaczysz dwa urządzenia, jedno to samo Raspberry Pi, a drugie powinno wyglądać mniej więcej 28-0… itd. Cóż, ten długi ciąg cyfr i liter umożliwia odczytywanie danych w Pythonie. Aby odczytać dane w Pythonie, musisz otworzyć je jako plik. Ścieżka do otwarcia pliku powinna wyglądać mniej więcej tak: /sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Przyciski i diody LED

To są podstawowe funkcje, możesz spojrzeć na mój kod w tym folderze Zajęcia.

Instrukcje SQL

Prawie każda instrukcja to podstawowe instrukcje SQL. Chciałbym jednak nieco wyjaśnić, w jaki sposób zapisałem moje czujniki ich wartości. Ręcznie dodałem moje czujniki do moich tblsensorów. Wiedziałem więc, który czujnik ma jaki identyfikator. Więc śledzę długość geograficzną, szerokość geograficzną i moją prędkość. Dla każdej wartości stworzyłem inną funkcję. Zrobiłbym tylko 3 instrukcje sql, które są takie same, ale w zależności od wartości, którą chciałbym przechowywać, zmieniłem instrukcję WHERE.

Zalecana: