Mündəricat:
- Addım 1: PIR Hərəkət Sensoru
- Addım 2: PIR Motion Sensor Quraşdırması
- Addım 3: Raspberry Pi Kamera Modulu və Quraşdırması
- Addım 4: PIR Motion Sensor və Kamera Modulunu birləşdirin
- Addım 5: Flask üçün quraşdırma
- Addım 6: Nəticə
Video: Raspberry Pi İnsan Detektoru + Kamera + Şüşə: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu təlimatda, Raspberry Pi IoT Layihəmin addımlarını keçəcəyəm - sadə bir təhlükəsizlik IoT cihazı qurmaq üçün PIR Motion Sensor, Raspberry Camera modulundan istifadə və Flask ilə aşkarlama jurnalına daxil olmaq.
Addım 1: PIR Hərəkət Sensoru
PIR "Passiv İnfraqırmızı" mənasını verir və bu hərəkət sensoru infraqırmızı görünüşü izləyərək və infraqırmızı dəyişiklikləri götürərək hərəkətləri qəbul edir. Buna görə də, sensordan keçən bir yarpaq və bir insanla yalnız insanı aşkarlayır, çünki biz insanlar istilik yaradırıq və infraqırmızı şüa yayırıq. Beləliklə, hərəkət sensoru insan hərəkətlərini aşkar etmək üçün yaxşı bir seçimdir.
Addım 2: PIR Motion Sensor Quraşdırması
PIR hərəkət sensoru üçün üç pin var: Güc, Çıxış və Torpaq. Sancaqlar altında etiketləri, güc üçün VCC, çıxış üçün çıxış və torpaq üçün GND -ni görə bilərsiniz. Sensor hərəkətləri algıladığında, Çıxış pimi, sensoru bağladığınız Raspberry Pi pininə YÜKSƏK siqnal verir. Power pin üçün, güc üçün Raspberry Pi üzərindəki 5V pininə qoşulduğundan əmin olmaq istəyirsiniz. Layihəm üçün Çıxış pinini Pin on Pin11 ilə birləşdirməyi seçirəm.
Hər şeyi bağladıqdan sonra aşağıdakı kimi skriptlər işlədərək sensorunuza mesaj göndərə bilərsiniz:
RPi. GPIO -nu GPIOimport zamanı GPIO.cleanup () GPIO.setwarnings (False) GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. IN) #Pin 11 -də PIR hərəkət sensöründən çıxışı oxuyun: True: i = GPIO.input (11) əgər i == 0: #Hərəkət sensöründən çıxma LOW çap "Algılama yoxdur" olduqda, i time.sleep (0.1) elif i == 1: #Hərəkət sensöründən çıxış YÜKSƏK çap edildikdə " Hərəkət aşkarlandı ", i time.sleep (0.1)
Ssenarini Pi -də işlədin və sensorun hərəkəti tutub -tutmadığını yoxlamaq üçün əllərinizi və ya dostunuzu sensorun qarşısına qoyun.
Addım 3: Raspberry Pi Kamera Modulu və Quraşdırması
İstilik səbəbiylə insan infraqırmızı şüa yayır və temperaturu olan obyektlər də. Buna görə də heyvanlar və ya isti əşyalar hərəkət sensorunu işə sala bilər. Aşkarlamanın etibarlı olub olmadığını yoxlamaq üçün bir yola ehtiyacımız var. Həyata keçirməyin bir çox yolu var, amma layihəmdə, hərəkət sensoru hərəkətləri götürəndə şəkil çəkmək üçün Raspberry Pi kamera modulundan istifadə etməyi seçirəm.
Kamera modulundan istifadə etmək üçün əvvəlcə sancaqların Pi üzərindəki kamera yuvasına qoşulduğundan əmin olmaq lazımdır. Yazın
sudo raspi-config
Pi -də konfiqurasiya interfeysini açın və kameranı 'interfeys seçimlərində' aktiv edin. Yenidən başladıqdan sonra Pi yazaraq kameraya həqiqətən bağlı olub olmadığını yoxlaya bilərsiniz
vcgencmd get_camera
və vəziyyəti sizə göstərəcək. Son addım yazaraq picamera modulunu quraşdırmaqdır
pip picamera quraşdırın
Bütün quruluşlardan sonra, aşağıdakı kimi skriptlər işlədərək kameranızı sınaya bilərsiniz:
picamera idxalından PiCamera
vaxtdan idxal yuxu kamerası = PiCamera () camera.start_preview () yuxu (2) camera.capture ('image.jpg') camera.stop_preview ()
Şəkil, kamera skriptinizlə eyni qovluqda 'image.jpg' olaraq saxlanılacaq. Diqqət yetirin ki, 'yuxu (2)' nin olduğundan və sayının 2 -dən çox olduğundan əmin olmaq istəyirsiniz, buna görə kameranın işıq vəziyyətini tənzimləmək üçün kifayət qədər vaxtı var.
Addım 4: PIR Motion Sensor və Kamera Modulunu birləşdirin
Layihəmin ideyası, hərəkət sensoru və kameranın eyni istiqamətə baxmasıdır. Hərəkət sensoru nə vaxt hərəkətə keçsə, kamera bir şəkil çəkəcək ki, sonradan hərəkətlərə səbəb olanı yoxlaya bilək.
Ssenari:
RPi. GPIO -nu GPIO olaraq, datetime -dan datetime -ni, picamera -dan PiCamera'dan idxal edin.
GPIO.cleanup ()
GPIO.setwarnings (Yanlış) GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. IN) #PIR hərəkət sensoru mesajından oxu çıxışı = 'start' counter = 0 log_f = open ('static/log.txt'), 'w') log_f.close ()
kamera = PiCamera ()
pic_name = 0
camera.start_preview ()
vaxt.yuxu (2)
Doğru halda:
i = GPIO.input (11) if i == 0: #Əgər counter> 0: end = str (datetime.now ()) log_f = open ('static/log.txt', ') hərəkət sensöründən çıxış LOW olduqda a ') mesaj = mesaj +'; sonu ' + son +' / n 'çap (mesaj) log_f.write (mesaj) log_f.close () final =' statik/' + str (pic_adı) + ".jpg" pic_adı = pic_adı + 1 kamera.capture (final) counter = 0 print "Intruders yoxdur", i time.sleep (0.1) elif i == 1: #Counter == 0 olarsa, hərəkət sensöründən çıxış YÜKSƏK olduqda = cari = str (datetime.now ()) mesaj = 'İnsan aşkarlandı:' + 'başlanğıcı' + cari sayğac = sayğac + 1 çap "Daxilçi aşkarlandı", i time.sleep (0.1) camera.stop_preview ()
'Log.txt' və şəkillər üçün kataloqlar Flaskın işləməsi üçün lazım olan 'statik' dir.
Addım 5: Flask üçün quraşdırma
Flask, Python dilində yazılmış və Werkzeug alət dəsti və Jinja2 şablon mühərrikinə əsaslanan mikro veb çərçivəsidir. Tətbiq etmək və saxlamaq asandır. Flask üçün daha yaxşı bir dərs üçün bu linki tövsiyə edirəm: Flask Mega Tutorial
Layihəmin əsas 'script.py' ssenarisi:
appfolder idxal appFlaskdan qabdan idxal render_template, idxal əməliyyat sistemini yönləndirin
APP_ROOT = os.path.dirname (os.path.abspath (_ file_)) # application_top -a aiddir
APP_STATIC = os.path.join (APP_ROOT, 'statik')
@appFlask.route ('/', üsullar = ['GET', 'POST'])
def view (): log_f = open (os.path.join (APP_STATIC, 'log.txt'), 'r') logs = log_f.readlines () final_logs = log logs: final_logs.append (log. strip ()) name = str (len (final_logs) -1)+'. jpg' return render_template ('view.html', logs = final_logs, fayl adı = ad)
HTML faylı 'view.html' üst çubuğundadır (çünki burada HTML kodlarını kopyaladığımda əslində HTML FORMATına çevrilir …)
Və layihənin quruluşu aşağıda bir şeyə bənzəməlidir (amma təbii ki, bunlardan daha çox fayl var):
iotproject / appfolder / route.py şablonları / view.html statik / log.txt 0-j.webp
Addım 6: Nəticə
Bu tətbiq üçün, hər şey düzgün qurulduqdan sonra, brauzerdə IP ünvanını yazaraq Raspberry Pi -yə daxil ola bilməliyik və nəticə bu addımda üst çubuğdakı şəkilə bənzəməlidir.
Tövsiyə:
Maqnit Bira Şüşə Kamera Stendi: 4 addım
Maqnitli Bira Şüşə Kamera Stendi: İşdə çox sadə və asan bir pivə şüşəsindən kamera çıxarmaq .. Həm də soyuducunun qapısına və ya hər hansı digər metal səthə qoyula bilər