Mundarija:
- 1 -qadam: talablar
- 2 -qadam: Lehimlash / simlarni ulash
- 3 -qadam: Raspberry Pi -ni sozlash
- 4 -qadam: ma'lumotlar bazasini sozlash
- 5 -qadam: kod
- 6 -qadam: ulaning
Video: WeatherCar: 6 qadam
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-10 13:49
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.