Оглавление:

Умная парковка с использованием Raspberry Pi: 5 шагов
Умная парковка с использованием Raspberry Pi: 5 шагов

Видео: Умная парковка с использованием Raspberry Pi: 5 шагов

Видео: Умная парковка с использованием Raspberry Pi: 5 шагов
Видео: Первый взгляд на Raspberry Pi 5. Тест Памяти и CPU. Установка Home Assistant Operation System. 2024, Ноябрь
Anonim
Умная парковка с использованием Raspberry Pi
Умная парковка с использованием Raspberry Pi

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

Запасы

Аппаратное обеспечение

  • 2x ультразвуковых датчика
  • 1x серводвигатель
  • 4x белых светодиода
  • 1x светозависимый резистор
  • 1x 2 * 16 ЖК-дисплей

Вычисление

  • 1x Raspberry Pi 3 B +
  • 1x SD-карта (8-16 ГБ на выбор)
  • 1x усилитель Adafruit I2S 3 Вт класса D - MAX98357A
  • 1x MCP3008
  • 1x резистор 2,2 кОм
  • 9 резисторов по 1 кОм

Различный

  • Провода перемычки
  • Макетная плата
  • UTP-кабель
  • Адаптер для вашего raspberry pi
  • Лист мультиплекса (для корпуса можно использовать любой материал)
  • Клеевой пистолет

Программное обеспечение

  • PuTTY
  • Программное обеспечение для редактирования кода (вы можете использовать все, что хотите, если оно поддерживает: Python, HTML, CSS и java-скрипт.
  • Win32 Disk Imager
  • Образ ОС Raspbian
  • VNC Viewer (необязательно)

Шаг 1. Настройка RPI

Прежде чем мы начнем с разводки оборудования, напишем

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

Вам понадобится образ Raspbian, чтобы поместить его на SD-карту и записать его на SD-карту Win32 Disk Imager. Вы можете найти ссылки на оба ниже.

- Win32 Disk Imager:

- Образ Raspbian:

Установка

  1. Откройте Win32 Disk Imager

    1. Выберите изображение, которое вы только что загрузили, с помощью значка папки.
    2. Выберите свою SD-карту в раскрывающемся списке.
    3. Нажмите на запись
    4. Когда процесс будет завершен, ваш компьютер, вероятно, спросит вас, хотите ли вы отформатировать SD-карту, не делайте этого

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

  1. Откройте SD-карту в проводнике
  2. Откройте файл cmdline.txt.
  3. В конце вы увидите длинную строку текста add: ip = 169.254.10.1
  4. Сохраните файл
  5. Создайте файл с именем ssh без расширения (если вы не знаете, как это сделать, просто нажмите новый файл, выберите новый текстовый файл, удалите расширение и назовите его ssh)
  6. Последний шаг этой части - безопасно извлечь SD-карту и вставить ее в Raspberry PI.

Подключение

Когда вы закончите делать предыдущие шаги, пора в первый раз подключиться к вашему пи. Сначала вам нужно будет подключить кабель UTP, один конец к компьютеру, а другой к пи (важно, чтобы вы подключили кабель LAN, прежде чем подключать его).

  1. Установите Putty:
  2. После установки откройте его и введите 169.254.10.1 в поле IP.
  3. Выберите SSH и заполните порт 22
  4. Нажмите открыть
  5. Введите имя пользователя: pi и пароль raspberry, это стандартный логин на новом образе.

Распи-конфиг

Прежде чем мы продолжим, вам нужно будет изменить довольно много настроек в меню raspi-config, чтобы открыть его, используя:

sudo raspi-config

1. Включите I2C и SPI в разделе опций в категории интерфейсов.

2. Выберите страну WIFI в категории локализации.

3. Установите для параметра Desktop / CLI в категории параметров загрузки значение Desktop Autologin.

4. В разделе Advanced options выберите A1 Expand Filesystem (это гарантирует, что вы используете пространство всей SD-карты.

5. Теперь выйдите и перезагрузите sudo.

вай фай

Пришло время настроить подключение к Wi-Fi. Конечно, вам понадобятся учетные данные вашего Wi-Fi.

Сначала войдите в режим root, выполнив эту команду

Судо -и

Теперь у вас есть права, необходимые для выполнения этих команд:

Обязательно измените SSID на свое имя Wi-Fi и ПАРОЛЬ на свой пароль Wi-Fi.

Wpa_passphrase «SSID» «ПАРОЛЬ» >> /etc/wpa_supplicant/wpa_supplicant.conf

Войдите в клиент WPA, выполнив эту команду:

wpa_cli

Выберите интерфейс

Интерфейс wlan0

Перезагрузите конфиг

Переконфигурировать

И последнее, но не менее важное: проверьте, сработало ли это. Вы можете сделать это, введя:

ИП а

Здесь вы можете проверить, есть ли у вас ip под интерфейсами WLAN0, если не перезагрузка sudo (никогда не дает сбоев (:).

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

  1. Установите VNC-viewer здесь:
  2. Нажмите файл, новое соединение и введите в строке IP-адреса: 169.254.10.1 и выберите любое имя, которое хотите
  3. Введите логин: pi и пароль raspberry
  4. Щелкните значок Wi-Fi и подключитесь таким образом

Пакеты

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

Сначала нам нужно обновить список пакетов до последнего, запустив:

sudo apt update

sudo apt upgrade

Веб-сервер Apache

Нам понадобится веб-сервер для запуска нашего веб-приложения. Мы можем добиться этого, установив веб-сервер apache, выполнив эту команду:

sudo apt install apach2 -y

Пакеты Python

Чтобы все заработало, нам понадобится довольно много пакетов. Это те, которые нам понадобятся.

  • Колба
  • Фляга-Корс
  • Расширение Flask
  • Flask-MySQL
  • Flask-SocketIO
  • Python-socketio

Вы можете установить их, выполнив эту команду:

pip install Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

Шаг 2: База данных

База данных
База данных

MariaDB

Выполните следующую команду, чтобы установить MariaDB, это система базы данных, необходимая для отслеживания всех данных, считываемых датчиками.

sudo apt установить mariadb-server

Теперь нам нужно защитить нашу установку.

Mysql_secure_installation

После того, как вы запустите команду, она попросит нас ввести пароль root, которого у нас еще нет, поэтому просто нажмите Enter.

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

Теперь он продолжит задавать вам еще несколько вопросов, просто ответьте Y на все.

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

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

судо -i

Теперь войдите в оболочку mysql

MySQL

Теперь мы собираемся создать пользователя, который поместит желаемое имя между кавычками перед @ и пароль, который вы хотите после идентифицировать с помощью

Теперь нам нужно очистить таблицу разрешений, выполнив эту команду:

ПРИВИЛЕГИИ ПРОМЫВКИ;

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

Шаг 3: Подключение

Проводка
Проводка
Проводка
Проводка
Проводка
Проводка

Пришло время заняться электромонтажом проекта. Чтобы упростить процесс, сначала создайте схему в программе под названием fritzing. Fritzing упрощает воссоздание вашей проводки в реальной жизни, и вы получаете четкое представление о том, что вы делаете.

Шаг 4: жилье

Корпус
Корпус
Корпус
Корпус
Корпус
Корпус

Первый шаг - вырезать из дерева формы, показанные на рисунке. Я сделал это с помощью лазерной резки, но и обычная пила тоже подойдет. После этого вы захотите покрасить дерево в черный цвет, чтобы получить цвет асфальта. Как только краска высохнет, вы можете нарисовать белые полосы, чтобы создать ощущение парковки. Для забора я окрашиваю соломку, чтобы она выглядела как столбы. Для самой ограды прикрепил к столбам козочки. Барьер сделан из paer maché, который я позже покрасил распылением.

Шаг 5: кодирование

Кодирование
Кодирование
Кодирование
Кодирование
Кодирование
Кодирование

Бэкэнд: Бэкэнд проекта написан на Python и TSQL. Он считывает все данные датчиков и записывает их в базу данных, которую мы создали немного ранее. Он также запускает веб-сервер, поэтому мы можем подключить к нему наш интерфейс. Я написал код, необходимый для бэкэнда, в pycharm, но, конечно, вы можете просто использовать все, что захотите.

Вы можете найти код для бэкэнда здесь:

Интерфейс: интерфейс написан на HTML, CSS и Javascript. Я использовал комбинацию кода Visual Studio и phpstorm для написания кода. Код в основном записывает весь веб-сайт, а в файлах javascript вы можете найти код, необходимый для получения данных из серверной части.

Вы можете найти код для внешнего интерфейса здесь:

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