Mundarija:

WeatherCar: 6 qadam
WeatherCar: 6 qadam

Video: WeatherCar: 6 qadam

Video: WeatherCar: 6 qadam
Video: Установка маяков под штукатурку. Углы 90 градусов. #12 2024, Iyul
Anonim
WeatherCar
WeatherCar

WeatherCar-bu uy qurilishi bilan shug'ullanadigan, foydali ma'lumotlarni yig'ishda yordam beradigan kichik loyiha!

Men bu loyihani Kortrijk Xovestidagi birinchi yilim finali sifatida qildim. Bu loyiha hali yaxshi yakunlanmagan, lekin bu hujjat to'liq ramkani yaratmasdan, mashinaning barcha ichki qismlarini o'z ichiga oladi.

1 -qadam: talablar

Loyiha uchun sizga barcha komponentlar kerak bo'ladi:

  • Malinali PI
  • 2 x dvigatel (12V)
  • Servo
  • DHT11
  • BMP280
  • GY-NEO6MV2 GPS moduli
  • 4 x NPN tranzistorlari
  • 2 x rezistorlar (1k va 2k)
  • Motor haydovchi
  • 2 x 6V batareya to'plami
  • Prototiplash taxtasi
  • Pastga tushadigan voltaj regulyatori
  • Izolyatsiya qilingan mis sim
  • Yassi kabel
  • Eski micro-USB kabeli
  • Kontrplak

2 -qadam: Lehimlash / simlarni ulash

Lehimlash / simlarni ulash
Lehimlash / simlarni ulash
Lehimlash / simlarni ulash
Lehimlash / simlarni ulash
Lehimlash / simlarni ulash
Lehimlash / simlarni ulash

Birinchi qadamda biz barcha simlarni ulashga o'tamiz. (PS. Siz hamma narsani lehimlashdan oldin sinov uchun non taxtasidan foydalanishingiz mumkin)

Men sizga hamma narsani qanday ulashimni ko'rsatadigan sxemani taqdim qildim, lekin men haydovchim uchun to'g'ri qismni topa olmadim. Motor haydovchisi uchun men dvigatel drayverini boshqarish uchun 3.3v signalimni 12v signaliga aylantirish uchun 4 ta NPN tranzistoridan foydalandim. Buning sababi, men ishlatganim faqat 1 kuchlanishni qo'llab -quvvatlaydi (12v, chunki mening motorlarim 12v).

3 -qadam: Raspberry Pi -ni sozlash

Agar sizda sozlash bo'lmasa, avval buni qilishingiz kerak bo'ladi, aks holda bu bosqichda oxirgi kod parchasidan kerakli dasturlar mavjud bo'lsa, bu bosqichni o'tkazib yuborishingiz mumkin.

Avval siz Raspbian ish stoli versiyasini yuklab olishingiz kerak, uni bu erda topishingiz mumkin:

Yuklab olingandan so'ng, rasm faylini Raspberry Pi -dan SD -kartaga joylashtirish uchun Etcher yoki WinDiskImager -dan foydalanish kerak bo'ladi. (Bu biroz vaqt olishi mumkin).

Dastur tugagandan so'ng, faylni o'rganuvchini oching va "boot" deb nomlangan diskni oching. Bu erda siz "cmdline.txt" matnli faylini topasiz. Buni oching va fayl oxiriga ip = 169.254.10.1 qo'shing. Faylga hech qanday kirishni qo'shmaslik uchun ehtiyot bo'ling, chunki bu muammoga olib kelishi mumkin.

Endi PI standart IP -manzilga ega bo'lsa -da, biz unga ulanish uchun SSH -ni yoqishimiz kerak bo'ladi. Siz buni "SSH" nomli yangi faylni hech qanday kengaytmasiz qilish orqali qilishingiz mumkin, bu malina pi -ga birinchi yuklashda ssh -ni yoqish haqida xabar beradi.

Bu bilan biz endi chekilgan kabel yordamida malina pi ga ulanishimiz mumkin. Kabelni shaxsiy kompyuter va malinali PI o'rtasida ulang. Endi bizga SSH mijozi kerak bo'ladi. Buning uchun men macun ishlatardim (https://www.putty.org/). Macni oching va 169.254.10.1 -ni xost nomi sifatida qo'ying. Ulanishingiz uchun biroz vaqt ketishi mumkin.

Ulangach, hisob ma'lumotlari bilan kiring:

Kirish: piPassword: malina

Endi biz Internetga ulanishni sozlashimiz mumkin. Ushbu buyruqni bajaring va SSID va tarmoq parolini wifi nomi va parol bilan almashtiring.

echo "parol" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 qayta sozlang

Endi biz Internetga ulangan bo'lsak, biz quyidagi buyruqlar yordamida python va boshqa kerakli dasturlarni o'rnatishimiz mumkin

sudo apt yangilash

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

python3 -m pip install -pip setuptools wheel virtualenv ni yangilang

mkdir weathercar && cd ob -havo mashinasi

python3 -m venv-tizim-sayt-paketlar env

manba env/bin/activate

python -m pip mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio ni o'rnatadi

4 -qadam: ma'lumotlar bazasini sozlash

Endi siz malina pi -da barcha kerakli dasturlar mavjud bo'lsa, biz ma'lumotlar bazasini sozlashimiz kerak bo'ladi. Mysql -ni ishga tushirish orqali biz nima qila olamiz

sudo mariadb

undan keyin

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

Ma'lumotlar bazasini yaratish weathercar_db;

Ob-havo avtomobilidagi barcha imtiyozlarni berish.* To 'project1-admin'@'localhost' ga GRANT OPSIYASI bilan; GRANT SELECT, INSERT, UPDATE, Project1-da O'chirish;* 'Project1-web'@'localhost' ga; GRANT SELECT, INSERT, UPDATE, Project1 ON O'CHIRING.* TO 'project1-sensor'@'localhost'; FLUSH PRIVILEGES;

5 -qadam: kod

Bu bosqichda biz malina pi ga kerakli kodni klonlaymiz. Buni biz shunday qilamiz:

Birinchidan, "cd" ni kiritib, uy katalogida ekanligingizga ishonch hosil qiling.

CD

Endi biz omborni klonlaymiz

git klon

Endi biz ma'lumotlar bazasi sozlamalarini import qilishimiz mumkin:

sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb ob -havo

Ma'lumotlar bazasini tugatganimizdan so'ng, biz xizmatimizni sozlashimiz mumkin

sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start project1-*sudo systemctl loyihani yoqish1-*

6 -qadam: ulaning

Ulanmoq!
Ulanmoq!

Biz deyarli keldik, yana bir qadam. Va bu Wi -Fi bizga bergan IP -manzilni oladi.

Buni qo'yish orqali qilamiz

ip addr

bir nechta axlat paydo bo'ladi, lekin siz "wlan0" ni topishingiz kerak, keyin yana bir necha qatorni "inet 192.168.x.x"

IP -manzilni brauzeringizga qo'ying va o'chiring. Siz veb -saytga ulangansiz.

Tavsiya: