CCTV project — различия между версиями

Материал из Вікі Фаланстэра
Перейти к: навигация, поиск
Строка 72: Строка 72:
 
Пасля было сцягнута ды ўсталявана само ПЗ: '''wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz''' , распакоўваем камандай '''tar zxvf motion-mmal.tar.gz'''
 
Пасля было сцягнута ды ўсталявана само ПЗ: '''wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz''' , распакоўваем камандай '''tar zxvf motion-mmal.tar.gz'''
  
Цяпер усталёўваем Motion: sudo apt-get install motion
+
Цяпер усталёўваем Motion: '''sudo apt-get install motion'''
  
 
У дакуменце '''motion-mmalcam.conf''' трэба зрабіць і захваць патрэбныя налады. Каманда праэкта зрабіла наступныя змены (далей ідуць радкі са зменамі):
 
У дакуменце '''motion-mmalcam.conf''' трэба зрабіць і захваць патрэбныя налады. Каманда праэкта зрабіла наступныя змены (далей ідуць радкі са зменамі):

Версия 19:03, 6 декабря 2017

CCTV project
Cctvpr.png
Статус Працуе
Тып Праект
Пачатак працы 09.2016
Апісанне Стварэнне сістэмы відэназірання
Графік Што Серада, з 18:00 да 21:00
Кошт уваходу Бескаштоўна
Кіраўнік Chec Saup
Месца База Фаланстэра
Кантакты
Канчатак працы


Кароткае апісанне

CC TV project - гэта праэкт, які закліканы забяспечыць базу Фаланстэра відэаназіраннем на будове міні-кампутараў Raspberry Pi 2 model B V1.1 і камер Raspberry Camera V2.1 ды USB.

Апісанне

CC TV project накіраваны на забяспячэнне базы Фаланстэра сістэмай відэаназірання, каб павялічыць узровень бяспекі памяшкання. Праэкт рэлізуецца на падставе міні-кампутараў Raspberry Pi 2 model B (V1.1), модуля-камеры Raspberry Camera V2.1, USB-камеры ды GPIO-датчыкаў руху для камп'ютараў Raspberry Pi. Для працы анлайн трансляцыі з камер выкарыстоўваецца ПЗ motion.

Плануецца, што сістэма назірання будзе пачынаць працу пасля рэгістравання руху ў памяшканні. Са стартам працы, будзе весціся запіс відэа. Запісы будуць захоўвацца на міні-кампутары, праз некаторы перамяшчацца на сэрвер Фаланстэра.

Пад час працы выкарыстоўваліся:

  1. Аперацыйная cістэма Linux Ubuntu 16.04 (LTS);
  2. Аперацыйная cістэма Raspbeian Stretch (LITE);
  3. Міні-кампутар Raspberry Pi 2 model B V1.1 (3 штукі);
  4. Модуль-камера Raspberry Camera V2.1;
  5. USB-камера Logitech;
  6. GPIO-датчык руху для Raspberry Pi (4 штукі);
  7. GPIO-дроты для Raspberry Pi;
  8. Ethernet-дроты;
  9. Акумулятар 18650 (4 шуткі);
  10. Зараднае micro-USB для акумулятара 18650 (4 шуткі);
  11. Павышаючы змяняльнік (4 штукі);
  12. Micro-USB дроты;
  13. Праграмнае забеспячэнне NMap;
  14. Праграмнае забеспячэнне motion-mmal;
  15. Дранік сервер Фаланстэра;
  16. Мова праграмавання Python;

Рух працы

Этап 0: падрыхтоўка міні-кампутара Raspberry Pi да парцы

Для пачатка працы з кампутарам, трэба распакаваць архіў з аперацыйнай сістэмай на SD-картку Raspberry Pi. Каманда праэкта выкарыстоўвала Lite версію, у якой няма працоўнага стала, праца вялася толькі праз кансоль. Пасля распакоўкі архіва з АС, трэба стварыць файл "ssh" (у дзьвухкоссі, без пашырэння), каб мець дасяг праз SSH (шыфраваны ўдалёны дасяг). Спачатку працы сістэмы ўдалёны дасяг адключаны, таму каб задзейнічаць яго, ствараць файл ці мець дасяг да графічнага асяроддзя АС.

Пасля атрымання ўдалёнага дасягу, можна далучацца з дапамогай SSH: ssh pi@[ip_адрас_Raspberry PI] (мы даведаліся адрас нашага дэвайся з дапамогай ПЗ nMap). Стандартны пароль для далучэння: raspberry

Пасля ўвахода трэба аднавіць сістэму:

  • sudo apt-get update
  • sudo apt-get upgrade

