- Необхідні компоненти:
- Робоче пояснення:
- Пояснення схеми:
- Пояснення конфігурації та програмування Raspberry Pi:
Raspberry Pi - це популярна дошка розробок на основі ARM, розроблена для інженерів-електронників та любителів. Завдяки швидкості обробки та пам’яті Raspberry Pi можна використовувати одночасно для виконання різних функцій, як звичайний ПК, і тому він називається Mini Computer на вашій долоні. Ми створили серію підручників з Raspberry Pi, щоб розпочати з Raspberry Pi з нуля, а потім створити проекти високого рівня IoT за допомогою Raspberry Pi.
Цього разу ми тут із нашим наступним цікавим проектом - системою моніторингу відвідувачів із функцією захоплення зображень. Тут ми взаємодіємо камеру Pi з Raspberry Pi, щоб зафіксувати зображення кожного відвідувача, який увійшов через ворота чи двері. У цьому проекті, коли будь-яка особа прибуває до Воріт, вона повинна натиснути кнопку, щоб відкрити Ворота, і як тільки вона натисне кнопку, її / її фотографія буде захоплена та збережена в системі з датою і час вступу. Це може бути дуже корисно для цілей безпеки та спостереження.
Ця система дуже корисна в офісах або на заводах, де для відвідувачів ведеться запис про відвідувачів, а для працівників - відвідуваність. Ця система моніторингу оцифрує та автоматизує всі записи та відвідуваність відвідувачів, і не буде потреби вести їх вручну. Цією системою може керувати сама людина, або може бути оператор для натискання кнопки для самого відвідувача. Це хороший проект для початку роботи з камерою Pi та взаємодії з Raspberry Pi.
Необхідні компоненти:
- Raspberry Pi
- Пі-камера
- РК-дисплей 16x2
- Двигун постійного струму
- IC L293D
- Зумер
- СВІТЛОДІОДНИЙ
- Хлібна дошка
- Резистор (1k, 10k)
- Конденсатор (100 нФ)
- Нажимна Кнопка
- Підключення проводів
- 10к горщик
- Блок живлення
Робоче пояснення:
Робота з цією системою моніторингу Raspberry Pi проста. При цьому камера Pi використовується для зйомки зображень відвідувачів при натисканні або спрацьовуванні кнопки. В якості затвора використовується двигун постійного струму. Кожного разу, коли хтось хоче зайти на місце, йому / їй потрібно натиснути кнопку. Після натискання кнопки Raspberry Pi надсилає команду Pi Camera, щоб натиснути зображення та зберегти його. Після цього ворота на деякий час відкриваються, а потім знову закриваються. Звуковий сигнал використовується для створення звуку при натисканні кнопки, а світлодіодний індикатор вказує на те, що Raspberry Pi готовий прийняти натискання кнопки, тобто, коли світлодіод увімкнено, система готова до роботи.
Тут зображення відвідувачів зберігаються в Raspberry Pi з назвою, яке саме містить час і дату входу. Означає, що немає необхідності зберігати дату та час окремо в якомусь іншому місці, оскільки ми призначили час і дату як назву захопленого знімка, див. Зображення нижче. Ми взяли тут зображення вікна як відвідувача, перевірте його повну демонстрацію у Відео в кінці.
Пояснення схеми:
Схема цієї системи спостереження за відвідувачами Raspberry Pi дуже проста. Тут рідкокристалічний дисплей (РК) використовується для відображення часу / дати входу відвідувача та деяких інших повідомлень. РК-дисплей підключений до Raspberry Pi в 4-розрядному режимі. Виводи РК-дисплея, а саме RS, EN, D4, D5, D6 і D7, підключені до роз'ємів Raspberry Pi GPIO номер 18, 23, 24, 16, 20 і 21. Модуль камери Pi підключений до слота камери Raspberry Pi. Для індикації до контакту GPIO 26 Raspberry Pi підключений зумер. Світлодіод підключений до виводу GPIO 5 через резистор 1k, а кнопка підключена до виводу GPIO 19 щодо землі, щоб спрацьовувати камера і відкрити ворота. Двигун постійного струму (як затвор)підключений до роз'ємів 17 і 27 Raspberry Pi GPIO через IC Driver IC (L293D). Інші з'єднання показані на схемі.
Щоб підключити камеру Pi, вставте стрічковий кабель Pi Camera у гніздо камери, злегка потягніть вгору роз'єми на платі RPi та вставте стрічковий кабель у слот, а потім обережно натисніть на вкладки ще раз, щоб закріпити стрічковий кабель.
Пояснення конфігурації та програмування Raspberry Pi:
Для програми ми використовуємо мову Python. Перед кодуванням користувачеві потрібно налаштувати Raspberry Pi. Ви повинні навести нижче два посібники для початку роботи з Raspberry Pi та встановлення та налаштування ОС Raspbian Jessie у Pi:
- Початок роботи з Raspberry Pi - Вступ
- Початок роботи з Raspberry Pi - конфігурація
Після успішної інсталяції ОС Raspbian на Raspberry Pi нам потрібно встановити файли бібліотеки камер Pi для запуску цього проекту в Raspberry pi. Для цього нам потрібно слідувати заданим командам:
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
Після цього користувачеві потрібно ввімкнути Raspberry Pi Camera за допомогою інструмента конфігурації програм Raspberry Pi (raspi-config):
$ sudo raspi-config
Потім виберіть Увімкнути камеру та Увімкніть її.
Потім користувачеві потрібно перезавантажити Raspberry Pi, здійснивши перезавантаження sudo , щоб можна було застосувати нові налаштування. Тепер ваша камера Pi готова до використання.
$ sudo перезавантажити
Програма Python цього проекту відіграє дуже важливу роль для виконання всіх операцій. Перш за все, ми включаємо необхідні бібліотеки, ініціалізуємо змінні та визначаємо висновки для РК, світлодіодів, двигуна та інших компонентів.
імпорт RPi.GPIO як gpio імпорт пікамера час імпорту m11 = 17 m12 = 27 led = 5 buz = 26 кнопка = 19 RS = 18……………
Функція def capture_image () створена для захоплення зображення відвідувача з часом і датою.
def capture_image (): lcdcmd (0x01) lcdprint ("Будь ласка, почекайте.."); data = time.strftime ("% d_% b_% Y \% H:% M:% S") camera.start_preview () time.sleep (5) print data camera.capture ('/ home / pi / Desktop / Visitors /%s.jpg'%data) camera.stop_preview () lcdcmd (0x01) lcdprint ("Знято зображення") lcdcmd (0xc0) lcdprint ("Успішно") time.sleep (2)
Функція def gate () написана для керування двигуном постійного струму, який тут використовується як затвор.
def gate (): lcdcmd (0x01) lcdprint ("Ласкаво просимо") gpio.output (m11, 1) gpio.output (m12, 0) time.sleep (1.5) gpio.output (m11, 0) gpio.output (m12, 0) time.sleep (3) gpio.output (m11, 0) gpio.output (m12, 1) time.sleep (1.5) gpio.output (m11, 0) gpio.output (m12, 0) lcdcmd (0x01); lcdprint ("Дякую") time.sleep (2)
Деякі функції визначені для РК, як функція def begin () використовується для ініціалізації РК, функція def lcdcmd (ch) використовується для надсилання команди на РК, функція def lcdwrite (ch) використовується для надсилання даних на РК та def lcdprint (Str) функція використовується для надсилання рядка даних на РК-дисплей. Ви можете перевірити всі ці функції в коді, наданому згодом.
Потім ми ініціалізації LCD і Pi камери і безперервно зчитувати нажімной кнопки, використовуючи у час циклу. Щоразу, коли натискається кнопка, щоб відкрити ворота для входу, зображення відвідувача фіксується та зберігається на Raspberry pi з датою та часом, і ворота відкриваються. Перевірте повний код та демонстраційне відео нижче.
в той час як 1: d = time.strftime ("% d% b% Y") t = time.strftime ("% H:% M:% S") lcdcmd (0x80) lcdprint ("Time:% s"% t) lcdcmd (0xc0) lcdprint ("Дата:% s"% d) gpio.output (led, 1), якщо gpio.input (кнопка) == 0: gpio.output (buz, 1) gpio.output (led, 0) time.sleep (0.5) gpio.output (buz, 0) capture_image () gate () time.sleep (0.5)
Ця система моніторингу камер має багато можливостей для оновлення, як програмне забезпечення, яке можна вбудувати в Computer Vision або OpenCV, щоб поєднати захоплене зображення відвідувача з уже збереженими зображеннями, і авторизувати відвідувача, лише якщо було знайдено якийсь збіг, це буде лише відкрийте ворота для уповноважених людей.