Mündəricat:

Moruq casus robotu: 8 addım (şəkillərlə birlikdə)
Moruq casus robotu: 8 addım (şəkillərlə birlikdə)
Anonim
Image
Image
Moruq casus robotu
Moruq casus robotu

Bu layihə, bir veb səhifəsi vasitəsi ilə bir robot idarə etməyinizə və canlı yayım izləməyinizə imkan verir. Ev heyvanlarına casusluq etmək, sobanızda heç bir şeyin yanmadığından və hətta quş saatı üçün istifadə edilə bilər! DFRobot, Raspberry Pi 3 və Raspberry Pi kamera modulunu təqdim etdi.

Addım 1: Robot Elektronikası

Robot Elektronikası
Robot Elektronikası

DFRobotdan 2WD MiniQ şassi dəstini yığmağa başladım. Təkərləri motor şaftlarına sürüşdürdüm, sonra mötərizələrə daxil etdim və şassiyə bağladım. Nəhayət, metal dayaqları əlavə etdim. İndi əsas lövhəni qurmağın vaxtı gəldi. L293d motor sürücüsü, Raspberry Pi -nin GPIO sancaqlarına gedən tellərlə birlikdə yerində lehimləndi. Sonra, əsas gücü təmin edəcəyi üçün batareya üçün bir konnektoru lehimlədim. Güc mənbəyi əlavə edildikdən sonra 5V tənzimləyici quraşdırdım.

Addım 2: Pi qurmaq

Pi qurmaq
Pi qurmaq

DFRobot mənə yaxınlaşdı və Raspberry Pi 3 və Raspberry Pi Kamera Modullarını göndərdi. Qutular açıldıqdan sonra SD kartı quraraq işə başladım. Əvvəlcə Raspberry Pi Yükləmələri səhifəsinə girdim və Raspbianın ən son versiyasını yüklədim. Sonra faylı çıxarıb rahat bir qovluğa qoydum. Yalnız bir.img faylını SD karta kopyalayıb yapışdıra bilməzsiniz, onu kartın üzərinə "yandırmalısınız". OS görüntüsünü asanlıqla köçürmək üçün Etcher.io kimi yanan bir yardım proqramı yükləyə bilərsiniz.. İmg faylı SD kartımda olandan sonra onu Raspberry Pi -yə daxil etdim və güc verdim. Təxminən 50 saniyədən sonra kabeli çıxarıb SD kartı çıxardım. Sonra SD kartı yenidən kompüterimə qoydum və "açılış" qovluğuna getdim. Notepad açdım və NO uzantısı olmayan "ssh" adlı boş bir fayl olaraq qeyd etdim. Əlavə etdiyim "wpa_supplicant.conf" adlı bir fayl da var idi və bu mətni daxil etdim:

şəbəkə = {ssid = psk =}

Sonra kartı saxlayıb çıxarıb yenidən Raspberry Pi 3 -ə qoydum. Bu, indi SSH -in istifadəsinə və WiFi -yə qoşulmasına imkan verməlidir.

Addım 3: Kameranı Hazırlayın

Kameranın Hazırlanması
Kameranın Hazırlanması

Varsayılan olaraq, kamera Pi-də əlil olduğu üçün menyunu açmaq üçün sudo raspi-config tipli terminal növünü açmalısınız. "Arayüz seçimləri" nə gedin və sonra kameranı aktiv edin. İndi "Bitir" seçin və kamera modulunun lent kabelini Pi -nin düzgün sahəsinə daxil edin.

Addım 4: Proqramın Qurulması

Vlc və motion kimi videonu yayımlaya biləcək bir neçə fərqli proqram var, ancaq gecikmə müddəti və asan quraşdırılması səbəbindən mjpeg-streamer istifadə etmək qərarına gəldim. Saytdakı təlimatlara əsasən, bir qovluğa https://github.com/jacksonliam/mjpg-streamer.git git klonunu daxil edin, sonra lazım olan kitabxanaları quraşdırmaq üçün sudo apt-get install cmake libjpeg8-dev yazın. Kataloqu yüklədiyiniz qovluğa dəyişdirin və sonra proqramı tərtib etmək üçün yazın və ardınca sudo make install yazın. Sonda ixrac LD_LIBRARY_PATH = daxil edin. və onu işə salmaq üçün yazın./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Yayına baxmaq üçün https://: 8080/stream.html ünvanına daxil olaraq axına daxil ola bilərsiniz.

