Съдържание:
- Стъпка 1: Електрониката на робота
- Стъпка 2: Настройване на Pi
- Стъпка 3: Подготовка на камерата
- Стъпка 4: Инсталиране на софтуер
- Стъпка 5: Контролер
- Стъпка 6: Кодът за робота
- Стъпка 7: Код на контролера
- Стъпка 8: Стартирайте Raspberry SPy
Видео: Малинов шпионски робот: 8 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Този проект ви позволява да управлявате робот чрез уеб страница и да гледате поток на живо. Може да се използва за шпиониране на домашни любимци, да се уверите, че във вашата фурна нищо не гори и дори да наблюдавате птици! DFRobot предостави Raspberry Pi 3 и модула за камера Raspberry Pi.
Стъпка 1: Електрониката на робота
Започнах със сглобяването на комплекта шаси 2WD MiniQ от DFRobot. Плъзнах колелата върху валовете на двигателя, след това ги поставих в скоби и ги прикрепих към шасито. Накрая добавих металните опори. Сега беше време да се изгради основната платка. Драйверът на двигателя L293d беше запоен на място, заедно с проводници, които се движат към GPIO щифтовете на Raspberry Pi. След това запоявах конектор за батерията, тъй като това ще осигури основното захранване. След като беше добавен източникът на захранване, инсталирах 5V регулатор.
Стъпка 2: Настройване на 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
Всичко, което се изисква, е да напишете sudo python.py! Трябва да видите как камерата светва и като отидете на уеб адреса на pi с порта 8080, потокът трябва да бъде видим. Сега можете да използвате контролера навсякъде в къщата и да имате и емисия на живо.
Препоръчано:
Малинов процесор PI Vision (SpartaCam): 8 стъпки (със снимки)
Raspberry PI Vision Processor (SpartaCam): Малинова PI система за обработка на зрението за вашия ПЪРВИ робот за състезания по роботика. За FIRST От Уикипедия, безплатната енциклопедия https://en.wikipedia.org/wiki/FIRST_Robotics_Compe … ПЪРВОТО състезание по роботика (FRC) е международно високо
Джобен шпионски робот: 5 стъпки (със снимки)
Джобен шпионски робот: Скучно по време на заключване? Искате да изследвате тъмното царство под дивана в хола? Тогава шпионският робот с джобен размер е за вас! С височина само 25 мм, този малък робот е способен да се впусне в твърде малки места, за да могат хората да отидат, и подава обратно всички
[Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)
[Робот Arduino] Как да си направим робот за улавяне на движение | Робот Thumbs | Серво мотор | Изходен код: Thumbs Robot. Използва се потенциометър на серво мотор MG90S. Много е забавно и лесно! Кодът е много прост. Има само около 30 реда. Изглежда като заснемане на движение. Моля, оставете всеки въпрос или обратна връзка! [Инструкция] Изходен код https: //github.c
Малинов резервоар с уеб интерфейс и видео стрийминг: 8 стъпки (със снимки)
Малинов резервоар с уеб интерфейс и видео стрийминг: Ще видим как съм реализирал малък WiFi резервоар, способен за дистанционно уеб управление и видео стрийминг. Това е предназначено да бъде урок, който изисква основни познания за електронно и софтуерно програмиране. Поради тази причина избрах
Шпионски Ipod слушалки със скрит микрофон: 10 стъпки
Шпионски Ipod слушалки със скрит микрофон: Здравейте, това са първите ми инструкции, това е много проста, която можете да направите много лесно и която можете да използвате за шпиониране на разговори и никой няма да знае как го правите !! PS извинете за вероятно грешния ми английски надявам се да ви хареса идеята ми