- Инсталиране и конфигуриране на „Motion“ за получаване на видео емисия:
- Настройка на колбата в Raspberry Pi за управление на робот чрез уеб страница:
- HTML код за уеб страница:
- Робот за наблюдение
- Електрическа схема и настройка:
- Как се работи:
В тази сесия „Направи си сам“ ние изграждаме роботизирана кола за наблюдение, контролирана от мрежата, използваща Raspberry Pi и уеб камера. Това може да бъде полезен и евтин инструмент за сигурност и шпиониране, който има много конфигурируеми опции и може да бъде изграден за няколко часа. В този проект на IoT ние използваме предимно Raspberry Pi, USB уеб камера и два постояннотокови двигателя с шаси на робот, за да изградим тази роботизирана кола.
Върху него е монтирана уеб камера, чрез която ще получим видео емисия на живо и интересната част тук е, че можем да контролираме и преместваме този робот от уеб браузър през интернет. Тъй като може да се контролира чрез уеб страница, означава, че може да се контролира и чрез уеб страница в Mobile. Изградихме уеб страница в HTML, която има връзки наляво, надясно, напред, назад, щраквайки върху която можем да преместим робота във всяка посока. Тук използвахме “Motion” за получаване на видео на живо от USB камера и използвахме “Flask” за изпращане на команди от уеб страница към Raspberry Pi с помощта на pythonза преместване на робота, които са обяснени подробно в следващата част на този урок. Имаме инсталирана OS Raspbian Jessie на нашата дъска Raspberry Pi. Можете да проверите тази статия, за да инсталирате Raspbian OS и да започнете с Raspberry Pi.
Инсталиране и конфигуриране на „Motion“ за получаване на видео емисия:
Motion (Софтуер за наблюдение) е безплатен софтуер за видеонаблюдение с детектор на движение с отворен код, разработен за Linux. Той открива движението и започва да записва видео от него. С „Motion“, инсталиран на вашия Raspberry Pi, можете магически да превърнете вашия Raspberry Pi в защитна камера. Използва се за получаване на видео емисия на живо, заснемане на видеоклипове със закъснение и правене на моментни снимки на редовни интервали. Той записва и записва видеото, когато открие движение или някакво смущение в областта на гледане. Видео емисия на живо може да се гледа в уеб браузъра чрез въвеждане на IP адреса на Pi заедно с порта.
Създадохме подробен урок за използване на движение с Raspberry Pi и USB камера, тук накратко обясняваме инсталирането му на Raspberry pi за нашия робот да изпраща поточно видео на живо към уеб страница.
Тук трябва да изпълните само няколко команди, за да започнете да получавате първата си видео емисия през мрежата. Преди това проверете правилно дали вашият Raspberry Pi е свързан с интернет, като използвате LAN или Wi-Fi и след това следвайте стъпките по-долу:
Стъпка 1: Първо изпълнете командата по-долу, за да актуализирате Raspbian OS на Raspberry Pi:
sudo apt-get update
Стъпка 2: След това инсталирайте библиотеката "Motion", като използвате командата по-долу:
sudo apt-get инсталирайте движение
Стъпка 3: Сега задайте Motion daemon на yes, като редактирате файла: / etc / default / motion, така че да работи винаги. Редактирайте този файл с помощта на редактор „nano“ със „sudo“, както е дадено по-долу:
sudo nano / etc / default / motion
След това запазете файла, като натиснете „CTRL + X“, след това „Y“ и Enter.
Стъпка 4: Сега трябва да зададем разрешение за целевата директория (/ var / lib / motion /), в която Motion запазва всички видеозаписи и файлове с изображения. Трябва да зададем „Motion“ като собственик на тази директория, като издадем команда по-долу:
sudo chown motion: motion / var / lib / motion /
Това разрешение е необходимо, в противен случай ще получите грешка, когато проверите състоянието на услугата за движение.
Можете да проверите състоянието на услугата, като използвате тази команда: състояние на движението на sudo service
Стъпка 5: Сега сме почти готови, само трябва да променим една опция за конфигуриране в конфигурационния файл на Motion (/etc/motion/motion.conf ), който е изключен stream_localhost. Трябва да изключим този локален хост стрийминг, в противен случай няма да имаме достъп до видео емисията в нашата мрежа и той ще бъде достъпен само от самата Raspberry Pi. За целта редактирайте файла за конфигуриране на движение с редактора „nano“ и го изключете, както е показано по-долу:
sudo nano /etc/motion/motion.conf
Сега приключихме и сме готови да вземем нашия канал на живо от USB уеб камерата, свързана към Pi. Просто стартирайте (или рестартирайте) услугата Motion с помощта на командата по-долу и отворете IP адреса на вашия Raspberry Pi с порт 8081 в браузъра си (като 192.168.43.199:8081). В този проект ние вградихме този IP в нашия HTML код в img src таг.
sudo /etc/init.d/motion рестартиране
И ще видите емисията на живо от вашата уеб камера. Тук използвахме евтина USB уеб камера, която работи безпроблемно с нашия Raspberry Pi, но можете да използвате и качествена камера за по-добра разделителна способност. Както ще се покаже в браузъра, можете да използвате всяко устройство, за да гледате емисията, която поддържа уеб браузър като мобилен телефон, таблет и т.н.
Опитайте да рестартирате Raspberry Pi като стъпка за отстраняване на неизправности, когато е необходимо:
sudo рестартиране
Това е всичко за използването на Motion за нашия робот за наблюдение, освен това той има няколко опции за конфигуриране, които вече обсъдихме в предишния ни урок.
Забележка: Ако сте модел Raspberry Pi под версия 3, тогава може да ви е необходим Wi-Fi донгъл за безжично свързване на Raspberry Pi към рутера.
Настройка на колбата в Raspberry Pi за управление на робот чрез уеб страница:
Тук създадохме уеб сървър с помощта на Flask, който предоставя начин за изпращане на командите от уеб страница към Raspberry Pi за управление на робота по мрежата. Flask ни позволява да стартираме нашите python скриптове през уеб страница и можем да изпращаме и получаваме данни от Raspberry Pi до уеб браузър и обратно. Flask е микрорамка за Python. Този инструмент е базиран на Unicode с вграден сървър за разработка и дебъгер, интегрирана поддръжка на модулно тестване, поддръжка на сигурни бисквитки и лесен за използване, тези неща го правят полезен за любителя.
Инсталирайте пакет за поддръжка на колба в Raspberry Pi, като използвате дадена команда:
$ pip инсталирайте Flask
След това можем да използваме колбата, като просто я импортираме в нашата програма, както сме импортирали следните пакети колби за този проект:
от колба импорт Колба от колба импорт Колба, render_template, заявка
Можете да научите повече за програмирането с помощта на Flask тук, също така проверете нашите предишни проекти, където използвахме Flask, за да изпратим съобщението от уеб страницата до Raspberry Pi и да изпратим стойност на теглото до Raspberry Pi в Smart Container.
HTML код за уеб страница:
Създадохме уеб страница, използваща HTML език за показване на контролни връзки (ляво, дясно, напред, назад) за преместване на робота от уеб браузъра. Използвахме jQuery скрипт, за да извикаме функциите в нашата програма Python. В Python Code има пет функции за преместване на робота наляво, надясно, напред, назад и да го спре. Пълният код на Python е даден в края. Тези функции ще се изпълняват чрез щракване върху контролните връзки на уеб страницата и двигателите ще се движат в зависимост от щракнатата връзка. Тук сме написали кода по такъв начин, че роботът ще се движи в определена посока, докато щрака и задържа връзката и веднага щом пуснем бутона на мишката, роботът ще спре. По-долу е HTML кодът за уеб страница, включително jQuery:
Тук можете да видите как вградихме IP адреса, на който се предава видеото, в уеб страницата с помощта на маркера img src . Променете IP адреса според вашия Raspberry Pi, но запазете порта същия.
Потребителят трябва да копира и постави дадения по-горе HTML код в някакъв текстов редактор (бележник) и да запише файла с разширение.HTML (robot.html). След това поставете този HTML файл в папката / templates по отношение на местоположението на вашия python скрипт. Означава, че трябва да създадете папка с име шаблони, където сте поставили вашия файл на Python Code за този робот за наблюдение на Raspberry, след което поставете файла robot.html в тази папка за шаблони. Тази стъпка е важна, в противен случай нашият проект няма да работи. Можете директно да отворите файла robot.html, като щракнете двукратно върху него, за да видите как ще изглеждат вашите контролни връзки. Допълнително проверете целия процес в демонстрационно видео накрая. След като приключим с програмирането и всичко останало, можем просто да стартираме кода на Python в Raspberry Pi и да отворим IP_address_of_your_Pi: 5010 в уеб браузъра (като
Можете да проверите IP адреса на вашия Raspberry Pi, като използвате командата ifconfig :
ifconfig
Електрическа схема и настройка:
След като тестваме емисията на живо на видео и HTML кода, трябва да изградим робот, като използваме ръчно или готово шаси на робот, колела и гайки. След това поставете Power Bank над него за захранване на Raspberry pi и след това поставете Raspberry Pi и уеб камерата над захранващата банка и коригирайте настройката с помощта на лента Cello или гумени ленти, свържете USB камерата с Raspberry Pi.
В този проект на IoT не е нужно да правим много връзки, а само да свързваме някои проводници за моторни драйвери IC L293D и DC Motors. Връзките са показани на електрическата схема по-долу. Тук използвахме PCB с общо предназначение за монтиране на L293D IC, за да намалим пространството, но можете да използвате и малка матрица за свързване на постояннотокови двигатели с L293D.
Как се работи:
Работата и работата с този робот за наблюдение е много лесна. Създайте файл на python (разширение.py) и копирайте кода по-долу в него, след което го запазете на вашия Raspberry Pi. След това поставете HTML файла в папката за шаблони, както е обяснено по-горе. Не забравяйте да промените IP адреса в HTML файл.
След това стартирайте кода на Python, като въведете командата по-долу:
python name_of_file.py
След това отворете своя Raspberry Pi IP адрес с порт 5010 като http://192.168.43.199:5010 (отново заменете IP адреса с вашия адрес). Сега ще видите уеб страницата с четири връзки за управление на робот и поточно видео на живо. Потребителят може да контролира робота, като щракне и задържи връзките. Ако потребителят щракне и задържи връзките, тогава роботът ще се движи според щракната връзка и кога потребителят ще освободи връзката, тогава роботът автоматично ще спре.
Пълният код на Python е даден по-долу, където сме написали различни функции за управление на робота при щракване върху връзките на уеб страницата. Можете да ги разберете лесно или ако сте начинаещ, тогава проверете нашите предишни уроци за Raspberry Pi. Посещава и нашата секция за роботика за по-интересни и лесни за изграждане роботи.