Addım 5: Nəzarətçi

Nəzarətçi
Nəzarətçi
Nəzarətçi
Nəzarətçi

Daha sonra Bluetooth üzərindən bir Raspberry Pi -nin necə idarə olunacağına dair bir hissə gəldi, çünki Bluetooth -un diapazonu çox azdır. Məlumat göndərmək üçün Raspberry PI və ESP8266 ESP12E modulunda işləyən bir Flask serverindən istifadə etmək qərarına gəldim. ESP8266 -da yalnız bir analoq giriş var, yəni iki analoq girişi olduğu üçün joystickdən birbaşa istifadə edə bilmədim. Ən yaxşı seçim 16 bit qətnamədə analoq siqnalları oxuyan I2C cihazı olan ADS1115 idi. Sadəcə VCC və GND ilə birlikdə SDA -nı 4 -ə və SCL -ni 5 -ə bağladım. Joystick X oxu ADS1115 üzərindəki A0 -a, Y oxu isə A1 -ə bağlanır. AMMA təsadüfən ADS1115-i yandırdım, buna görə də ən yaxşısına müraciət etməli oldum: düymələr! Beləliklə, indi mənim qurğum 3 düyməli ESP8266 Sparkfun Thing Dev lövhəsidir- irəli, sağ və sol. İndi hər dəfə basıldıqda təkərləri o istiqamətə çevirmək üçün məlumat göndərir.

Addım 6: Robot üçün Kod

Robot üçün kod
Robot üçün kod

Json vasitəsi ilə mühərrikləri idarə etmək üçün Pi-nin GPIO PWM kitabxanasından istifadə edən əvvəlki bir layihə hazırladım, buna görə məlumatı Flask tətbiqi ilə qəbul etmək üçün kodu yenidən təyin etdim. Flask, Pi'inizi məlumat göndərmək və qəbul etmək qabiliyyətinə malik bir veb serverə çevirən bir Python kitabxanasıdır. PWM istifadə edərək, mühərriklər tank sürücüsü ilə müqayisədə daha yüksək dəqiqliklə idarə oluna bilər. Bu da robotun sabit deyil, dəyişkən sürətlə gedə biləcəyi mənasına gəlir. Şüşə tətbiqim, ESP12e -dən http vasitəsilə GET sorğusundan məlumat aldıqdan sonra mühərriklərin PWM -ni dəyişdirmək üçün konfiqurasiya edilmişdir. Arxa planda veb axını skriptini işə salmaq üçün subprocess. Popen kitabxanasından da istifadə edir. Layihə səhifəsinə kod əlavə etdim, buna görə lazım olan hər şey yükləməkdir.

Addım 7: Nəzarətçi kodu

Kod olduqca sadə idi, sadəcə 3 pindən oxunuşları götürün, təkər istiqamətini təyin etmək üçün bəzi ifadələr işlədin və nəhayət bu dəyərləri Raspberry Pi -yə göndərin. Arduino IDE üçün ESP8266 lövhəsi, başlıqları və məlumatları göndərən HTTPClient kitabxanası ilə gəlir. Flask serverinin bir POST zəngi ilə məlumat alması lazımdır, buna görə kod Raspberry Pi veb serveri ilə əlaqəyə başlayır, sonra JSON kodlu olduğunu bildirən məlumatlara başlıq əlavə edir və nəhayət məlumatları JSON obyekti şəklində göndərir.. Raspberry Pi -nin məlumatlarla yüklənməsinin qarşısını almaq üçün 40 ms gecikmə əlavə etdim.

Addım 8: Raspberry Spy -i işə salın

Raspberry SPY -in işə salınması
Raspberry SPY -in işə salınması
Raspberry SPY -in işə salınması
Raspberry SPY -in işə salınması

Tələb olunanların hamısı sudo python.py yazmaqdır! Kameranın yandığını görməlisiniz və 8080 portu ilə pi -nin veb ünvanına gedərək axın görünməlidir. İndi nəzarətçini evin istənilən yerində istifadə edə və canlı yem də əldə edə bilərsiniz.

Tövsiyə: