Съдържание:

Пайк - карайте по -безопасно, карайте по -интелигентно, карайте щука!: 5 стъпки
Пайк - карайте по -безопасно, карайте по -интелигентно, карайте щука!: 5 стъпки

Видео: Пайк - карайте по -безопасно, карайте по -интелигентно, карайте щука!: 5 стъпки

Видео: Пайк - карайте по -безопасно, карайте по -интелигентно, карайте щука!: 5 стъпки
Видео: SnowRunner Phase 8 FARMING explained 2024, Декември
Anonim
Пайк - карайте по -безопасно, карайте по -умно, карайте щука!
Пайк - карайте по -безопасно, карайте по -умно, карайте щука!

Добре дошли в моя проект, наречен Пайк!

Това е проект като част от моето образование. Аз съм студент по NMCT в Howest в Белгия. Целта беше да се направи нещо умно с помощта на Raspberry Pi. Имахме пълна свобода, в която искахме да станем умни.

За мен това беше лесен избор да направя мотора си малко по -умен. Живея на място, където карането на колело ме отвежда по -бързо до моята дестинация в града.

Също така веднъж паднах с мотора си. Счупих лакътя. Паднах, защото сочех шофьора зад мен, че искам да тръгна надясно. Пътят беше хлъзгав и загубих контрол, защото имах само една ръка на волана. Ето защо първата ми идея беше да прикрепя указатели за посока към мотора си. Оттам започнах да мисля какво друго мога да добавя, затова измислих GPS проследяване, за да можете по-късно да видите по кой маршрут сте тръгнали.

И така, какво може да направи Пайк?

Пайкът ще записва вашите шофьорски сесии. Той ще следи кой маршрут сте поели, ще изчисли средната ви скорост и изминатото разстояние. След всяка сесия можете да влезете в уебсайта, за да проверите къде и как е било вашето пътуване. Ще създадем и нещо, за да можете да избирате кой ще кара колелото, за да могат повече хора да използват вашия Pike, ако искат!

Стъпка 1: Частите

Частите
Частите

Така че очевидно трябва да знаете какво ви е необходимо, за да пресъздадете моя проект. Преди да започнем, бих искал да кажа, че този проект не беше точно евтин. Също така купих проводници в местен магазин, които бяха надценени. Можете да ги купите онлайн за няколко евро/долари (което препоръчвам да направите). Нямах време да чакам. Ето защо ги купих от местния магазин на висока цена.

Списъкът за пазаруване

- Малина Пи

- Кабелни джъмпери

- Powerbank всеки ще направи, стига да даде на вашия Pi достатъчно мощност

- Maxxter държач за смартфон (по принцип най -евтиният, който можете да намерите …)

- държач за смартфон Maxxter (белите кръгли също са много евтини, за да се поберат в пластмасовите ми тръби)

- Пластмасови тръби (пробит отвор в него, за да се поберат бутоните, които се вписват в държача на смартфона, за да се прикрепят към волана)

- Бутони*

- 6x 220 Ω резистори

- 1x 5K Ω резистор

- ЛСД дисплей

- Едножичен температурен сензор DS18B20

- GPS-модул Adafruit Ultimate Breakout 66 Channel

- GPS антена - Външна активна антена - 3-5V 28db с 5 метров кабел SMA (за усилване на GPS сигнала)

- uFLto SMA адаптер (за свързване на допълнителна антена към GPS-модула Adafruit)

Бележки:

* Тези, които ще видите на снимките, са метални, може би не най -идеалните, но това бяха тези, които имаха в местния ми магазин. Можете да отидете напълно водоустойчиви копчета, но те бяха 15 € парче, което смятах, че е скъпо за бутон. Можете да си купите какъвто и да е бутон, стига да работи със система за издърпване, всичко ще бъде наред.

Стъпка 2: Свържете всичко

Свържете всичко нагоре
Свържете всичко нагоре
Свържете всичко нагоре
Свържете всичко нагоре

Не е толкова трудно. Тъй като GPS модулът е свързан с USB. Можете да видите на горната снимка, че можете да съчетаете цветовете с кабелите на USB адаптера. Бутоните и светодиодите са свързани към 220 Ω. Температурният сензор DS18B20 е свързан до 5K Ω резистор.

Стъпка 3: Нека конфигурираме вашия Raspberry Pi

Нека конфигурираме вашия Raspberry Pi!
Нека конфигурираме вашия Raspberry Pi!

Първо ще ви трябва Raspbian, който можете да научите тук, а след това трябва да следвате стъпките в това хранилище.

Графикът на моята база данни е затворен минимален. Съдържа 4 таблици:

  1. tbluser

    1. Потребителски идентификатор (миниатюрен, 2) АВТОМАТИЧНО УВЕЛИЧЕНИЕ, НЕПОДПИСАНО
    2. UserName (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 (дата)
    3. UserID
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, UNSIGNED
    2. Име на сензора (varchar, 150)
  4. tblhistory

    1. HistoryID (bigint, 20) AUTO INCREMENT, UNSIGNED
    2. SensorID
    3. Сесиен идентификатор
    4. HistoryValue (varchar, 255)
    5. HistoryTime (час, 3)

Но можете също да разгледате.sql дамп файла

Стъпка 4: Нека започнем кодирането

Нека започнем кодирането
Нека започнем кодирането

Тук можете да намерите моя код, за да работи проектът.

GPS

Наистина е много лесно да започнете с GPS модула. Всичко, което трябва да направите, е да инсталирате пакета gpsd-py3 във вашата среда на Python. След това можете да използвате тази библиотека, за да улесните живота си. Можете да използвате примери за кодиране, за да получите данни като дължина, географска ширина, скорост и т.н. от вашия GPS.

ЛСД дисплей

За да работи LCD дисплеят, трябва да инсталирате библиотеката от Adafruit. Примери за кодиране можете да намерите тук.

DS18B20 Едножичен температурен сензор

За да намерите своя едножичен сензор, ще трябва да свършите малко повече работа. Първо трябва да активираме едножичната шина. За да направите това, следвайте стъпките:

  1. sudo raspi-config
  2. Опции за взаимодействие
  3. 1-проводник

За да започнем да четем данните от сензора, трябва да знаем как се нарича нашият един проводник. Към този тип в cd/sys/bus/w1/devices/

Ще видите две устройства, едното е самата Raspberry Pi, а другото трябва да изглежда като 28-0 … и т.н. Е, този дълъг низ от цифри и букви е начинът, по който ще можете да четете данни в Python. За да четете данни в python, ще трябва да ги отворите като файл. Така че пътят за отваряне на файла трябва да изглежда така:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Бутони и светодиоди

Това са основни функции, можете да разгледате моя код в тази папка Classes.

SQL-изявления

Почти всеки израз са основни SQL изрази. Бих искал обаче да дам малко обяснение как запазих стойностите на сензорите си. Ръчно добавих моите сензори към моите tblsensors. Така че знаех кой сензор има кой идентификатор. Така че следя дължината, географската ширина и скоростта си. За всяка стойност направих различна функция. Просто бих направил 3 sql израза, които са еднакви, но в зависимост от това коя стойност бих искал да съхраня, промених израза WHERE.

Препоръчано: