Оглавление:

Щука - водите безопаснее, водите умнее, водите щуку!: 5 шагов
Щука - водите безопаснее, водите умнее, водите щуку!: 5 шагов

Видео: Щука - водите безопаснее, водите умнее, водите щуку!: 5 шагов

Видео: Щука - водите безопаснее, водите умнее, водите щуку!: 5 шагов
Видео: С этими захватывающими фактами вы сможете блеснуть умом на любой вечеринке 2024, Ноябрь
Anonim
Pike - Управляйте безопаснее, управляйте умнее, управляйте щукой!
Pike - Управляйте безопаснее, управляйте умнее, управляйте щукой!

Добро пожаловать в мой проект под названием Pike!

Это проект в рамках моего образования. Я студент NMCT в Ховесте в Бельгии. Целью было сделать что-то умное с помощью Raspberry Pi. У нас была полная свобода, в которой мы хотели поумнеть.

Для меня это был простой выбор - сделать свой байк немного умнее. Я живу в месте, где езда на велосипеде быстрее добирается до места назначения в городе.

Также однажды я упал на велосипеде. Я сломал себе локоть. Я упал, потому что показывал на водителя позади меня, что хотел ехать направо. Дорога была скользкой, и я не справился с управлением, потому что держал руль только одной рукой. Поэтому моей первой идеей было прикрепить к мотоциклу указатели поворота. С этого момента я начал думать, что еще я мог бы добавить, поэтому я придумал GPS-слежение, чтобы вы позже могли видеть, какой маршрут вы выбрали.

Итак, что может сделать Pike?

Pike будет вести учет ваших сеансов вождения. Он будет отслеживать, какой маршрут вы выбрали, рассчитывать вашу среднюю скорость и пройденное расстояние. После каждого сеанса вы можете войти на веб-сайт, чтобы проверить, где и как была ваша поездка. Мы также создадим что-то, чтобы вы могли выбрать, кто будет ездить на велосипеде, чтобы больше людей могли использовать вашу Pike, если захотят!

Шаг 1: Детали

Части
Части

Очевидно, вам нужно знать, что вам нужно для воссоздания моего проекта. Прежде чем мы начнем, хочу сказать, что этот проект был не из дешевых. Также я купил провода в местном магазине, цена на которые была завышена. Вы можете купить их в Интернете за пару евро / долларов (что я рекомендую вам сделать). У меня не было времени ждать. Вот почему я купил их в своем местном магазине по высокой цене.

Список покупок

- Raspberry Pi

- Соединительные кабели

- Powerbank любой подойдет, если он дает вашему Pi достаточно мощности

- Держатель для смартфона Maxxter (в основном самый дешевый, который вы можете найти…)

- Держатель для смартфона Maxxter (белые круглые, также очень дешевые, чтобы соответствовать моим пластиковым трубкам)

- Пластиковые трубки (в них просверлили отверстие, чтобы приспособить кнопки, которые помещаются в держателе смартфона, чтобы закрепить на рулевом колесе)

- Кнопки *

- 6 резисторов 220 Ом

- 1x резистор 5 кОм

- ЖК дисплей

- Датчик температуры DS18B20 с одним проводом

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

- Антенна GPS - Внешняя активная антенна - 3-5 В 28 дБ с 5-метровым кабелем SMA (для усиления сигнала GPS)

- uFLto SMA адаптер (для подключения дополнительной антенны к GPS-модулю Adafruit)

Примечания:

* Те, которые вы увидите на фотографиях, металлические, возможно, не самые идеальные, но те, что были в моем местном магазине. Вы можете использовать полностью водонепроницаемые пуговицы, но они стоили 15 евро за штуку, что, на мой взгляд, было слишком дорого для пуговицы. Вы можете купить любую кнопку, которую хотите, если она работает с системой подтягивания, с вами все будет в порядке.

Шаг 2: Подключите все

Подключить все
Подключить все
Подключить все
Подключить все

Это не так уж и сложно. Так как модуль GPS подключен по USB. Вы можете видеть на картинке выше, что вы можете сопоставить цвета с кабелями на USB-адаптере. Кнопки и светодиоды подключены к 220 Ом. Датчик температуры DS18B20 подключен к резистору 5 кОм.

Шаг 3: давайте настроим ваш Raspberry Pi

Настроим ваш Raspberry Pi!
Настроим ваш Raspberry Pi!

Сначала вам понадобится Raspbian, который вы можете изучить здесь, а затем вам нужно будет выполнить шаги в этом репозитории.

График работы с моей базой данных минимален. Он содержит 4 таблицы:

  1. tbluser

    1. ID пользователя (tinyint, 2) АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ, НЕ ПОДПИСАНО
    2. Имя пользователя (varchar, 175)
    3. UserLogin (varchar, 180)
    4. UserPassword (varchar, 255)
    5. UserActive (tinyint, 1) НЕ ПОДПИСАНО
  2. tblsession

    1. SessionID (int, 10) АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ, НЕ ПОДПИСАНО
    2. SessionDate (дата)
    3. ID пользователя
  3. tblsensor

    1. SensorID (tinyint, 3) АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ, НЕ ПОДПИСАНО
    2. SensorName (varchar, 150)
  4. история

    1. HistoryID (bigint, 20) АВТО УВЕЛИЧЕНИЕ, БЕЗ ПОДПИСИ
    2. SensorID
    3. Идентификатор сессии
    4. HistoryValue (varchar, 255)
    5. HistoryTime (время, 3)

Но вы также можете взглянуть на файл дампа.sql

Шаг 4. Приступим к программированию

Приступим к кодированию
Приступим к кодированию

Вы можете найти мой код, чтобы проект заработал здесь.

GPS

Начать работу с модулем GPS действительно просто. Все, что вам нужно сделать, это установить пакет gpsd-py3 в вашу среду Python. Тогда вы сможете использовать эту библиотеку, чтобы облегчить себе жизнь. Вы можете использовать примеры кодирования для получения таких данных, как долгота, широта, скорость и т. Д. С вашего GPS.

ЖК дисплей

Чтобы ЖК-дисплей заработал, вам необходимо установить библиотеку от 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. Однако я хотел бы немного пояснить, как я сохранил значения своих датчиков. Я вручную добавил свои датчики к своим тблсенсорам. Итак, я знал, какой датчик имеет какой идентификатор. Поэтому я отслеживаю долготу, широту и свою скорость. Для каждого значения я сделал другую функцию. Я бы просто сделал 3 одинаковых оператора sql, но в зависимости от того, какое значение я хотел бы сохранить, я изменил оператор WHERE.

Рекомендуемые: