Оглавление:
Видео: Умная парковка с использованием Raspberry Pi: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
В этой инструкции мы создадим полностью автоматическую систему парковки, подключенную к веб-интерфейсу. Вы сможете увидеть, какое место занято, решить, кто входит, а кто выходит, и оно будет оснащено автоматической системой освещения.
Запасы
Аппаратное обеспечение
- 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:
Установка
-
Откройте Win32 Disk Imager
- Выберите изображение, которое вы только что загрузили, с помощью значка папки.
- Выберите свою SD-карту в раскрывающемся списке.
- Нажмите на запись
- Когда процесс будет завершен, ваш компьютер, вероятно, спросит вас, хотите ли вы отформатировать SD-карту, не делайте этого
Когда вы закончите с этими шагами, вам нужно будет сделать некоторые дополнительные вещи, чтобы вы могли получить доступ к программному обеспечению вашего PI.
- Откройте SD-карту в проводнике
- Откройте файл cmdline.txt.
- В конце вы увидите длинную строку текста add: ip = 169.254.10.1
- Сохраните файл
- Создайте файл с именем ssh без расширения (если вы не знаете, как это сделать, просто нажмите новый файл, выберите новый текстовый файл, удалите расширение и назовите его ssh)
- Последний шаг этой части - безопасно извлечь SD-карту и вставить ее в Raspberry PI.
Подключение
Когда вы закончите делать предыдущие шаги, пора в первый раз подключиться к вашему пи. Сначала вам нужно будет подключить кабель UTP, один конец к компьютеру, а другой к пи (важно, чтобы вы подключили кабель LAN, прежде чем подключать его).
- Установите Putty:
- После установки откройте его и введите 169.254.10.1 в поле IP.
- Выберите SSH и заполните порт 22
- Нажмите открыть
- Введите имя пользователя: 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, который немного более удобен для пользователя.
- Установите VNC-viewer здесь:
- Нажмите файл, новое соединение и введите в строке IP-адреса: 169.254.10.1 и выберите любое имя, которое хотите
- Введите логин: pi и пароль raspberry
- Щелкните значок 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 вы можете найти код, необходимый для получения данных из серверной части.
Вы можете найти код для внешнего интерфейса здесь:
Рекомендуемые:
Интеллектуальная парковка на основе Интернета вещей: 7 шагов
Интеллектуальная парковка на основе Интернета вещей: авторы Танмай Патхак и Уткарш Мишра. Студенты @ Международный институт информационных технологий, Хайдарабад (IIITH) РЕЗЮМЕ Мы успешно внедрили систему интеллектуальной парковки на основе Интернета вещей. С помощью отдельных узлов (датчиков приближения) всегда
Умная метеостанция (с использованием Arduino): 5 шагов
Интеллектуальная метеостанция (с использованием Arduino): метеостанция - это объект, расположенный на суше или на море, с приборами и оборудованием для измерения атмосферных условий, чтобы предоставлять информацию для прогнозов погоды и изучать погоду и климат. Измерения включают температуру
Автономная параллельная парковка автомобилей с использованием Arduino: 10 шагов (с изображениями)
Автономная параллельная парковка автомобилей с использованием Arduino: при автономной парковке нам необходимо создавать алгоритмы и датчики положения в соответствии с определенными предположениями. Наши предположения будут следующими в этом проекте. В сценарии левая сторона дороги будет состоять из стен и парковых зон. Как ты
Умная аркадная игра в баскетбол с подсчетом очков с использованием встроенной платформы Evive - Arduino: 13 шагов
Умная аркадная игра «Баскетбол» с подсчетом очков с использованием встроенной платформы Evive - Arduino: из всех существующих игр самыми интересными являются аркады. Итак, мы подумали, а почему бы не сделать его самим дома! И вот мы - самая увлекательная игра, в которую вы когда-либо играли, сделанную своими руками, - аркадную баскетбольную игру DIY! Мало того
Умная парковка Arduino: 4 шага
Интеллектуальная парковка Arduino: Билл Бланкеншип, Уильям Бейли, Ханна Харгроув С помощью платы Arduino нашей группе удалось создать систему, которая позволяла бы датчикам света определять, когда автомобиль занимал место или свободное место. После шестидесяти восьми строк мы