Мазмуну:

WeatherCar: 6 кадам
WeatherCar: 6 кадам

Video: WeatherCar: 6 кадам

Video: WeatherCar: 6 кадам
Video: Что будет, если ржавый гвоздь воткнется вам в ногу? 2024, Июль
Anonim
WeatherCar
WeatherCar

WeatherCar, пайдалуу маалыматтарды чогултуу менен бирге айдай турган кичинекей үйдө жасалган долбоор!

Мен бул долбоорду Кортрижк Хаустунда биринчи жылымдын финалы катары жасадым. Бул долбоор азырынча жакшы бүтө элек, бирок бул документ бул алкакты толук жасабастан, бул машинанын бардык ички түзүлүштөрүн камтыйт.

1 -кадам: талаптар

Бул долбоор үчүн бул компоненттердин баарына муктаж болосуз:

  • Raspberry PI
  • 2 х мотор (12v)
  • Servo
  • DHT11
  • BMP280
  • GY-NEO6MV2 GPS модулу
  • 4 x NPN транзистору
  • 2 х резистор (1k жана 2k)
  • Мотор айдоочу
  • 2 x 6v батарея топтому
  • Прототип тактасы
  • Төмөн түшүүчү чыңалуу жөндөгүчү
  • Изоляцияланган жез зым
  • Жалпак кабель
  • Эски Micro-USB кабели
  • Фанера

2 -кадам: Soldering / Wiring

Soldering / Wiring
Soldering / Wiring
Soldering / Wiring
Soldering / Wiring
Soldering / Wiring
Soldering / Wiring

Биринчи кадам үчүн биз түз эле бардык зымдарды туташтырабыз. (PS. Бардыгын ширетүүдөн мурун тестирлөө үчүн нан тактасын колдонсоңуз болот)

Мен мотор айдоочума ылайыктуу бөлүгүн таба албасам да, бардыгын кантип зымдаганымды көрсөткөн схеманы бердим. Менин мотор айдоочум үчүн мен 4 NPN транзисторун колдонуп, мотор айдоочусун башкаруу үчүн 3.3v сигналымды 12v сигналга айландырдым. Себеби, мен колдонгон 1 чыңалууну гана колдойт (12в, анткени моторлорум 12в).

3 -кадам: Raspberry Pi орнотуусу

Эгерде сизде мурунтан эле орнотуу жок болсо, анда муну биринчи жасашыңыз керек, антпесе бул кадамдын акыркы кодунун үзүндүсүнөн керектүү программалар болсо, бул кадамды өткөрүп жибере аласыз.

Биринчиден, сиз бул жерден тапкан Raspbian рабочий версиясын жүктөп алышыңыз керек:

Муну жүктөп алгандан кийин, Etcher же WinDiskImager'ди колдонуп, сүрөт файлын Raspberry Piден SD картка коюңуз. (Бул бир аз убакыт талап кылынышы мүмкүн).

Программа бүткөндөн кийин, файл изилдөөчүсүн ачыңыз жана "жүктөө" деп аталган дисктин ичин ачыңыз. Бул жерде сиз "cmdline.txt" тексттик файлын таба аласыз. Муну ачыңыз жана файлдын аягына ip = 169.254.10.1 кошуңуз. Этият болуңуз, файлга эч кандай кирүүлөрдү кошпогула, анткени бул көйгөйгө алып келиши мүмкүн.

Эми PIде демейки IP дареги бар, биз дагы ага туташуу үчүн SSHди иштетишибиз керек. Сиз муну эч кандай кеңейтүүсүз "SSH" деп аталган жаңы файл жасоо менен жасай аласыз, бул малинага piге биринчи жүктөөдө sshти иштетүүнү айтат.

Муну менен биз азыр малина пи -ге Ethernet кабелин колдонуп туташа алабыз. ПК менен малина ПИнин ортосундагы кабелди туташтырыңыз. Эми бизге SSH кардары керек болот. Бул үчүн мен шпаклевканы колдондум (https://www.putty.org/). Шыбыкты ачыңыз жана хосттун аты катары 169.254.10.1 коюңуз. Туташуу үчүн бир аз убакыт кетиши мүмкүн.

Туташкандан кийин, бул грамоталар менен кириңиз:

Кирүү: piPassword: малина

Эми биз бул үчүн интернет байланышы орното алабыз. Бул буйрукту аткарыңыз жана SSID менен Тармактын сырсөзүн wifi атыңыз менен сырсөзүңүз менен алмаштырыңыз.

echo "password" | 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 setuptools дөңгөлөгүн виртуалдык жаңыртуу

mkdir weathercar && cd weathercar

python3 -m venv --system-site-packages env

env/bin/activate булагы

python -m pip mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio орнотуу

4 -кадам: Маалыматтар базасын орнотуу

Эми сиз малина пи бардык керектүү программаларга ээ болгондон кийин, биз дагы эле маалымат базасын конфигурациялашыбыз керек болот. Эмне кылсак болот, биринчи Mysqlди баштоо менен

sudo mariadb

жана андан кийин

CREATE USER 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword';

DATABASE түзүү CARCATE weathercar_db;

Аба ырайы боюнча бардык артыкчылыктарды берүү.* To 'project1-admin'@'localhost' ГРАНТ ОПЦИОНУ менен; ГРАНТ ТАНДОО, КИРГҮЗҮҮ, ЖАҢЫРТУУ, Project1 ЖОК КЫЛУУ.* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, Project1 ON ЖОК.* TO 'project1-sensor'@'localhost'; FLUSH PRIVILEGES;

5 -кадам: Код

Бул кадамда биз керектүү кодду малина пиңизге клондоштурабыз. Муну биз муну кылуу менен жасайбыз:

Биринчиден, "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 демон-reloadsudo systemctl баштоо project1-*sudo systemctl иштетүү проект1-*

6 -кадам: туташуу

Туташуу!
Туташуу!

Биз жакындап калдык, дагы бир кадам. Бул Wi -Fi бизге берген ip дарегин алып жатат.

Биз муну коюу менен жасайбыз

ip addr

бир топ бандиттер көрүнөт, бирок сиз "wlan0", андан кийин дагы бир нече сапты таба аласыз "inet 192.168.x.x"

ошол IP дарегин браузериңиздин ичине салып коюңуз. Сиз вебсайтка туташтыңыз.

Сунушталууда: