Оглавление:

Smartbike, которым можно поделиться: 12 шагов (с изображениями)
Smartbike, которым можно поделиться: 12 шагов (с изображениями)

Видео: Smartbike, которым можно поделиться: 12 шагов (с изображениями)

Видео: Smartbike, которым можно поделиться: 12 шагов (с изображениями)
Видео: Vegan Since 1951! 32 Years Raw! A Natural Man of Many Skills; Mark Huberman 2024, Июль
Anonim
Совместимый Smartbike
Совместимый Smartbike
Совместимый Smartbike
Совместимый Smartbike

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

Поэтому я решил создать смарт-байк, который будет отслеживать:

  • Скорость
  • Место нахождения
  • Как долго ты ездишь на велосипеде

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

Ссылка на мой гитхаб.

Запасы

  • Raspberry Pi 3 (32, 49 евро)
  • SD-карта (для RPi) (13, 99 евро)
  • GPS NEO 6M (для определения скорости и местоположения) (15, 99 евро)
  • Anker PowerCore 10400 мАч (29, 99 евро)
  • RFID RC522 (5, 49 евро)
  • ЖК-дисплей 16x2 (€ 9, 99)
  • Доска Elegoo Uno R3 (9, 34 евро)
  • LDR (1, 50 евро)
  • MCP3008 (ADC) (5, 98 евро)
  • Переработанный свет
  • Древесина для дома (~ 15,00 €)
  • Кабели (~ 6,00 €)

Общий ценник: 145,76 €

Шаг 1: сделайте схему

Сделайте схему
Сделайте схему
Сделайте схему
Сделайте схему

Сначала вам нужно собрать все воедино. Я включил схему фритзинга.

Примечание. Некоторые компоненты, такие как сканер RFID, необходимо припаять.

Шаг 2: установите Python

Настроить Python
Настроить Python

Для этого проекта я буду использовать python 3 и запускать код на сервере python. Свяжу свой гитхаб со своим кодом.

Сначала вам нужно установить соединение с Raspberry Pi через Настройки> Сборка, Выполнение, Развертывание> Развертывание. Затем вам нужно сделать интерпретатор со всеми необходимыми пакетами. На моем Raspberry Pi я использую python 3.5.

Когда вы создали интерпретатор, вы можете создать новый проект и выбрать интерпретатор, который вы только что создали для этого проекта. Затем вам нужно будет выбрать, где сохранить файлы на вашем ПК и RPi.

Шаг 3. Прочтите данные

Прочтите данные
Прочтите данные

После того, как вы сделали схему и все компоненты заработали, вам нужно прочитать данные с датчиков. Мой проект был сделан с использованием Python 3. В python я считываю большую часть данных с датчиков с помощью классов.

  • Сканер RFID используется с Arduino (больше информации о том, как его использовать здесь). Я считываю данные со сканера с помощью Arduino и отправляю их в RPi с помощью последовательного USB.
  • Модуль GPS также использует последовательную связь. Данные, которые GPS отправляет на RPi, не так хорошо отформатированы. Я использовал библиотеку, чтобы проанализировать данные и упростить их использование. (Дополнительная информация о данных GPS).
  • Аналоговые значения из LDR преобразуются с помощью mcp3008 (ADC), затем я преобразую значение в процент.

Примечание. Если вы хотите использовать циклы while в Python для постоянного получения данных во время работы сервера Python. Вам понадобится использовать потоки (подробнее о потоках). Threading прост в использовании.

Шаг 4: База данных (mySQL)

База данных (mySQL)
База данных (mySQL)

Теперь, когда у вас есть данные с датчиков, вам нужно место для хранения данных. Мы будем хранить данные в реляционной базе данных в mySQL.

Я запускаю базу данных на моем RPi, чтобы это работало, мне нужно установить mariaDB на моем RPi. После того, как вы установили mariaDB и настроили его, вы можете использовать рабочую среду mySQL на своем ПК для подключения к своей базе данных на RPi.

Вам нужно будет сделать ERD на ПК; предварительно спроектировать ERD и экспортировать базу данных. Затем вы можете импортировать дамп (не забудьте создать схему) на RPi через рабочую среду mySQL.

Примечание. Таблица Bike_has_User не требуется и будет использоваться только в том случае, если вы планируете использовать несколько велосипедов. Вы можете удалить таблицу Bike_has_User и связать таблицу User с Datahistory.

Шаг 5. Свяжите свой Python с базой данных

Свяжите свой Python с базой данных
Свяжите свой Python с базой данных

Теперь, когда у вас установлена база данных, вы можете связать свой питон с базой данных. Щелкните базу данных (справа от экрана) и добавьте новый источник данных.

База данных и скрипт python работают на RPi, поэтому используйте IP-адрес localhost. Используйте пользователя, которого вы создали ранее, при настройке mariaDB.

Шаг 6: отправьте данные в базу данных

Отправить данные в базу данных
Отправить данные в базу данных

Когда у вас все настроено, вы можете начать отправлять данные в базу данных. Я использовал для этого класс helpers. Database на Python (см. Мой github).

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

Шаг 7. Используйте данные

Использовать данные
Использовать данные

С помощью класса helpers. Database вы можете вставлять данные в базу данных или получать данные из базы данных.

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

Шаг 8: Корпус: снизу

Корпус: снизу
Корпус: снизу

О жилье

Наконец, корпус для этого проекта сделан из дерева (310x130x110 мм). Большинство компонентов прикручены к дереву, за исключением павербанка и макета.

Можно сделать корпус меньше, если припаять компоненты. Я не включил способ надежного крепления корпуса к велосипеду, но есть много вариантов.

Изготовление корпуса

Начать придется с изготовления нижней части корпуса. Выпилите кусок дерева (130х310 мм). Затем прикрепите RPi винтом и приклейте макет к нижней части.

Примечание: Вы можете сделать идентичную деталь для верхней части корпуса.

Шаг 9: Корпус: маленькие стороны

Корпус: малые стороны
Корпус: малые стороны

Когда вы закончили нижнюю часть. Можно приступать к распиливанию боковых деталей. Начните с меньших сторон.

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

Шаг 10: Корпус: большие стороны

Корпус: большие стороны
Корпус: большие стороны

Теперь вам нужно сделать большие стороны. Еще раз распилите бока и прикрепите их к нижней части с помощью дополнительной доски.

Шаг 11: Добавление отверстия для ЖК-дисплея и LDR

Добавление отверстия для ЖК-дисплея и LDR
Добавление отверстия для ЖК-дисплея и LDR

Вам также необходимо проделать отверстие для ЖК-дисплея, чтобы вы могли видеть IP-адрес и отображать, сканирует ли пользователь или нет.

Используйте измерения на ЖК-дисплее, чтобы решить, какого размера будет отверстие.

После того, как вы вставили ЖК-дисплей, убедитесь, что LDR находится вне корпуса. Я использовал крошечное отверстие, чтобы LDR мог видеть дневной свет.

Шаг 12: прикрепите сканер Arduino и RFID сбоку

Прикрепите сканер Arduino и RFID сбоку
Прикрепите сканер Arduino и RFID сбоку

После того, как корпус будет готов, вам все равно нужно прикрепить сканер Arduino и RFID. Вы можете прикрепить их везде, где есть место. Но я рекомендую прикрепить сканер RFID под ЖК-дисплеем, чтобы пользователь мог видеть, отсканировал он или нет.

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