Мазмуну:

Raspberry SPY роботу: 8 кадам (сүрөттөр менен)
Raspberry SPY роботу: 8 кадам (сүрөттөр менен)

Video: Raspberry SPY роботу: 8 кадам (сүрөттөр менен)

Video: Raspberry SPY роботу: 8 кадам (сүрөттөр менен)
Video: L4D2 КАНТИП ОРНАТУ 2024, Июль
Anonim
Image
Image
Raspberry SPY роботу
Raspberry SPY роботу

Бул долбоор веб -баракча аркылуу роботту башкарууга жана түз эфирди көрүүгө мүмкүнчүлүк берет. Бул үй жаныбарларын аңдып, мешиңизде эч нерсе күйбөгөнүн текшерүү үчүн, ал тургай канаттуулардын сааты үчүн да колдонулушу мүмкүн! DFRobot Raspberry Pi 3 жана Raspberry Pi камера модулун берген.

1 -кадам: Робот Электроника

Робот Электроника
Робот Электроника

Мен DFRobotтон келген 2WD MiniQ шасси комплектин чогултуудан баштадым. Мен дөңгөлөктөрдү мотор шахталарына сүйрөп, анан кронштейндерге салып, шассиге бекиттим. Акыр -аягы, мен металл таянычтарды коштум. Эми башкы тактаны курууга убакыт келди. L293d мотор айдоочусу Raspberry Piнин GPIO казыктарына чуркаган зымдар менен кошо ордуна коюлду. Андан кийин, мен батареяны туташтыргычты ширеттим, анткени ал негизги кубаттуулукту берет. Электр булагы кошулгандан кийин, мен 5В регуляторун орноттум.

2 -кадам: Pi орнотуу

Pi орнотуу
Pi орнотуу

DFRobot мага кайрылып, Raspberry Pi 3 жана Raspberry Pi Камера Модулун жөнөттү. Ошентип, мен кутучаларды ачкандан кийин SD картаны орнотуу менен иштөөгө туура келди. Алгач мен Raspberry Pi Downloads барагына кирип, Raspbianдин эң акыркы версиясын жүктөдүм. Андан кийин мен файлды чыгарып, ыңгайлуу каталогго койдум. Сиз SD картка.img файлын көчүрүп/чаптай албайсыз, аны картка "өрттөшүңүз" керек. OS сүрөтүн оңой өткөрүп берүү үчүн Etcher.io сыяктуу күйүп турган утилитаны жүктөп алсаңыз болот.. Img файлы менин SD картада болгондон кийин мен аны Raspberry Piге салып, күч бердим. Болжол менен 50 секунддан кийин мен зымды сууруп, SD картаны алып салдым. Андан кийин мен SD картаны кайра компьютериме салып, "жүктөө" каталогуна бардым. Мен блокнотту ачып, аны "ssh" аттуу бош файл катары NO кеңейтүүсү менен сактадым. Мен кошкон "wpa_supplicant.conf" деген файл да бар болчу жана ага бул текстти киргиздим:

тармак = {ssid = psk =}

Анан мен картаны сактап, чыгардым жана аны кайра Raspberry Pi 3ке салып койдум. Бул азыр SSHди колдонууга жана WiFiга туташууга мүмкүнчүлүк бериши керек.

3 -кадам: Камераны даяр кылуу

Камераны даярдап алуу
Камераны даярдап алуу

Демейки боюнча, камера Pi'де өчүрүлгөн, андыктан менюну алып келүү үчүн sudo raspi-config түрүндөгү терминалды ачышыңыз керек. "Интерфейс параметрлерине" өтүп, андан кийин камераны иштетүү. Эми жөн эле "Аяктоону" тандап, камеранын модулунун лента кабелин Пинин туура аймагына салыңыз.

4 -кадам: Программаны орнотуу

Видеону агылтуучу бир нече ар кандай программалар бар, мисалы, vlc жана motion, бирок мен mjpeg-стримерди анын кечигүүсү жана оңой орнотулушунан улам колдонууну чечтим. Сайттагы нускамаларга ылайык, папкага 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" терип көрүңүз.

5 -кадам: Контроллер

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

Андан кийин WiFi аркылуу Raspberry Piди кантип башкарууга болот, анткени Bluetooth өтө аз диапазонго ээ. Мен Raspberry PIде иштеген Flask серверин жана ага маалыматтарды жөнөтүү үчүн ESP8266 ESP12E модулун колдонууну чечтим. ESP8266да бир гана аналогдук киргизүү бар, демек мен джойстикти түз колдоно алган жокмун, анткени ал эки аналогдук кирүүнү талап кылат. Эң жакшы вариант ADS1115 болчу, ал I2C түзмөгү, аналогдук сигналдарды 16 бит токтомдо окуйт. Мен SDAны VCC жана GND менен бирге 4кө жана SCLди 5ке туташтырдым. Джойстиктин X огу ADS1115те A0 менен, ал эми Y огунда A1ге туташат. БИРОК, мен кокустан ADS1115ти өрттөп жибердим, ошондуктан кийинки эң жакшы нерсеге кайрылууга туура келди: баскычтар! Эми менин орнотуум- бул ESP8266 Sparkfun Thing Dev Board, 3 баскычы бар- алдыга, оңго жана солго. Эми бир басылганда, ал дөңгөлөктөрдү ошол тарапка буруу үчүн маалыматтарды жөнөтөт.

6 -кадам: Роботтун коду

Роботтун коду
Роботтун коду

Мен мурунку проектти жасадым, ал Pi-нин GPIO PWM китепканасын json аркылуу моторлорду башкаруу үчүн колдонгон, ошондуктан анын ордуна Flask колдонмосу аркылуу маалыматтарды кабыл алуу үчүн кодду кайра ойлоп таптым. Flask Python китепканасы болуп саналат, ал сиздин Пиңизди маалыматтарды жөнөтүүгө жана кабыл алууга жөндөмдүү веб -серверге айландырат. PWMди колдонуу менен моторлор танк дискине салыштырмалуу чоңураактык менен башкарылышы мүмкүн. Бул ошондой эле робот туруктуу эмес, өзгөрүлмө ылдамдыкта бара алат дегенди билдирет. Менин колбамдын колдонмосу ESP12eден http аркылуу GET сурамынан маалымат алгандан кийин моторлордун PWM өзгөртүү үчүн конфигурацияланган. Ал ошондой эле subprocess. Popen китепканасын фондо веб -агым скриптин иштетүү үчүн колдонот. Мен кодду долбоордун баракчасына коштум, андыктан жүктөө гана керек.

7 -кадам: Контроллер коду

Код абдан жөнөкөй болчу, жөн гана 3 казыктан окууларды алып, дөңгөлөктүн багытын аныктоо үчүн кээ бир билдирмелерди иштетип, акыры ошол баалуулуктарды Raspberry Piге жөнөтүңүз. Arduino IDE үчүн ESP8266 тактасы HTTPClient китепканасы менен коштолот, ал аталыштарды жана маалыматтарды жөнөтүүнү башкарат. Flask сервери POST чалуусу аркылуу маалыматтарды алышы керек, андыктан код Raspberry Pi веб -сервери менен байланышты баштайт, андан кийин JSON коддолгонун билдирүүчү маалыматка баш кошуп, акыры маалыматтарды JSON объектиси түрүндө жөнөтөт. Мен Raspberry Pi маалыматтарга ашыкча жүктөлүп калбаш үчүн 40 мс кечигүү коштум.

8 -кадам: Raspberry Spy иштетүү

Raspberry SPY иштетүү
Raspberry SPY иштетүү
Raspberry SPY иштетүү
Raspberry SPY иштетүү

Болгону sudo python.py терүү керек! Сиз камеранын күйүп турганын көрүшүңүз керек жана 8080 порту менен pi веб -дарегине өтүү менен агым көрүнүшү керек. Эми сиз контроллерди үйдүн каалаган жеринде колдоно аласыз жана ошондой эле жандуу тамактансаңыз болот.

Сунушталууда: