
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14

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



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

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:
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam

To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel: Siz hech qachon mini-loyihaga aylanishingiz kerak degan yomon fikrga keldingizmi? Xo'sh, men AD9833 to'g'ridan -to'g'ri raqamli sintez (DDS) moduli yordamida musiqa yaratishga qaratilgan Arduino Due uchun chizgan eskiz bilan o'ynab yurardim … va bir paytlar men o'yladim
Arduino uchun qadam tezligini boshqarish menyusi: 6 qadam

Arduino uchun qadam tezligini boshqarish menyusi: Bu SpeedStepper kutubxonasi qadam dvigatelining tezligini nazorat qilish uchun AccelStepper kutubxonasining qayta yozilishi. SpeedStepper kutubxonasi sizga belgilangan dvigatel tezligini o'zgartirishga imkon beradi, so'ngra xuddi shu algoritm yordamida yangi belgilangan tezlikka tezlashadi/sekinlashadi
Qanday qilib qadam taymerini yasash mumkin?: 3 qadam (rasmlar bilan)

Qanday qilib qadam taymerini yasash mumkin ?: Men ko'plab sport turlarida yaxshi qatnashardim: yurish, yugurish, velosiped haydash, badminton o'ynash va hokazo. Men tez orada sayohat qilishni yaxshi ko'raman. Xo'sh, qorin qornimga qarang …… Xo'sh, baribir, men mashg'ulotlarni qaytadan boshlashga qaror qildim. Qanday uskunani tayyorlashim kerak?
Arduino UNO bilan qadam motor: 3 qadam

Arduino UNO bilan qadam dvigateli: Bosqichli motorlar - bu alohida bosqichlarda harakatlanadigan shahar motorlari. Ularda "fazalar" deb nomlangan guruhlarga bo'lingan bir nechta rulon bor. Har bir fazani ketma -ket quvvatlantirganda, dvigatel birma -bir aylanadi, zinapoyali dvigatellar juda foydali
Kompyuteringizni qadam dvigateli bilan boshqaring!: 9 qadam (rasmlar bilan)

Kompyuteringizni qadam dvigateli bilan boshqaring!: Oldingi ko'rsatmalarimdan birida men sizga step motorini aylanuvchi kodlovchi sifatida qanday ishlatishni ko'rsatdim. Bu yo'riqnomada keling, undan kompyuterni boshqarish uchun qanday foydalanish kerakligini bilib olaylik. Shunday qilib, ko'p vaqt sarflamasdan, boshlaylik