Mündəricat:
- Addım 1: Avadanlığı Pi -yə bağlayın
- Addım 2: Əsas Proqramların Kodlaşdırılması
- Addım 3: Verilənlər bazasının yaradılması
- Addım 4: Avadanlıq Kodlaşdırması
Video: Beargardian: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Hey uşaqlar məktəbdə bir layihə üçün bir fikrə ehtiyacım var idi. Düşünürdüm ki, bu, moruq pi ilə bir layihə olmalı və yerli. Birdən əla bir fikrim var idi və məndən bu fikri necə aldığımı soruşmuram, amma körpə monitor üçün təkmilləşdirmə haqqında düşündüm. Bu fikir haqqında bir saniyə düşünün, ən körpə monitorların yalnız körpənin otağını dinləmək funksiyası var.
Xüsusiyyətlər
- Tənzimlənən rənglərlə kiçik işıq şousu
- Canlı görüntüləri göstərən bir kamera
- Musiqi çalmaq üçün natiq
- Körpənin hərəkəti üçün sensorlar
- Bütün bunlar bir saytda göstərilir
Qısa məlumat
Bunu qısa bir versiyada izah edək. Buna görə bir veb saytımız lazımdır və bu layihə üçün Flask istifadə edirəm, bir verilənlər bazasına ehtiyacımız var və mysql -dən istifadə edirəm, bu da aparatı işlədən bir skriptdir və bu python (3) ilədir və son olaraq bir server qurulmasına ehtiyacımız var. bu PI -də nginx olardı.
Nəyə ehtiyacımız var
- Raspberry Pi 3
- Stepbotor 28BYJ
- Stepmotor sürücü çipi ULN2003 stepper modulu
- 330 Ohm 3 rezistorlu bir rgb led
- Pi NoIR kamera V2
- HC-SR04 ultrasəs sensoru
- Ardiuno mikro modulu
- MAX98357A
- Dinamik 8Ohm
- Bir ayı almağı da unutmayın
Moruq pi qurmaq ----------------------------------------------- -------------------------------------------------- --------------------------
Əvvəlcə Pi qurmalıyıq. Putty ilə daxil olmağa artıq başlayın, əgər macun yoxdursa, bunu yükləməyinizi məsləhət görürəm, sadəcə Pi -nin statik ipini ssh ilə yazın və onunla gedin. Raspberry Pi -ni quraşdırmalı olsanız, pis bir xəbər aldım, bunu bu layihədə izah etmirəm.
Paketləri quraşdırın
sudo apt yeniləmə
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Virtual mühit
python3 -m pip install -pip setuptools təkərini virtualenv təkmilləşdirin
mkdir {layihənizin adı} && cd {layihənizin qovluq adı} python3 -m venv --sistem-sayt-paketləri env/bin/python -m pipini aktivləşdir -m pip mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-bağlayıcı-python keçid
İndi layihə qovluğunuzdakı git deposunu klonlamalısınız
github.com/NMCT-S2-Project-I/Project-I.git
Layihə qovluğunuza baxsanız 5 qovluq görməlisiniz
- konf
- env
- sensor
- kv
- veb
Verilənlər bazası
sudo systemctl status mysql
ss -lt | grep mysql sudo mysql
verilənlər bazasında bütün imtiyazlara malik bir istifadəçi yaradın və verilənlər bazanızı yaradın
'parol' ilə təyin olunan 'user'@'localhost' istifadəçisi yaratmaq;
verilənlər bazası adınızı yaradın; Verilənlər bazası adınızdakı bütün imtiyazları verin.* qrant seçimi ilə 'user'@'localhost' a;
Server üçün konf faylları
Uwsgi-flask.ini-də 'module =…' '' module = web: app 'və yaratdığınız virtual aləminizin yolunu dəyişirsiniz. Digər fayllarda, yollarınızı qovluğunuzun həqiqi mütləq yollarına dəyişdirməlisiniz.
Faylları doğru yerə təyin edə biləcəyinizi başa düşdükdən sonra.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-sudo systemctl start project1-* sudo systemctl status project1-*
İndi bunu əlçatan etməliyik
sudo cp conf/nginx/etc/nginx/sites-available/project1
sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl restart nginx.service sudo nginx -t
Hər şey yolunda gedirsə, bu komanda ilə dünyaya salam verməlisiniz
wget -qO - localhost
Bitdi! Yaxşı, bu, sisteminizi işə salmağın bir hissəsidir …
Addım 1: Avadanlığı Pi -yə bağlayın
BCM istifadə edərək
audio MAX98357A
- BCK -dan GPIO 18 -ə qədər
- GPIO 21 məlumatları
- LRCK -dan GPIO 19 -a
işıq
- qırmızı GPIO 17
- GPIO 27 üçün yaşıl
- mavi GPIO 22 -ə qədər
motor modulu ULN2003
- pin 1 -ni GPIO 5 -ə bağlayın
- pin 2 -ni GPIO 6 -ya bağlayın
- pin 3 -ü GPIO 13 -ə bağlayın
- pin 4 -ü GPIO 26 -ya bağlayın
mikro
D0 - GPIO 21
ultrasəs sensoru
- GPIO 16 -ya keçin
- GPIO 20 -ə əks -səda
Addım 2: Əsas Proqramların Kodlaşdırılması
Mən burada detallara girmirəm, ancaq kodumu github -da yoxlaya bilərsiniz.
Başlamaq üçün html və css, indeks, giriş, qeydiyyat, ana ekran, musiqi, əlavə musiqi, əlavə cihaz, işıq, kamera, kamera ayarları, sensor, tablosuna səhifə etdim. HTML faylları şablonlarda və css faylları statik/css qovluğunda olmalıdır. İstədiyiniz kimi CSS -ni tam olaraq düzəldə bilərsiniz.
Bu hissəni yerinə yetirmisinizsə, qabınızı qurmalısınız. Şüşə salam dünyanın yalnız bir nümunəsini istifadə etmək asandır
əvvəlcə # idxal qabı
qabdan idxaldan * @app.route ('/') def index (): render_template qaytarın ('index.html')
İndi kodumda bu artıq doldurulmuşdur, etməniz lazım olan tək şey verilənlər bazası istifadəçisini və şifrənizi sizdən dəyişdirmək və əlbəttə ki, github -da tapa biləcəyiniz eyni verilənlər bazasını etməkdir.
Addım 3: Verilənlər bazasının yaradılması
Əsl azarkeşlər üçün eyni verilənlər bazasını necə yaratacağınızı söyləyəcəyəm.
Birinci addımda etməsəniz, əvvəlcə verilənlər bazasını yaratmalıyıq.
beargardian verilənlər bazası yaratmaq;
Bunu etdikdən sonra cədvəlləri mysql workbench və ya phpadmin -də yaradırsınız
istifadəçi cədvəli var
- İstifadəçi adı
- ad
- Soyad
- e -poçt
- baba adı
- sha1 ilə parol
- istifadəçi qovluğu
- playmusic (int)
- oyun işığı (int)
- oyun qeydləri (int)
musiqi masası var
- musiqi id
- mahnı
- yol
- istifadəçi qovluğu
- status
- həcm
qeyd masası var
- qeydiyyat ID
- yol
- istifadəçi qovluğu
- vaxt
- gün
rəng masası var
- colorID
- qırmızı
- yaşıl
- mavi
- parlaqlıq
- İstifadəçi adı
ayı masası var
- bearID (onluq (8))
- userID defolt null
- adı
sensor masası var
- sensor ID
- məsafə
- mikro
- ayı kimliyi
- vaxt
- gün
- yuxu vaxtı
İndi verilənlər bazasını uğurla yaratdınız, aparata keçək.
Addım 4: Avadanlıq Kodlaşdırması
Bir az kod göstərəcəyəm və bunu niyə belə etdiyimi söyləyəcəyəm.
Mövzudan istifadə etməklə başlamaq üçün bu layihədə mütləq bir şey olmalıdır. İplik nədir, hmmm yaxşı sual! Python -da yaxşı təhdid edən birdən çox proqramı işə salmaqdır. Məsələn, rəngi dəyişdirsəniz, qeyd edə bilərsiniz. İstifadəsi asandır, narahat olmayın.
import _threaddef function_name (bir şey, bir şey_else): çalıştırılacak kod
_thread.start_new_thread (funksiya_adı,_funksiyalar_dəyişənləri ilə birlikdə)
Proqramıma baxsanız logger.info gördünüz ('…'). Bu çap funksiyasıdır, amma daha yaxşıdır, çünki Pi -də heç bir şey çap edə bilməzsiniz, buna görə də bir fayl düzəldirəm və orada çap edirəm. Yoe, bu faylla günlük faylını təyin edə bilər.
logger = logging.getLogger (_ adı _) logger.setLevel (logging. INFO) # bir fayl işləyicisi işləyən yaradın = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# qeyd formatı yaradın
formatter = logging. Formatter (' %(asctime) s - %(ad) s - %(mesaj) s') handler.setFormatter (formatlayıcı)
# işləyiciləri qeyd cihazına əlavə edin
logger.addHandler (işçi)
logger.info ('aparatı işə salın / n ---------------------------------------')
Kodun özündə hər şeyi izah edirəm.
Tövsiyə:
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
Addım -addım PC qurulması: 9 addım
Addım -addım PC Bina: Təchizat: Təchizat: MotherboardCPU & CPU soyuducu PSU (Enerji təchizatı vahidi) Yaddaş (HDD/SSD) RAMGPU (tələb olunmur) Kassa Alətləri: Tornavida ESD bilərzik/mattermal pasta/aplikator
Üç Hoparlör Devresi -- Addım-addım təlimat: 3 addım
Üç Hoparlör Devresi || Addım-addım Təlimat: Dinamik Dövrə, ətraf mühitdən alınan səs siqnallarını MIC-ə gücləndirir və gücləndirilmiş səsin çıxarıldığı yerdən Dinamikə göndərir.Burada bu Hoparlör Devrini düzəltməyin üç fərqli yolunu göstərəcəyəm:
Robot texnikasında bir dəst ilə addım-addım təhsil: 6 addım
Bir dəst ilə Robototexnikada Addım-addım Təhsil: Öz robotumu düzəltdikdən bir neçə ay sonra (zəhmət olmasa bunların hamısına baxın) və iki dəfə hissələri arızalandıqdan sonra bir addım geri çəkilmək və öz fikrimi yenidən düşünmək qərarına gəldim. strategiya və istiqamət. Bir neçə aylıq təcrübə bəzən çox mükafatlandırıcı idi və
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)