Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Датчик движения SmartThings на компьютерном зрении с Raspberry Pi 3

Разверните датчик движения с компьютерным зрением на Raspberry Pi 3 с PiCamera. Устройство детектирует человеческие лица и передаёт информацию о присутствии через UPnP по локальной сети в SmartThings.

Начну с предположения, что у вас есть Raspberry Pi 3 с рабочей камерой и установленным OpenCV. Если нет, рекомендую этот туториал 🙂

Создание кастомного Device Handler для SmartThings

В SmartThings IDE создайте новый device handler для нашего компьютерного зрения датчика движения.

Перейдите в секцию «My Device Handler» и нажмите «+ Create New Device Handler» в правом верхнем углу.

В этом случае создадим из кода. Нажмите вторую вкладку «From Code», вставьте прикреплённый код Device Handler и нажмите «Create».

На следующей странице нажмите «Publish», чтобы сделать устройство доступным для вас.

Написание SmartThings App

Аналогично создайте SmartApp. В секции «My SmartApps» нажмите «+ Create New SmartApps» в правом верхнем углу.

Создайте из кода, вставьте прикреплённый код SmartApp, нажмите «Create». Затем опубликуйте.

Подготовка Raspberry Pi

Теперь нужен Python-скрипт, захватывающий изображения, детектирующий лица и репортящий статус в SmartThings.

Установите нужные библиотеки:

pip install imutils
sudo apt-get install python3-twisted-web

Создайте директорию для скрипта:

mkdir -p /home/pi/camera
cd /home/pi/camera

Создайте файл скрипта:

sudo nano ssdpcamera.py

Вставьте прикреплённый Camera Python Script и сохраните.

Протестируйте скрипт с python3 ssdpcamera.py — должны появиться логи инициализации камеры и событий детекции лиц.

Обнаружение и паринг Raspberry Pi

В мобильном приложении SmartThings перейдите в Marketplace → SmartApps, найдите «Computer Vision (Connect)» под «+ My Apps».

Убедитесь, что Raspberry Pi включен и Python-скрипт запущен. SmartApp начнёт обнаружение; когда устройство появится, выберите его и нажмите «Done».

После паринг устройство начнёт отправлять обновления присутствия в ваш SmartThings аккаунт.

Автозапуск

Для автоматического запуска скрипта при загрузке отредактируйте /etc/rc.local и добавьте перед строкой exit 0:

(sleep 10; python3 /home/pi/camera/ssdpcamera.py)&

Скобки запускают команду в фоне после небольшой задержки.

Обзор кода

Ниже краткий фрагмент ключевых компонентов Python-скрипта. Полные исходники в прикреплённых файлах.

#!/usr/bin/python3
import cv2
from picamera import PiCamera
from twisted.web import server, resource

# Инициализация камеры
camera = PiCamera()
camera.resolution = (640, 480)
camera.framerate = 32

# Детектор лиц
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# SSDP и HTTP серверы настроены для обнаружения SmartThings и опроса статуса.

Скрипт непрерывно захватывает кадры, запускает Haar-cascade детекцию лиц и уведомляет SmartThings хаб при обнаружении человека или когда сцена становится пустой.

Производственный процесс

  1. STMicroelectronics LSM6DSOX: инерциальный датчик с машинным обучением для точного, энергоэффективного трекинга активност…
  2. Надёжный домашний мониторинг с Home Assistant на Raspberry Pi: движение, алермы и видеозахват
  3. Построение DIY инфракрасного датчика движения для Raspberry Pi — пошаговое руководство
  4. Управление светодиодом с PIR-датчиком движения на Raspberry Pi
  5. Создание счетчика Гейгера на Raspberry Pi — туториал по открытому датчику радиации
  6. Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
  7. Развертывание беспроводной сети датчиков на мельнице XVIII века
  8. Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi
  9. Создание робота, избегающего препятствия, на Raspberry Pi — руководство для начинающих
  10. Семь проверенных способов, как компьютерное зрение повышает эффективность и экономит затраты