Оглавление:
- Шаг 1. Требования
- Шаг 2: пайка / электромонтаж
- Шаг 3: Настройка Raspberry Pi
- Шаг 4: Настройка базы данных
- Шаг 5: Код
- Шаг 6: Подключитесь
Видео: WeatherCar: 6 шагов
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-10 13:48
WeatherCar, небольшой самодельный проект, который может управлять автомобилем, а также собирать полезные данные!
Я сделал этот проект заключительным за мой первый год в Ховесте Кортрейка. У этого проекта еще нет хорошей отделки, но в этом документе описываются все внутренности этого автомобиля, но без полного кадра.
Шаг 1. Требования
Для этого проекта вам понадобятся все эти компоненты:
- Raspberry Pi
- 2 двигателя (12 В)
- Сервопривод
- DHT11
- BMP280
- GY-NEO6MV2 GPS-модуль
- 4 х NPN транзистора
- 2 резистора (1 кОм и 2 кОм)
- Драйвер мотора
- 2 аккумулятора по 6 В
- Макетная доска
- Понижающий регулятор напряжения
- Изолированный медный провод
- Плоский кабель
- Старый кабель Micro-USB
- Фанера
Шаг 2: пайка / электромонтаж
На первом этапе мы сразу подключим все провода. (PS. Можно использовать макет для тестирования перед тем, как все паять)
Я предоставил схему, которая показывает вам, как я все подключал, хотя я не мог найти нужную деталь для своего мотора. Для своего мотора я использовал 4 транзистора NPN, чтобы преобразовать свой сигнал 3,3 В в сигнал 12 В для управления драйвером мотора. Это потому, что тот, который я использовал, поддерживает только 1 напряжение (12 В, потому что мои двигатели 12 В).
Шаг 3: Настройка Raspberry Pi
Если у вас еще нет настройки, вам нужно сделать это сначала, в противном случае вы можете пропустить этот шаг, если у вас есть необходимые программы из последнего фрагмента кода на этом шаге.
Сначала вам нужно скачать настольную версию Raspbian, которую можно найти здесь:
После того, как вы загрузили это, вам нужно будет использовать Etcher или WinDiskImager, чтобы поместить файл изображения на SD-карту с вашего raspberry Pi. (Это может занять некоторое время).
Когда программа будет завершена, откройте проводник и откройте диск под названием «boot». Здесь вы найдете текстовый файл «cmdline.txt». Откройте это и добавьте ip = 169.254.10.1 в конец файла. Будьте осторожны, не добавляйте никаких записей в файл, так как это может привести к проблемам.
Теперь, когда у PI есть IP-адрес по умолчанию, нам все еще нужно включить SSH, чтобы иметь возможность подключаться к нему. Вы можете сделать это, создав новый файл с именем «SSH» без какого-либо расширения, это скажет Raspberry Pi включить ssh при первой загрузке.
Теперь мы можем подключиться к Raspberry Pi с помощью кабеля Ethernet. Подключите кабель между вашим компьютером и raspberry PI. Теперь нам понадобится SSH-клиент. Для этого я использовал шпатлевку (https://www.putty.org/). Откройте putty и введите 169.254.10.1 в качестве имени хоста. Прежде чем вы сможете подключиться, может пройти некоторое время.
Как только вы подключитесь, войдите в систему с этими учетными данными:
Логин: piПароль: raspberry
Теперь мы можем настроить подключение к Интернету, чтобы сделать это. Выполните эту команду и замените SSID и сетевой пароль на имя и пароль вашего Wi-Fi.
эхо "пароль" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 перенастроить
Теперь, когда у нас есть подключение к Интернету, мы можем установить python и другие необходимые программы, используя следующие команды
sudo apt update
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip install --upgrade pip setuptools wheel virtualenv
mkdir weathercar && cd weathercar
python3 -m venv --system-site-packages env
исходный env / bin / активировать
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Шаг 4: Настройка базы данных
Теперь, когда у вас есть все необходимые программы для raspberry pi, нам все еще нужно настроить базу данных. Что мы можем сделать, запустив сначала Mysql
судо мариадб
а потом
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'project1-admin' @ 'localhost' ИДЕНТИФИЦИРОВАНО 'adminpassword'; СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'project1-web' @ 'localhost' ИДЕНТИФИЦИРОВАНО 'webpassword'; СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'project1-sensor' @ 'localhost' ИДЕНТИФИЦИРОВАНО '' sensorpassword »;
СОЗДАТЬ БАЗУ ДАННЫХ weathercar_db;
ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА weathercar. * 'Project1-admin' @ 'localhost' С ОПЦИЕЙ GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON project1. * TO 'project1-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, УДАЛИТЬ НА project1. * TO 'project1-sensor' @ 'localhost'; FLUSH PRIVILEGES;
Шаг 5: Код
На этом этапе мы клонируем необходимый код на ваш raspberry pi. Мы сделаем это следующим образом:
Прежде всего убедитесь, что вы находитесь в своем домашнем каталоге, введя "cd"
CD
теперь мы клонируем репозиторий, используя
git clone
Теперь мы можем импортировать настройки базы данных, используя:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Теперь, когда мы закончили работу с базой данных, мы можем продолжить и настроить нашу службу.
sudo cp weathercar / conf / project1 - *. service / etc / systemd / system / sudo systemctl daemon-reloadsudo systemctl start project1- * sudo systemctl enable project1- *
Шаг 6: Подключитесь
Мы почти у цели, еще один шаг. И это получение IP-адреса, который нам дал Wi-Fi.
Мы сделаем это, поставив
IP-адрес
появится куча дерьма, но вы сможете найти "wlan0", а затем несколько строк дальше "inet 192.168.x.x"
поместите этот IP-адрес в свой браузер и вперед. Вы подключены к сайту.