Raspberry Pi + давач руху HC-SR501 (PIR). Запис у базу даних та WEB відображення фактів руху

Вітаю вас на моєму блозі! 🙂 Колись ми вже здійснювали підключення даного давача (HC-SR501) до Arduino. Сьогодні мова піде про те, як реалізувати подібне (і навіть більше 😉 ) з Raspberry Pi.

PIR
Рисунок 1 – Зовнішній вигляд давача HC-SR501

Даний давач має 3 виводи: +5V (живлення +), Ground (земля) і OUT (інформаційний).

Підключимо давач таким чином

pir_module_circuit_1

Нумерація GPIO пінів на Raspberry Pi

gpio

Нижче наведений Python-скрипт для Raspberry Pi, який буде зчитувати покази давача руху і, при виникненні руху, відображатиме це на дисплеї комп’ютера та вмикатиме червоний світлодіод Raspberry Pi (GPIO 8). Також факт руху буде записано у MySQL базу даних, а десять останніх записів відображатимуться на веб-сторінці php-скриптом. Важливо! Можна використовувати як зовнішній хостинг і базу даних, так і встановити веб-сервер і сервер баз даних на самій Raspberry Pi. У БД необхідно створити таблицю з двома полями (motion з типом varchar(20) і поле datetime з типом datetime і зробити це поле первинним ключем). Наші записи будуть сортуватися по даті таким чином, що php-скрипт буде витягати 10 останніх записів.

rpi2

Надважливо! Python дуже вибагливий до правильної табуляції! Будьте уважні й не змінюйте в коді програми відстані зліва від коду (абзаци), інакше отримаєте букет помилок 😉

2014-12-26 19.53.44

Наберіть у терміналі команду
nano /usr/local/bin/motion.py
І скопіюйте або наберіть вміст даного Python-скрипта

Після внесення змін збережемо файл (CTRL O + Enter) та закриємо його (CTRL X).
Запускаємо наш скрипт в терміналі:
sudo python motion.py
Тепер, якщо все підключено правильно, ми побачимо повідомлення про факт руху в терміналі:

rpi1

Плюс наш червоний світлодіод засвічується на 5 секунд, а інформація про те, що було зафіксовано рух і про точний час пишеться у БД. Зупинити скрипт можна комбінацією CTRL X.

Тепер розглянемо php-скрипт, який дістає інформацію про 10 останніх фактів руху і відображає це все діло гарненько на веб сторінці. Сам скрипт ТУТ
Результат роботи скрипта на рисунку

rpi3

Можна глянути ТУТ
От, в принципі, ніби й все. Якщо щось не зрозуміло, питайте 😉

Оставить ответ

Обязательные поля помечены*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.