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

Men Howest Kortrijk talabasiman, u yangi media va kommunikatsiya texnologiyalari (NMCT) ni o'rganadi.
Biz hammamiz malina va/yoki Arduino asosidagi loyihani tuzishimiz kerak edi. Veb -saytdagi ma'lumotlarni ko'rsatish uchun biz datchiklar va ma'lumotlar bazalaridan foydalanishimiz kerak edi va o'shanda men mini -aqlli uy yaratish g'oyasini ilgari surganman.
Aqlli uy yordamida siz veb -saytdagi sensorlarning barcha ko'rsatkichlarini ko'rishingiz mumkin bo'ladi.
Bu yo'riqnomada men sizga har bir qadamda ko'rsatma beraman, shunda siz ushbu loyihani o'zingiz qayta yaratishingiz mumkin.
1 -qadam: Materiallar: Sizga nima kerak
- Raspberry Pi
- DHT22
- Grove - havo sifati sensori
- Grove - gaz sensori (MQ2)
- Non paneli
- Raspberry Pi T Cobbler
- Erkak/ayol o'tish simlari
- 5 mm LED
- Rezistorlar
- Yog'och va asboblar
- Servo dvigatel
- GrovePi+
Siz bu mahsulotlarni onlayn (Ali express, amazon, kivi elektronikasi …) yoki mahalliy do'konlardan sotib olishingiz mumkin.
Do'konlarga havolasi bo'lgan qismlarning batafsil ro'yxati quyida BOMda keltirilgan.
2 -qadam: simlarni ulash


Men Fritzing -dan simlarni qanday ulash kerakligini yaxshi ko'rib chiqish uchun ishlatardim. Men o'zim ikkita sensori uchun GrovePi+ dan foydalanardim. Agar siz buni GrovePi+ holda bajarishni rejalashtirmoqchi bo'lsangiz, Fritzing sxemasiga amal qiling. Men sensorlar siz uchun ishlamaydi, har xil pinlardan foydalanishga harakat qiling.
Fritzing faylini quyida topishingiz mumkin.
3 -qadam: MySQL yordamida ma'lumotlar bazasi

Biz amalga oshirishimiz kerak bo'lgan eng muhim vazifalardan biri bu MySQL ma'lumotlar bazasi bilan bog'lanish edi.
Har safar sensor o'qiyotganida yoki chiroq yonganda, ma'lumotlar bazasida bu o'zgarishlarni ko'rasiz.
Keyin ma'lumotlar bazasi ushbu ma'lumotlarni veb -saytga yuboradi, shunda foydalanuvchi ularni u erda ham ko'rishi mumkin.
Quyida mening.xml faylimni topishingiz mumkin, u erda ma'lumotlar bazasi qanday ishlashini ko'rib chiqasiz, lekin oldin siz Raspberry Pi -ga MySQL va idishni o'rnatishingiz kerak.
Datchiklarni kodlash pycharm orqali sodir bo'lgan, shuning uchun ham (kompyuteringizda) o'rnatilganligiga ishonch hosil qiling.
Avval siz yangilanishlarni tekshirishingiz va paketlarni o'rnatishingiz kerak, masalan:
sudo apt-get update && sudo apt-get upgrade
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Endi biz virtual muhitdan foydalanamiz:
me@my-rpi: ~ $ python3 -m pip o'rnatish-pip setuptools g'ildiragini virtualenvme@my-rpi yangilash: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- sayt-paketlar menga@my-rpi: ~/project1 $ manba env/bin/activate (env) me@my-rpi: ~/project1 $ python -m pip mysql-ulagich-python argon2-cffi Flask Flask-HTTPAuth o'rnatish Flask-MySQL mysql-ulagichi-python passlib
Bu sizga mariadb.service faol ekanligini bildirishi kerak.
Endi pycharmda VCS> Version Control dan import> GitHub en clone-ga o'ting
So'ngra, siz hozir qilgan katalog uchun tarqatish konfiguratsiyasini sozlang, masalan. /uy/men/loyiha1.
Bu bajarilgandan so'ng, tarjimon sozlamalariga o'ting va o'zingiz yaratgan virtual muhitni sozlang, masalan. /home/me/project/env/bin/python. Yo'l xaritasini ham to'ldirish kerak.
Agar siz bularning barchasini qilgan bo'lsangiz, ma'lumotlar bazasi allaqachon ishlayotgan bo'lishi kerak.
sudo systemctl status mysql
Endi biz ma'lumotlar bazamiz uchun foydalanuvchilarni yaratishimiz kerak, masalan:
sudo mariadb
CREATE USER 'project-admin'@'localhost' 'adminpassword' tomonidan aniqlanadi; CREATE USER 'project-web'@'localhost' IDENTIFIED 'webpassword'; CREATE USER 'project-sensor'@'localhost' IDENTIFIED 'senspassword'; DATABASE loyihasini yaratish;
Loyiha bo'yicha barcha imtiyozlarni berish.* 'Loyiha-admin'@'localhost' ga GRANT OPSIYASI bilan; GRANT SELECT, INSERT, UPDATE, O'CHIRISH loyihasini.* TO 'project-web'@'localhost' ga; GRANT SELECT, INSERT, UPDATE, O'CHIRISH loyihasini.* TO 'project-sensor'@'localhost'; YUQARISH IMKONIYATLARI;
Endi bizning ma'lumotlar bazamizni pycharmda ko'rish uchun biz ulanishimiz kerak.
Buni "Ko'rish> Asboblar Windows> Ma'lumotlar bazasi" ga o'tish va yashil "ortiqcha" tugmasini bosish orqali qilishimiz mumkin.
Ma'lumot manbai> MySQL -ni tanlang va ochiladigan drayverni yuklab olish tugmasini bosing (agar mavjud bo'lsa).
Keyin SSH/SSL -ga o'ting va SSH -ni tekshiring. Pi uchun host/foydalanuvchi/parolni to'ldiring va hali to'ldirilmagan bo'lsa, 22 -portdan foydalaning.
Agar siz pycharm parolingizni eslab qolishini istasangiz, "Parolni eslab qolish" katagiga belgi qo'ying.
"Umumiy" yorlig'ida localhost host, ma'lumotlar bazasidagi loyihani to'ldiring va ulanishni sinab ko'rish uchun parol bilan project-admin-dan foydalaning.
Ma'lumotlar bazasini ishlatish uchun men quyida joylashtirgan.sql -ni ishga tushirishim kerak. Import variantini ishlatib ko'ring, agar dampfaylni import qila olmasangiz, jadvallarni qo'lda qo'shishingiz kerak.
Bu bajarilgandan so'ng, ikkita.service faylli conf katalogini topishingiz kerak. U erda siz pi -da ishlatadigan foydalanuvchi nomi bilan topilgan har bir yog'ni o'zgartiring. Shuningdek, guruh www-data bo'lishi kerak.
Keyingi qadam, bu xizmatlarni pi -da boshlashdir, masalan:
sudo cp conf/project-*. service/etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl loyihani boshlash-*
sudo systemctl status loyihasi-*
Hammasi reja bo'yicha ketganda, siz ikkita faol xizmatni ko'rishingiz kerak.
Oxirgi qadam nginx -ni yoqishdir.
Avval pi -da apache2 ni tekshiring, agar sizda bu o'rnatilgan bo'lsa, uni o'chiring yoki o'chiring.
Nginx faylida siz avval uwsgi_pass ni o'zgartirishingiz kerak, keyin bu buyruqlarni bajaring.
sudo cp conf/nginx/etc/nginx/sites-available/project
sudo rm/etc/nginx/sites-yoqilgan/standart
sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-yoqilgan/loyiha
sudo systemctl nginx.service -ni qayta ishga tushiring
sudo systemctl holati nginx.service
Nginx faol va ishlaydigan bo'lishi kerak. Agar hamma narsa to'g'ri bo'lsa, endi siz pi -ga bemaqsad kirishingiz mumkin. Siz birinchi navbatda "Salom dunyo" ni ko'rasiz, lekin siz hali ham quyidagi faylning mazmunini o'zgartirishingiz kerak bo'ladi.
Siz xizmatlarni yoqishingiz mumkin, shunda ular pi ishga tushganda avtomatik ravishda ishlaydi.
Buni qilganingizda, ma'lumotlar bazasiga kamida bitta uy yozilganligiga ishonch hosil qiling. Siz buni oddiy qo'shish bilan qilishingiz mumkin.
4 -qadam: kodlash


Siz kodni Github orqali yuklab olishingiz mumkin:
github.com/NMCT-S2-Project-I/project-i-Tib…
Sensorlar kodi sensor.py fayliga kiritilgan.
Xizmat fayllarida mening ismimni o'z ismingizga o'zgartirishni unutmang (yoki siz pi -da ishlatadigan foydalanuvchini), ular to'g'ri ishlashi va kodimni Pycharm -dagi mavjud fayllarga joylashtirishlari uchun.
5 -qadam: uy -joy




Men o'z uyimni qanday xohlaganimni tezda chizdim, lekin sizning uyingiz butunlay boshqacha ko'rinishi mumkin. Servo oynani ochishi va yopishi uchun sizda butun borligiga ishonch hosil qilishingiz kerak.
Yog'ochni kesish uchun asosan kichik matkap va arra ishlatardim. Bundan tashqari, men devorlarning qalinligini aniqladim, shunda men o'z servoimni ularning ichiga joylashtirdim.
Dizayningiz tugagach va servo joyida bo'lsa, siz faqat datchiklarni ulashingiz va pi -ni uyning ichiga joylashtirishingiz kerak bo'ladi.
Men aytganimdek, sizning uyingiz meniki bilan bir xil bo'lishi mumkin, siz faqat servo va deraza uchun joy ajratishingiz kerak.
Nihoyat, siz loyiha bilan shug'ullanasiz. Umid qilamanki, bu ko'rsatma etarlicha aniq, shuning uchun siz ham men kabi ajoyib uy qura olasiz.
Omad tilaymiz.
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