Съдържание:

Малинов шпионски робот: 8 стъпки (със снимки)
Малинов шпионски робот: 8 стъпки (със снимки)

Видео: Малинов шпионски робот: 8 стъпки (със снимки)

Видео: Малинов шпионски робот: 8 стъпки (със снимки)
Видео: Как Проверить и Выключить Прослушку На Телефоне!!! 3 Типа Прослушки 2024, Ноември
Anonim
Image
Image
Малинов шпионски робот
Малинов шпионски робот

Този проект ви позволява да управлявате робот чрез уеб страница и да гледате поток на живо. Може да се използва за шпиониране на домашни любимци, да се уверите, че във вашата фурна нищо не гори и дори да наблюдавате птици! DFRobot предостави Raspberry Pi 3 и модула за камера Raspberry Pi.

Стъпка 1: Електрониката на робота

Електрониката на робота
Електрониката на робота

Започнах със сглобяването на комплекта шаси 2WD MiniQ от DFRobot. Плъзнах колелата върху валовете на двигателя, след това ги поставих в скоби и ги прикрепих към шасито. Накрая добавих металните опори. Сега беше време да се изгради основната платка. Драйверът на двигателя L293d беше запоен на място, заедно с проводници, които се движат към GPIO щифтовете на Raspberry Pi. След това запоявах конектор за батерията, тъй като това ще осигури основното захранване. След като беше добавен източникът на захранване, инсталирах 5V регулатор.

Стъпка 2: Настройване на Pi

Настройване на Pi
Настройване на Pi

DFRobot се обърна към мен и изпрати техния модул за камера Raspberry Pi 3 и Raspberry Pi. Така че, след като отворих кутиите, имах право да работя, като настроих SD картата. Първо отидох на страницата за изтегляне на Raspberry Pi и изтеглих най -новата версия на Raspbian. След това извадих файла и го поставих в удобна директория. Не можете просто да копирате/поставите.img файл на SD карта, трябва да го "запишете" на картата. Можете да изтеглите гореща помощна програма като Etcher.io, за да прехвърлите лесно образа на операционната система. След като.img файлът беше на SD картата, го вмъкнах в Raspberry Pi и му дадох сила. След около 50 секунди изключих кабела и извадих SD картата. След това поставих SD картата обратно в компютъра си и отидох в директорията "boot". Отворих бележника и го запазих като празен файл с име "ssh" без разширение. Имаше и добавен от мен файл, наречен "wpa_supplicant.conf" и поставих този текст в него:

мрежа = {ssid = psk =}

След това запазих и извадих картата и я поставих обратно в Raspberry Pi 3. Това вече трябва да позволи използването на SSH и свързването към WiFi.

Стъпка 3: Подготовка на камерата

Подготовка на камерата
Подготовка на камерата

По подразбиране камерата е деактивирана на Pi, така че трябва да отворите терминала тип sudo raspi-config, за да изведете менюто. Отидете на „опции за свързване“и след това активирайте камерата. Сега просто изберете "Finish" и поставете лентовия кабел на модула на камерата в правилната област на Pi.

Стъпка 4: Инсталиране на софтуер

Има няколко различни софтуера, които могат да предават поточно видео, като vlc и motion, но реших да използвам mjpeg-streamer поради ниската му латентност и лесна инсталация. Съгласно инструкциите на сайта, направете git клонинг https://github.com/jacksonliam/mjpg-streamer.git в папка, след което въведете sudo apt-get install cmake libjpeg8-dev, за да инсталирате необходимите библиотеки. Променете директорията си в папката, която сте изтеглили и след това въведете make, последвано от sudo make install, за да компилирате софтуера. Накрая въведете експортиране LD_LIBRARY_PATH =. и за да го стартирате, въведете./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Можете да получите достъп до потока, като се насочите към https://: 8080/stream.html, за да видите потока.

Стъпка 5: Контролер

Контролер
Контролер
Контролер
Контролер

След това дойде частта от това как да контролирате Raspberry Pi през WiFi, защото Bluetooth има твърде малък обхват. Реших да използвам Flask сървър, работещ на Raspberry PI и ESP8266 ESP12E модул за изпращане на данни към него. ESP8266 има само един аналогов вход, което означава, че не можех да използвам джойстика директно, тъй като отнема два аналогови входа. Най -добрият вариант беше ADS1115, което е I2C устройство, което чете аналогови сигнали с разделителна способност 16 бита. Просто свързах SDA към 4 и SCL към 5, заедно с VCC и GND. Оста X на джойстика се свързва с A0 на ADS1115, а оста Y се свързва с A1. НО, случайно изгорих ADS1115, така че трябваше да прибягна до следващото най-добро нещо: бутони! Така че сега моята настройка е ESP8266 Sparkfun Thing Dev Board с 3 бутона- напред, надясно и наляво. Сега, когато човек бъде натиснат, той изпраща данни за завъртане на колелата в тази посока.

Стъпка 6: Кодът за робота

Кодът за робота
Кодът за робота

Направих предишен проект, който използваше библиотеката Pi GPIO PWM за управление на двигатели чрез json, така че просто пренасочих кода, за да приема данни чрез приложение Flask. Flask е библиотека на Python, която по същество превръща вашия Pi в уеб сървър, способен да изпраща и получава данни. Чрез използване на ШИМ двигателите могат да се управляват с по -голяма прецизност в сравнение с задвижването на резервоара. Това също означава, че роботът може да се движи с променлива скорост, а не с фиксирана. Приложението ми за колба е конфигурирано да променя PWM на двигателите, след като получи данни от GET заявка чрез http от ESP12e. Той също така използва подпроцеса. Popen библиотека, за да изпълнява скрипта за уеб поточно предаване във фонов режим. Прикачих код към страницата на проекта, така че всичко, което е необходимо, е изтегляне.

Стъпка 7: Код на контролера

Кодът беше доста прост, просто вземете показания от 3 -те пина, прекарайте ги през някои оператори if, за да определите посоката на колелото, и накрая изпратете тези стойности на Raspberry Pi. Добавката на платката ESP8266 за IDE на Arduino идва с библиотеката HTTPClient, която обработва заглавки и изпраща данни. Flask сървърът трябва да получава данни чрез POST повикване, така че кодът започва връзка с уеб сървъра на Raspberry Pi, след което добавя заглавка към данните, обозначавайки, че е кодиран JSON, и накрая изпраща данните под формата на JSON обект. Добавих забавяне от 40 ms, за да предотвратя претоварването на Raspberry Pi с данни.

Стъпка 8: Стартирайте Raspberry SPy

Управление на Raspberry SPy
Управление на Raspberry SPy
Управление на Raspberry SPy
Управление на Raspberry SPy

Всичко, което се изисква, е да напишете sudo python.py! Трябва да видите как камерата светва и като отидете на уеб адреса на pi с порта 8080, потокът трябва да бъде видим. Сега можете да използвате контролера навсякъде в къщата и да имате и емисия на живо.

Препоръчано: