- Встановлення та налаштування "Motion" для отримання відеопотоку:
- Налаштування колби в Raspberry Pi для управління роботом через веб-сторінку:
- HTML-код веб-сторінки:
- Робот спостереження
- Схема та налаштування схеми:
- Як працювати:
У цьому сеансі "зроби сам" ми створюємо робототехнічний автомобіль з керованим веб-спостереженням з використанням Raspberry Pi та веб-камери. Це може бути корисним та недорогим інструментом безпеки та шпигунства, який має безліч налаштованих опцій і може бути побудований за кілька годин. У цьому проекті IoT ми в основному використовуємо Raspberry Pi, веб-камеру USB та два двигуни постійного струму з шасі Robot для створення цієї роботизованої машини.
На ньому встановлена веб-камера, за допомогою якої ми отримуватимемо відео в реальному часі, і найцікавішим тут є те, що ми можемо керувати і переміщувати цього робота з веб-браузера через Інтернет. Оскільки цим можна керувати за допомогою веб-сторінки, це означає, що ним також можна керувати за допомогою веб-сторінки в Mobile. Ми створили веб-сторінку в HTML, яка має лівий, правий, вперед, зворотні посилання, клацнувши на якій ми можемо переміщати робота в будь-якому напрямку. Тут ми використовували “Motion” для отримання відео в реальному часі з USB-камери, а “Flask” для надсилання команд з веб-сторінки на Raspberry Pi за допомогою pythonдля переміщення робота, про що детально пояснюється в наступній частині цього посібника. На нашій платі Raspberry Pi встановлена ОС Raspbian Jessie. Ви можете переглянути цю статтю, щоб встановити ОС Raspbian та розпочати роботу з Raspberry Pi.
Встановлення та налаштування "Motion" для отримання відеопотоку:
Motion (Програмне забезпечення для спостереження) - це безкоштовне програмне забезпечення CCTV з відкритим вихідним кодом, розроблене для Linux. Він виявляє рух і починає записувати його відео. За допомогою програми `` Motion '', встановленої на вашому Raspberry Pi, ви можете чарівним чином перетворити ваш Raspberry Pi на камеру безпеки. Він використовується для отримання відео в реальному часі, створення відеозаписів із затримкою та регулярних знімків. Він записує та зберігає Відео, коли виявляє Рух або будь-які порушення в області огляду. Потік відео в прямому ефірі можна переглянути у веб-браузері, ввівши IP-адресу Pi разом з портом.
Ми створили детальний посібник з використання руху з Raspberry Pi та USB-камерою, тут ми коротко пояснюємо його встановлення на Raspberry pi для нашого Робота для передачі потокового відео в реальному часі на веб-сторінку.
Тут вам потрібно виконати лише кілька команд, щоб почати отримувати перший відеопотік по мережі. Перед цим правильно перевірте, чи ваш Raspberry Pi підключений до Інтернету за допомогою локальної мережі або Wi-Fi, а потім виконайте наведені нижче дії.
Крок 1: Спочатку запустіть наведену нижче команду, щоб оновити ОС Raspbian на Raspberry Pi:
sudo apt-get update
Крок 2: Потім встановіть бібліотеку "Motion", скориставшись командою нижче:
sudo apt-get встановити рух
Крок 3: Тепер встановіть для демона Motion значення 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 status status
Крок 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 restart
І ви побачите пряму трансляцію з вашої веб-камери. Тут ми використовували недорогу веб-камеру USB, яка безперебійно працювала з нашим Raspberry Pi, але ви можете надалі використовувати якісну камеру для кращої роздільної здатності. Як це буде показано в браузері, ви можете використовувати будь-який пристрій для перегляду стрічки, яка підтримує веб-браузер, такий як мобільний, планшетний ПК тощо.
Спробуйте перезавантажити Raspberry Pi як крок усунення несправностей, коли це необхідно:
sudo reboot
Це все про використання Motion для нашого робота-спостереження, крім того, у нього є кілька варіантів конфігурації, про які ми вже говорили в нашому попередньому навчальному посібнику.
Примітка: Якщо ви є моделлю Raspberry Pi версії 3, то вам може знадобитися ключ Wi-Fi для бездротового підключення Raspberry Pi до маршрутизатора.
Налаштування колби в Raspberry Pi для управління роботом через веб-сторінку:
Тут ми створили веб-сервер за допомогою Flask, який забезпечує спосіб надсилання команд з веб-сторінки на Raspberry Pi для управління Роботом по мережі. Flask дозволяє нам запускати наші скрипти python через веб-сторінку, і ми можемо надсилати та отримувати дані з Raspberry Pi у веб-браузер і навпаки. Flask - це мікрофреймворк для Python. Цей інструмент заснований на Unicode, має вбудований сервер розробки та налагоджувач, вбудовану підтримку модульного тестування, підтримку безпечних файлів cookie та зручність у використанні, що робить його корисним для любителя.
Встановіть пакет підтримки колби в Raspberry Pi, використовуючи задану команду:
$ pip встановити Flask
Тоді ми можемо використовувати колбу, просто імпортуючи її в нашу програму, як ми імпортували такі пакети колби для цього проекту:
from flask import Flask from flask import Flask, render_template, request
Ви можете дізнатись більше про програмування за допомогою Flask тут, а також перевірити наші попередні проекти, де ми використовували Flask, щоб відправити повідомлення з веб-сторінки на Raspberry Pi і надіслати значення ваги на Raspberry Pi в Smart Container.
HTML-код веб-сторінки:
Ми створили веб-сторінку з використанням мови HTML для відображення контрольних посилань (вліво, вправо, вперед, назад) для переміщення робота з веб-браузера. Ми використовували скрипт jQuery для виклику функцій нашої програми Python. У коді Python є п’ять функцій для переміщення робота вліво, вправо, вперед, назад і для його зупинки. Повний код Python подано наприкінці. Ці функції виконуватимуться, натискаючи на посилання керування на веб-сторінці, і двигуни рухатимуться залежно від клацаного посилання. Тут ми написали код таким чином, що Робот рухатиметься у певному напрямку, одночасно натискаючи та утримуючи посилання, і як тільки ми відпустимо кнопку миші, Робот зупиниться. Нижче наведено HTML-код веб-сторінки, включаючи jQuery:
Тут ви можете побачити, як ми вбудували IP-адресу, на якій транслюється відео, на веб-сторінку за допомогою тегу img src . Змініть IP-адресу відповідно до вашого Raspberry Pi, але залиште порт незмінним.
Користувачеві потрібно скопіювати та вставити вказаний вище HTML-код у якийсь текстовий редактор (блокнот) та зберегти файл із розширенням.HTML (robot.html). Потім помістіть цей HTML-файл у папку / templates стосовно вашого розташування сценарію python. Означає, що вам потрібно створити папку з назвою шаблони, куди ви помістили файл коду Python для цього робота Raspberry Surveillance Robot, а потім помістили файл robot.html у цю папку шаблонів. Цей крок важливий, інакше наш проект не буде працювати. Ви можете безпосередньо відкрити файл robot.html, двічі клацнувши на ньому, щоб побачити, як виглядатимуть ваші контрольні посилання. Далі перевірте весь процес у демонстраційному відео в кінці. Після того, як ми закінчили програмування і все, ми можемо просто запустити код Python в Raspberry Pi і відкрити IP_address_of_your_Pi: 5010 у веб-браузері (наприклад,
Ви можете перевірити IP-адресу вашого Raspberry Pi, використовуючи команду ifconfig :
ifconfig
Схема та налаштування схеми:
Після тестування каналу Live Video та HTML-коду нам потрібно створити робота, використовуючи ручну або готову шасі робота, колеса та гайкові болти. Потім розташуйте над ним банк живлення для живлення Raspberry pi, а потім розташуйте Raspberry Pi та веб-камеру над блоком живлення та виправте налаштування за допомогою стрічки Cello або гумових смужок, підключіть USB-камеру до Raspberry Pi.
У цьому проекті IoT нам не потрібно робити багато підключень, нам потрібно лише підключити кілька проводів для двигуна IC Driver IC L293D та двигунів постійного струму. З'єднання показані на схемі нижче. Тут ми використали друковану плату загального призначення для кріплення мікросхеми L293D, щоб зменшити простір, але ви також можете використовувати невеликий макет для підключення двигунів постійного струму до L293D.
Як працювати:
Експлуатація та робота з цим роботом спостереження дуже проста. Створіть файл python (розширення.py) і скопіюйте в нього код нижче, а потім збережіть його на своєму Raspberry Pi. Потім помістіть файл HTML у папку шаблонів, як пояснено вище. Не забудьте змінити IP-адресу у файлі HTML.
Потім запустіть код Python, ввівши команду нижче:
python name_of_file.py
Потім відкрийте свою IP-адресу Raspberry Pi за допомогою порту 5010, наприклад http://192.168.43.199:5010 (знову замініть IP-адресу на вашу адресу). Тепер ви побачите веб-сторінку з чотирма посиланнями керування роботом та потоковим відео. Користувач може керувати роботом, натискаючи та утримуючи посилання. Якщо користувач натискає і утримує посилання, тоді робот рухатиметься відповідно до натиснутого посилання, а коли користувач відпустить посилання, тоді робот автоматично зупиниться.
Повний код Python наведено нижче, де ми написали різні функції управління Роботом при натисканні на посилання на веб-сторінці. Ви можете їх легко зрозуміти, або якщо ви новачок, тоді перегляньте наші попередні підручники з Raspberry Pi. Також відвідайте наш розділ робототехніки, щоб отримати більш цікаві та прості у створенні роботи.