Пасля аднаўлення сістэмы трэба ўсталяваць статычны IP-адрас для Raspberry Pі для палягчэння працы. Для гэтага трэба разкаментаваць (выдаліць сімвал #) ды змяніць значэнні ў патрэбных радках дакумента dhcpcd.conf:

  1. Рэжым радактавання дакумента: sudo nano /etc/dhcpcd.conf;
  2. пасля радку # Example static IP configuration: разкаментаваць пяць настпных радкоў;
  3. пасля радка interface eth0 ідуць налады статычнага IP-адраса для бяздротавых сетак;
  4. у радку static ip_address змяняеце дадзеныя пасля = на [патрэбны_ip_адрас]/24;
  5. у радку static routers, пасля сымвала =, змяняеце дадзеныя на IP-адрас вашага роўтэра ці мадэма.

Камбінацыяй Ctrl+Z захоўваем дакумент і выходзім з рэжыма рэдагавання.

Для пачатку працы налад, трэба перазагрузіць міні-кампутар камандай: sudo reboot

Этап 1: усталёўка і наладка ПЗ motion-mmal, наладка і запуск анлайн трансляцыі ў межах VLAN

На пачатку першага этапа працы, была ўсталявана модуль-камера Raspberry Pi у патрэбны слот на плаце міні-кампутара (слот знаходзіцца блізка да парта HDMI ды падпісаны як camera). Пасля трэба ўключыць модуль-камеру праз меню, каманда: sudo raspi-config (раздзел Interfacing Options). Міні-кампутар трэба перазагрузіць.

Для стабільнай працы ПЗ motion-mmal трэба ўсталяваць патрэбныя бібліятэкі: sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

Пасля было сцягнута ды ўсталявана само ПЗ: wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz , распакоўваем камандай tar zxvf motion-mmal.tar.gz

Цяпер усталёўваем Motion: sudo apt-get install motion

У дакуменце motion-mmalcam.conf трэба зрабіць і захваць патрэбныя налады. Каманда праэкта зрабіла наступныя змены (далей ідуць радкі са зменамі):

  • daemon on
  • framerate=1000
  • width=720
  • height480
  • quality=80
  • post_capture=5
  • Stream_port=1233
  • Stream_quality=80
  • Stream_localhost=off
  • webcontrol_localhost=off

Для якаснай працы ПЗ і камеры былі ўсталяваны драйвера на модуль: sudo modprobe bcm2835-v4l2 . Ды дадан радок bcm2835-v4l2 у дакумент /etc/modules .

Для пачатку працы было перазагружана ПЗ і дэвайс: sudo service motion restart

Для запуска анлайн трансляцыі ў межах VLAN трэба далучыцца і выканаць каманду: sudo motion

Дасяг да анлайн стрымінга можна атрымаць праз браўзер, па адрасе: http://[IP-адрас Raspberry Pi]:[порт прапісаны ў наладах ПЗ motion]

Этап 2: далучэнне датчыка руху да платы міні-кампутара і тэст датчыка

Далучэнне датчыка руху

Датчык мае некалькі пінаў адзін з якіх яўляецца "+" пітання(VCC), другі "зямлёй"(GND), а трэцці ціфравым каналам данных (Output). Па-першае патрэбна фiзічна падключыць датчык да "малінкі". Для гэтага патрэбна на піны GPIO "малінкі" падключыць датчык у наступная паслядоўнасці: на другі пін накідваецца пітанне (VCC), на шосты зямля (GND), а правадок выхада (Output) патрэбна падключыць да сёмага піна. А па другое трэба разгарнуць тэрмінал і пратэсціць.

Тэста датчыка руху

Як было напісана ў папярэднім пункце, мы павінны разгарнуць тэрмінал. А потым зрабіць файл у які будзе запісаны наш скрыпт, кіруючы сувяззю датчыка з "малінкаю". Для гэтага прапісваем nano +*назва файла*. Потым у перамясціўшыся ў рэдактар прапісваем там наступны скрыпт:

        import time              # імпартуем бібліятэку "тайм".
        from gpiozero import MotionSensor # Імпартуем бібліятэку датчыка руху.
        pir = MotionSensor(4)    # задаем іменна такі парметр для нашага датчыка.
        while True:              # пачынаем цыкл з умовай.
        if pir.motion_detected:  # прапісваем умову на вынік абнаружэння датчыкам чаго-небудзь.
        print('Motion detected') # выводзіцца  паведамленне у тэрмінал.
        time.sleep(10)           # датчык адключаецца на 10 секунд. 

пасля захоўваем гэты скрыпт з пашырэннем " .ру ".

Карысныя спасылкі

Адказны

Аддказны за праэкт - Chec Saup - ён еблан